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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.65 - (show annotations) (download)
Sun Jul 2 06:52:43 2006 UTC (8 years, 1 month ago) by vapier
Branch: MAIN
Changes since 1.64: +4 -1 lines
add a notice when user overrides settings

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.64 2006/04/21 00:59:05 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 inherit cvs
48 elif [[ ${PV/.200[3-9][0-1][0-9][0-3][0-9]/} != ${PV} ]] ; then
49 ECVS_STATE="snap"
50 elif [[ ${PV%%.[0-9][0-9][0-9]} != ${PV} ]] ; then
51 ECVS_STATE="snap"
52 EURI_STATE="release"
53 fi
54
55 DESCRIPTION="A DR17 production"
56 HOMEPAGE="http://www.enlightenment.org/"
57 case ${EURI_STATE:-${ECVS_STATE}} in
58 release) SRC_URI="http://enlightenment.freedesktop.org/files/${P}.tar.gz mirror://sourceforge/enlightenment/${P}.tar.gz";;
59 snap) SRC_URI="mirror://gentoo/${P}.tar.bz2";;
60 live) SRC_URI="";;
61 esac
62
63 LICENSE="BSD"
64 SLOT="0"
65 case ${EKEY_STATE:-${ECVS_STATE}} in
66 release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sh sparc x86";;
67 snap) KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86";;
68 live) KEYWORDS="-*";;
69 esac
70 IUSE="nls doc"
71
72 DEPEND="doc? ( app-doc/doxygen )"
73 RDEPEND="nls? ( sys-devel/gettext )"
74
75 case ${EURI_STATE:-${ECVS_STATE}} in
76 release) S=${WORKDIR}/${P};;
77 snap) S=${WORKDIR}/${PN};;
78 live) S=${WORKDIR}/${ECVS_MODULE};;
79 esac
80
81 enlightenment_warning_msg() {
82 if [[ -n ${E17_ECVS_SERVER} ]] ; then
83 einfo "Using user cvs server: ${E17_ECVS_SERVER}"
84 fi
85 if [[ ${ECVS_STATE} == "snap" ]] ; then
86 ewarn "Please do not contact the E team about bugs in Gentoo."
87 ewarn "Only contact vapier@gentoo.org via e-mail or bugzilla."
88 ewarn "Remember, this stuff is CVS only code so dont cry when"
89 ewarn "I break you :)."
90 elif [[ ${ECVS_STATE} == "live" ]] ; then
91 eerror "This is a LIVE CVS ebuild."
92 eerror "That means there are NO promises it will work."
93 eerror "If it fails to build, FIX THE CODE YOURSELF"
94 eerror "before reporting any issues."
95 fi
96 }
97
98 enlightenment_die() {
99 enlightenment_warning_msg
100 die "$@"$'\n'"!!! SEND BUG REPORTS TO vapier@gentoo.org NOT THE E TEAM"
101 }
102
103 enlightenment_pkg_setup() {
104 enlightenment_warning_msg
105 }
106
107 # the stupid gettextize script prevents non-interactive mode, so we hax it
108 gettext_modify() {
109 use nls || return 0
110 cp $(which gettextize) "${T}"/ || die "could not copy gettextize"
111 sed -i \
112 -e 's:read dummy < /dev/tty::' \
113 "${T}"/gettextize
114 }
115
116 enlightenment_src_unpack() {
117 if [[ ${ECVS_STATE} == "live" ]] ; then
118 cvs_src_unpack
119 else
120 unpack ${A}
121 fi
122 gettext_modify
123 [[ -s gendoc ]] && chmod a+rx gendoc
124 }
125
126 enlightenment_src_compile() {
127 # gstreamer sucks, work around it doing stupid stuff
128 export GST_REGISTRY="${S}/registry.xml"
129
130 if [[ ! -e configure ]] ; then
131 export WANT_AUTOMAKE=${EAUTOMAKE:-1.8}
132 env \
133 PATH="${T}:${PATH}" \
134 NOCONFIGURE=yes \
135 USER=blah \
136 ./autogen.sh \
137 || enlightenment_die "autogen failed"
138 # symlinked files will cause sandbox violation
139 for x in config.{guess,sub} ; do
140 [[ ! -L ${x} ]] && continue
141 rm -f ${x}
142 touch ${x}
143 done
144 if [[ ! -z ${EHACKLIBLTDL} ]] ; then
145 cd libltdl
146 autoconf || enlightenment_die "autogen in libltdl failed"
147 cd ..
148 fi
149 fi
150 epunt_cxx
151 elibtoolize
152 econf ${MY_ECONF} || enlightenment_die "econf failed"
153 emake || enlightenment_die "emake failed"
154 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
155 }
156
157 enlightenment_src_install() {
158 make install DESTDIR="${D}" || enlightenment_die
159 find "${D}" -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null
160 dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS}
161 use doc && [[ -d doc ]] && dohtml -r doc/*
162 }
163
164 enlightenment_pkg_postinst() {
165 enlightenment_warning_msg
166 }

  ViewVC Help
Powered by ViewVC 1.1.20