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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


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

1 vapier 1.60 # Copyright 1999-2006 Gentoo Foundation
2 vapier 1.1 # Distributed under the terms of the GNU General Public License v2
3 vapier 1.68 # $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.67 2006/11/04 10:14:35 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.55 # 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 vapier 1.3 EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst
31 vapier 1.2
32 vapier 1.62 #E17_DEFAULT_CVS="cvs.sourceforge.net:/cvsroot/enlightenment"
33     E17_DEFAULT_CVS="anoncvs.enlightenment.org:/var/cvs/e"
34    
35 vapier 1.23 ECVS_STATE="release"
36 vapier 1.38 if [[ ${PV/9999} != ${PV} ]] ; then
37     if [[ -z ${ECVS_MODULE} ]] ; then
38 vapier 1.41 ECVS_MODULE=${PN}
39 vapier 1.38 if [[ ${CATEGORY/libs} != ${CATEGORY} ]] ; then
40 vapier 1.27 ECVS_MODULE="e17/libs/${PN}"
41     else
42     ECVS_MODULE="e17/apps/${PN}"
43     fi
44     fi
45 vapier 1.62 ECVS_SERVER=${E17_ECVS_SERVER:-${ECVS_SERVER:-${E17_DEFAULT_CVS}}}
46 vapier 1.23 ECVS_STATE="live"
47 vapier 1.68 WANT_AUTOTOOLS="yes"
48     inherit cvs
49 vapier 1.55 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 vapier 1.23 ECVS_STATE="snap"
53 vapier 1.55 EURI_STATE="release"
54 vapier 1.21 fi
55 vapier 1.68 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 vapier 1.21
61 vapier 1.2 DESCRIPTION="A DR17 production"
62 vapier 1.1 HOMEPAGE="http://www.enlightenment.org/"
63 vapier 1.55 case ${EURI_STATE:-${ECVS_STATE}} in
64 vapier 1.42 release) SRC_URI="http://enlightenment.freedesktop.org/files/${P}.tar.gz mirror://sourceforge/enlightenment/${P}.tar.gz";;
65 vapier 1.23 snap) SRC_URI="mirror://gentoo/${P}.tar.bz2";;
66     live) SRC_URI="";;
67     esac
68 vapier 1.1
69 vapier 1.10 LICENSE="BSD"
70 vapier 1.2 SLOT="0"
71 vapier 1.43 case ${EKEY_STATE:-${ECVS_STATE}} in
72 vapier 1.59 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 vapier 1.28 live) KEYWORDS="-*";;
75     esac
76 vapier 1.6 IUSE="nls doc"
77 vapier 1.1
78 vapier 1.35 DEPEND="doc? ( app-doc/doxygen )"
79 vapier 1.11 RDEPEND="nls? ( sys-devel/gettext )"
80 vapier 1.1
81 vapier 1.55 case ${EURI_STATE:-${ECVS_STATE}} in
82 vapier 1.27 release) S=${WORKDIR}/${P};;
83     snap) S=${WORKDIR}/${PN};;
84     live) S=${WORKDIR}/${ECVS_MODULE};;
85 vapier 1.23 esac
86 vapier 1.2
87 vapier 1.3 enlightenment_warning_msg() {
88 vapier 1.65 if [[ -n ${E17_ECVS_SERVER} ]] ; then
89     einfo "Using user cvs server: ${E17_ECVS_SERVER}"
90     fi
91 vapier 1.44 if [[ ${ECVS_STATE} == "snap" ]] ; then
92 vapier 1.3 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 vapier 1.44 elif [[ ${ECVS_STATE} == "live" ]] ; then
97 vapier 1.36 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 vapier 1.3 fi
102     }
103    
104 vapier 1.16 enlightenment_die() {
105     enlightenment_warning_msg
106     die "$@"$'\n'"!!! SEND BUG REPORTS TO vapier@gentoo.org NOT THE E TEAM"
107     }
108    
109 vapier 1.3 enlightenment_pkg_setup() {
110     enlightenment_warning_msg
111     }
112    
113 vapier 1.1 # the stupid gettextize script prevents non-interactive mode, so we hax it
114     gettext_modify() {
115     use nls || return 0
116 vapier 1.44 cp $(which gettextize) "${T}"/ || die "could not copy gettextize"
117     sed -i \
118     -e 's:read dummy < /dev/tty::' \
119     "${T}"/gettextize
120 vapier 1.2 }
121    
122     enlightenment_src_unpack() {
123 vapier 1.38 if [[ ${ECVS_STATE} == "live" ]] ; then
124 vapier 1.30 cvs_src_unpack
125     else
126     unpack ${A}
127     fi
128 vapier 1.2 gettext_modify
129 vapier 1.47 [[ -s gendoc ]] && chmod a+rx gendoc
130 vapier 1.2 }
131    
132     enlightenment_src_compile() {
133 vapier 1.64 # gstreamer sucks, work around it doing stupid stuff
134     export GST_REGISTRY="${S}/registry.xml"
135    
136 vapier 1.56 if [[ ! -e configure ]] ; then
137 vapier 1.23 env \
138     PATH="${T}:${PATH}" \
139     NOCONFIGURE=yes \
140     USER=blah \
141     ./autogen.sh \
142     || enlightenment_die "autogen failed"
143 vapier 1.48 # symlinked files will cause sandbox violation
144 vapier 1.66 local x
145 vapier 1.48 for x in config.{guess,sub} ; do
146     [[ ! -L ${x} ]] && continue
147     rm -f ${x}
148     touch ${x}
149     done
150 vapier 1.68 elif [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
151     eautoreconf
152 vapier 1.4 fi
153 vapier 1.39 epunt_cxx
154 flameeyes 1.63 elibtoolize
155 vapier 1.16 econf ${MY_ECONF} || enlightenment_die "econf failed"
156     emake || enlightenment_die "emake failed"
157 vapier 1.38 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
158 vapier 1.2 }
159    
160     enlightenment_src_install() {
161 vapier 1.55 make install DESTDIR="${D}" || enlightenment_die
162     find "${D}" -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null
163 vapier 1.9 dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS}
164 vapier 1.38 use doc && [[ -d doc ]] && dohtml -r doc/*
165 vapier 1.3 }
166    
167     enlightenment_pkg_postinst() {
168     enlightenment_warning_msg
169 vapier 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20