/[gentoo-x86]/eclass/enlightenment.eclass
Gentoo

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.68 - (show annotations) (download)
Wed Nov 8 07:24:41 2006 UTC (7 years, 8 months ago) by vapier
Branch: MAIN
Changes since 1.67: +10 -4 lines
allow ebuilds to force autotool regen

1 # Copyright 1999-2006 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.67 2006/11/04 10:14:35 vapier Exp $
4 #
5 # Author: vapier@gentoo.org
6
7 inherit eutils libtool
8
9 # ECVS_STATE's:
10 # release [default]
11 # KEYWORDS arch
12 # SRC_URI $P.tar.gz
13 # S $WORKDIR/$P
14 #
15 # snap $PV has .200##### datestamp or .### counter
16 # KEYWORDS ~arch
17 # SRC_URI $P.tar.bz2
18 # S $WORKDIR/$P
19 #
20 # live $PV has a 9999 marker
21 # KEYWORDS -*
22 # SRC_URI `cvs up`
23 # S $WORKDIR/$ECVS_MODULE
24 #
25 # Overrides:
26 # KEYWORDS EKEY_STATE
27 # SRC_URI EURI_STATE
28 # S EURI_STATE
29
30 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst
31
32 #E17_DEFAULT_CVS="cvs.sourceforge.net:/cvsroot/enlightenment"
33 E17_DEFAULT_CVS="anoncvs.enlightenment.org:/var/cvs/e"
34
35 ECVS_STATE="release"
36 if [[ ${PV/9999} != ${PV} ]] ; then
37 if [[ -z ${ECVS_MODULE} ]] ; then
38 ECVS_MODULE=${PN}
39 if [[ ${CATEGORY/libs} != ${CATEGORY} ]] ; then
40 ECVS_MODULE="e17/libs/${PN}"
41 else
42 ECVS_MODULE="e17/apps/${PN}"
43 fi
44 fi
45 ECVS_SERVER=${E17_ECVS_SERVER:-${ECVS_SERVER:-${E17_DEFAULT_CVS}}}
46 ECVS_STATE="live"
47 WANT_AUTOTOOLS="yes"
48 inherit cvs
49 elif [[ ${PV/.200[3-9][0-1][0-9][0-3][0-9]/} != ${PV} ]] ; then
50 ECVS_STATE="snap"
51 elif [[ ${PV%%.[0-9][0-9][0-9]} != ${PV} ]] ; then
52 ECVS_STATE="snap"
53 EURI_STATE="release"
54 fi
55 if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
56 WANT_AUTOCONF=${E17_WANT_AUTOCONF:-latest}
57 WANT_AUTOMAKE=${E17_WANT_AUTOMAKE:-latest}
58 inherit autotools
59 fi
60
61 DESCRIPTION="A DR17 production"
62 HOMEPAGE="http://www.enlightenment.org/"
63 case ${EURI_STATE:-${ECVS_STATE}} in
64 release) SRC_URI="http://enlightenment.freedesktop.org/files/${P}.tar.gz mirror://sourceforge/enlightenment/${P}.tar.gz";;
65 snap) SRC_URI="mirror://gentoo/${P}.tar.bz2";;
66 live) SRC_URI="";;
67 esac
68
69 LICENSE="BSD"
70 SLOT="0"
71 case ${EKEY_STATE:-${ECVS_STATE}} in
72 release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86";;
73 snap) KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86";;
74 live) KEYWORDS="-*";;
75 esac
76 IUSE="nls doc"
77
78 DEPEND="doc? ( app-doc/doxygen )"
79 RDEPEND="nls? ( sys-devel/gettext )"
80
81 case ${EURI_STATE:-${ECVS_STATE}} in
82 release) S=${WORKDIR}/${P};;
83 snap) S=${WORKDIR}/${PN};;
84 live) S=${WORKDIR}/${ECVS_MODULE};;
85 esac
86
87 enlightenment_warning_msg() {
88 if [[ -n ${E17_ECVS_SERVER} ]] ; then
89 einfo "Using user cvs server: ${E17_ECVS_SERVER}"
90 fi
91 if [[ ${ECVS_STATE} == "snap" ]] ; then
92 ewarn "Please do not contact the E team about bugs in Gentoo."
93 ewarn "Only contact vapier@gentoo.org via e-mail or bugzilla."
94 ewarn "Remember, this stuff is CVS only code so dont cry when"
95 ewarn "I break you :)."
96 elif [[ ${ECVS_STATE} == "live" ]] ; then
97 eerror "This is a LIVE CVS ebuild."
98 eerror "That means there are NO promises it will work."
99 eerror "If it fails to build, FIX THE CODE YOURSELF"
100 eerror "before reporting any issues."
101 fi
102 }
103
104 enlightenment_die() {
105 enlightenment_warning_msg
106 die "$@"$'\n'"!!! SEND BUG REPORTS TO vapier@gentoo.org NOT THE E TEAM"
107 }
108
109 enlightenment_pkg_setup() {
110 enlightenment_warning_msg
111 }
112
113 # the stupid gettextize script prevents non-interactive mode, so we hax it
114 gettext_modify() {
115 use nls || return 0
116 cp $(which gettextize) "${T}"/ || die "could not copy gettextize"
117 sed -i \
118 -e 's:read dummy < /dev/tty::' \
119 "${T}"/gettextize
120 }
121
122 enlightenment_src_unpack() {
123 if [[ ${ECVS_STATE} == "live" ]] ; then
124 cvs_src_unpack
125 else
126 unpack ${A}
127 fi
128 gettext_modify
129 [[ -s gendoc ]] && chmod a+rx gendoc
130 }
131
132 enlightenment_src_compile() {
133 # gstreamer sucks, work around it doing stupid stuff
134 export GST_REGISTRY="${S}/registry.xml"
135
136 if [[ ! -e configure ]] ; then
137 env \
138 PATH="${T}:${PATH}" \
139 NOCONFIGURE=yes \
140 USER=blah \
141 ./autogen.sh \
142 || enlightenment_die "autogen failed"
143 # symlinked files will cause sandbox violation
144 local x
145 for x in config.{guess,sub} ; do
146 [[ ! -L ${x} ]] && continue
147 rm -f ${x}
148 touch ${x}
149 done
150 elif [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
151 eautoreconf
152 fi
153 epunt_cxx
154 elibtoolize
155 econf ${MY_ECONF} || enlightenment_die "econf failed"
156 emake || enlightenment_die "emake failed"
157 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
158 }
159
160 enlightenment_src_install() {
161 make install DESTDIR="${D}" || enlightenment_die
162 find "${D}" -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null
163 dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS}
164 use doc && [[ -d doc ]] && dohtml -r doc/*
165 }
166
167 enlightenment_pkg_postinst() {
168 enlightenment_warning_msg
169 }

  ViewVC Help
Powered by ViewVC 1.1.20