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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.74 - (show annotations) (download)
Sun Nov 30 03:18:30 2008 UTC (6 years, 1 month ago) by vapier
Branch: MAIN
Changes since 1.73: +4 -1 lines
pull in dev-util/cvs for live ebuilds as gettext (autopoint) needs it #245073 by Thomas Kuther

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

  ViewVC Help
Powered by ViewVC 1.1.20