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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.59 - (show annotations) (download)
Sat Dec 31 11:45:54 2005 UTC (8 years, 8 months ago) by vapier
Branch: MAIN
Changes since 1.58: +3 -3 lines
sh love

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

  ViewVC Help
Powered by ViewVC 1.1.20