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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.82 - (show annotations) (download)
Tue Mar 23 19:41:53 2010 UTC (4 years, 5 months ago) by abcd
Branch: MAIN
Changes since 1.81: +4 -4 lines
Add prefix keywords for enlightenment

1 # Copyright 1999-2010 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.81 2010/02/28 10:52:06 tommy 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/${ESVN_SUB_PROJECT}"
49 ESVN_REPO_URI=${ESVN_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}}/${ESVN_SUB_PROJECT}/${ESVN_URI_APPEND}
50 E_S_APPEND=${ESVN_URI_APPEND}
51 E_LIVE_SOURCE="svn"
52 inherit subversion
53 fi
54 elif [[ -n ${E_SNAP_DATE} ]] ; then
55 E_STATE="snap"
56 else
57 E_STATE="release"
58 fi
59 if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
60 WANT_AUTOCONF=${E_WANT_AUTOCONF:-latest}
61 WANT_AUTOMAKE=${E_WANT_AUTOMAKE:-latest}
62 inherit autotools
63 fi
64
65 ENLIGHTENMENT_EXPF="pkg_setup src_unpack src_compile src_install pkg_postinst"
66 case "${EAPI:-0}" in
67 2|3|4) ENLIGHTENMENT_EXPF+=" src_prepare src_configure" ;;
68 *) ;;
69 esac
70 EXPORT_FUNCTIONS ${ENLIGHTENMENT_EXPF}
71
72 DESCRIPTION="A DR17 production"
73 HOMEPAGE="http://www.enlightenment.org/"
74 case ${EURI_STATE:-${E_STATE}} in
75 release) SRC_URI="mirror://sourceforge/enlightenment/${P}.tar.gz";;
76 snap) SRC_URI="http://download.enlightenment.org/snapshots/${E_SNAP_DATE}/${P}.tar.bz2";;
77 live) SRC_URI="";;
78 esac
79
80 LICENSE="BSD"
81 SLOT="0"
82 case ${EKEY_STATE:-${E_STATE}} in
83 release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-interix ~x86-solaris ~x64-solaris";;
84 snap) KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-interix ~x86-solaris ~x64-solaris";;
85 live) KEYWORDS="";;
86 esac
87 IUSE="nls doc"
88
89 DEPEND="doc? ( app-doc/doxygen )"
90 RDEPEND="nls? ( sys-devel/gettext )"
91
92 # gettext (via `autopoint`) needs to run cvs #245073
93 [[ ${E_STATE} == "live" ]] && DEPEND="${DEPEND} dev-util/cvs"
94
95 case ${EURI_STATE:-${E_STATE}} in
96 release) S=${WORKDIR}/${P};;
97 snap) S=${WORKDIR}/${P};;
98 live) S=${WORKDIR}/${E_S_APPEND};;
99 esac
100
101 enlightenment_warning_msg() {
102 if [[ -n ${E_LIVE_SERVER} ]] ; then
103 einfo "Using user server for live sources: ${E_LIVE_SERVER}"
104 fi
105 if [[ ${E_STATE} == "snap" ]] ; then
106 ewarn "Please do not contact the E team about bugs in Gentoo."
107 ewarn "Only contact enlightenment@gentoo.org via e-mail or bugzilla."
108 ewarn "Remember, this stuff is DEV only code so dont cry when"
109 ewarn "I break you :)."
110 elif [[ ${E_STATE} == "live" ]] ; then
111 eerror "This is a LIVE SOURCES ebuild."
112 eerror "That means there are NO promises it will work."
113 eerror "If it fails to build, FIX THE CODE YOURSELF"
114 eerror "before reporting any issues."
115 fi
116 }
117
118 enlightenment_die() {
119 enlightenment_warning_msg
120 die "$@"$'\n'"!!! SEND BUG REPORTS TO enlightenment@gentoo.org NOT THE E TEAM"
121 }
122
123 enlightenment_pkg_setup() {
124 : enlightenment_warning_msg
125 }
126
127 enlightenment_src_unpack() {
128 if [[ ${E_STATE} == "live" ]] ; then
129 case ${E_LIVE_SOURCE} in
130 cvs) cvs_src_unpack;;
131 svn) subversion_src_unpack;;
132 *) die "eek!";;
133 esac
134 else
135 unpack ${A}
136 fi
137 hasq src_prepare ${ENLIGHTENMENT_EXPF} || enlightenment_src_prepare
138 }
139
140 enlightenment_src_prepare() {
141 [[ -s gendoc ]] && chmod a+rx gendoc
142 if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
143 [[ -d po ]] && eautopoint -f
144 # autotools require README, when README.in is around, but README
145 # is created later in configure step
146 [[ -f README.in ]] && touch README
147 eautoreconf
148 fi
149 epunt_cxx
150 elibtoolize
151 }
152
153 enlightenment_src_configure() {
154 # gstreamer sucks, work around it doing stupid stuff
155 export GST_REGISTRY="${S}/registry.xml"
156
157 econf ${MY_ECONF}
158 }
159
160 enlightenment_src_compile() {
161 hasq src_configure ${ENLIGHTENMENT_EXPF} || enlightenment_src_configure
162 emake || enlightenment_die "emake failed"
163 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
164 }
165
166 enlightenment_src_install() {
167 emake install DESTDIR="${D}" || enlightenment_die
168 find "${D}" '(' -name CVS -o -name .svn -o -name .git ')' -type d -exec rm -rf '{}' \; 2>/dev/null
169 for d in AUTHORS ChangeLog NEWS README TODO ${EDOCS}; do
170 [[ -f ${d} ]] && dodoc ${d}
171 done
172 use doc && [[ -d doc ]] && dohtml -r doc/*
173 }
174
175 enlightenment_pkg_postinst() {
176 : enlightenment_warning_msg
177 }

  ViewVC Help
Powered by ViewVC 1.1.20