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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.81 - (hide annotations) (download)
Sun Feb 28 10:52:06 2010 UTC (4 years, 6 months ago) by tommy
Branch: MAIN
Changes since 1.80: +27 -33 lines
Update enlightenment eclass as discussed on enlightenment alias

1 vapier 1.73 # Copyright 1999-2008 Gentoo Foundation
2 vapier 1.1 # Distributed under the terms of the GNU General Public License v2
3 tommy 1.81 # $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.80 2009/03/07 22:28:16 vapier Exp $
4 vapier 1.1 #
5     # Author: vapier@gentoo.org
6    
7 flameeyes 1.63 inherit eutils libtool
8 vapier 1.39
9 vapier 1.73 # E_STATE's:
10 vapier 1.55 # 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 vapier 1.72 # KEYWORDS ""
22 vapier 1.73 # SRC_URI cvs/svn/etc... up
23     # S $WORKDIR/$E_S_APPEND
24 vapier 1.55 #
25     # Overrides:
26     # KEYWORDS EKEY_STATE
27     # SRC_URI EURI_STATE
28     # S EURI_STATE
29    
30 vapier 1.73 #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 vapier 1.62
34 vapier 1.73 E_STATE="release"
35 vapier 1.38 if [[ ${PV/9999} != ${PV} ]] ; then
36 vapier 1.73 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 vapier 1.76 ESVN_PROJECT="enlightenment/${ESVN_SUB_PROJECT}"
49     ESVN_REPO_URI=${ESVN_SERVER:-${E_LIVE_SERVER_DEFAULT_SVN}}/${ESVN_SUB_PROJECT}/${ESVN_URI_APPEND}
50 vapier 1.73 E_S_APPEND=${ESVN_URI_APPEND}
51     E_LIVE_SOURCE="svn"
52     inherit subversion
53 vapier 1.27 fi
54 vapier 1.75 elif [[ -n ${E_SNAP_DATE} ]] ; then
55 vapier 1.73 E_STATE="snap"
56 vapier 1.75 else
57     E_STATE="release"
58 vapier 1.21 fi
59 vapier 1.68 if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
60 vapier 1.73 WANT_AUTOCONF=${E_WANT_AUTOCONF:-latest}
61     WANT_AUTOMAKE=${E_WANT_AUTOMAKE:-latest}
62 vapier 1.68 inherit autotools
63     fi
64 vapier 1.21
65 tommy 1.81 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 vapier 1.2 DESCRIPTION="A DR17 production"
73 vapier 1.1 HOMEPAGE="http://www.enlightenment.org/"
74 vapier 1.73 case ${EURI_STATE:-${E_STATE}} in
75 vapier 1.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 vapier 1.23 live) SRC_URI="";;
78     esac
79 vapier 1.1
80 vapier 1.10 LICENSE="BSD"
81 vapier 1.2 SLOT="0"
82 vapier 1.73 case ${EKEY_STATE:-${E_STATE}} in
83 uberlord 1.69 release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86 ~x86-fbsd";;
84     snap) KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd";;
85 vapier 1.72 live) KEYWORDS="";;
86 vapier 1.28 esac
87 vapier 1.6 IUSE="nls doc"
88 vapier 1.1
89 vapier 1.35 DEPEND="doc? ( app-doc/doxygen )"
90 vapier 1.11 RDEPEND="nls? ( sys-devel/gettext )"
91 vapier 1.1
92 vapier 1.74 # gettext (via `autopoint`) needs to run cvs #245073
93     [[ ${E_STATE} == "live" ]] && DEPEND="${DEPEND} dev-util/cvs"
94    
95 vapier 1.73 case ${EURI_STATE:-${E_STATE}} in
96 vapier 1.27 release) S=${WORKDIR}/${P};;
97 vapier 1.75 snap) S=${WORKDIR}/${P};;
98 vapier 1.73 live) S=${WORKDIR}/${E_S_APPEND};;
99 vapier 1.23 esac
100 vapier 1.2
101 vapier 1.3 enlightenment_warning_msg() {
102 vapier 1.73 if [[ -n ${E_LIVE_SERVER} ]] ; then
103     einfo "Using user server for live sources: ${E_LIVE_SERVER}"
104 vapier 1.65 fi
105 vapier 1.73 if [[ ${E_STATE} == "snap" ]] ; then
106 vapier 1.3 ewarn "Please do not contact the E team about bugs in Gentoo."
107 pva 1.78 ewarn "Only contact enlightenment@gentoo.org via e-mail or bugzilla."
108 vapier 1.73 ewarn "Remember, this stuff is DEV only code so dont cry when"
109 vapier 1.3 ewarn "I break you :)."
110 vapier 1.73 elif [[ ${E_STATE} == "live" ]] ; then
111     eerror "This is a LIVE SOURCES ebuild."
112 vapier 1.36 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 vapier 1.3 fi
116     }
117    
118 vapier 1.16 enlightenment_die() {
119     enlightenment_warning_msg
120 pva 1.78 die "$@"$'\n'"!!! SEND BUG REPORTS TO enlightenment@gentoo.org NOT THE E TEAM"
121 vapier 1.16 }
122    
123 vapier 1.3 enlightenment_pkg_setup() {
124 vapier 1.80 : enlightenment_warning_msg
125 vapier 1.3 }
126    
127 vapier 1.2 enlightenment_src_unpack() {
128 vapier 1.73 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 vapier 1.30 else
135     unpack ${A}
136     fi
137 tommy 1.81 hasq src_prepare ${ENLIGHTENMENT_EXPF} || enlightenment_src_prepare
138     }
139    
140     enlightenment_src_prepare() {
141 vapier 1.47 [[ -s gendoc ]] && chmod a+rx gendoc
142 tommy 1.81 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 vapier 1.2 }
152    
153 tommy 1.81 enlightenment_src_configure() {
154 vapier 1.64 # gstreamer sucks, work around it doing stupid stuff
155     export GST_REGISTRY="${S}/registry.xml"
156    
157 tommy 1.81 econf ${MY_ECONF}
158     }
159    
160     enlightenment_src_compile() {
161     hasq src_configure ${ENLIGHTENMENT_EXPF} || enlightenment_src_configure
162 vapier 1.16 emake || enlightenment_die "emake failed"
163 vapier 1.38 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
164 vapier 1.2 }
165    
166     enlightenment_src_install() {
167 vapier 1.70 emake install DESTDIR="${D}" || enlightenment_die
168 vapier 1.73 find "${D}" '(' -name CVS -o -name .svn -o -name .git ')' -type d -exec rm -rf '{}' \; 2>/dev/null
169 pva 1.79 for d in AUTHORS ChangeLog NEWS README TODO ${EDOCS}; do
170     [[ -f ${d} ]] && dodoc ${d}
171     done
172 vapier 1.38 use doc && [[ -d doc ]] && dohtml -r doc/*
173 vapier 1.3 }
174    
175     enlightenment_pkg_postinst() {
176 vapier 1.80 : enlightenment_warning_msg
177 vapier 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20