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

Diff of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.7 Revision 1.82
1# Copyright 1999-2003 Gentoo Technologies, Inc. 1# Copyright 1999-2010 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.7 2003/12/02 02:54:18 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.82 2010/03/23 19:41:53 abcd Exp $
4# 4#
5# Author: vapier@gentoo.org 5# Author: vapier@gentoo.org
6 6
7ECLASS=enlightenment 7inherit eutils libtool
8INHERITED="$INHERITED $ECLASS"
9 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"
31E_LIVE_SERVER_DEFAULT_CVS="anoncvs.enlightenment.org:/var/cvs/e"
32E_LIVE_SERVER_DEFAULT_SVN="http://svn.enlightenment.org/svn/e/trunk"
33
34E_STATE="release"
35if [[ ${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
54elif [[ -n ${E_SNAP_DATE} ]] ; then
55 E_STATE="snap"
56else
57 E_STATE="release"
58fi
59if [[ ${WANT_AUTOTOOLS} == "yes" ]] ; then
60 WANT_AUTOCONF=${E_WANT_AUTOCONF:-latest}
61 WANT_AUTOMAKE=${E_WANT_AUTOMAKE:-latest}
62 inherit autotools
63fi
64
10EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst 65ENLIGHTENMENT_EXPF="pkg_setup src_unpack src_compile src_install pkg_postinst"
66case "${EAPI:-0}" in
67 2|3|4) ENLIGHTENMENT_EXPF+=" src_prepare src_configure" ;;
68 *) ;;
69esac
70EXPORT_FUNCTIONS ${ENLIGHTENMENT_EXPF}
11 71
12DESCRIPTION="A DR17 production" 72DESCRIPTION="A DR17 production"
13HOMEPAGE="http://www.enlightenment.org/" 73HOMEPAGE="http://www.enlightenment.org/"
14SRC_URI="mirror://gentoo/${P}.tar.bz2 74case ${EURI_STATE:-${E_STATE}} in
15 http://wh0rd.de/gentoo/distfiles/${P}.tar.bz2" 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="";;
78esac
16 79
17LICENSE="as-is" 80LICENSE="BSD"
18SLOT="0" 81SLOT="0"
19KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64" 82case ${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="";;
86esac
20IUSE="nls doc" 87IUSE="nls doc"
21 88
22newdepend "doc? ( app-doc/doxygen )" 89DEPEND="doc? ( app-doc/doxygen )"
23newrdepend "nls? ( sys-devel/gettext )" 90RDEPEND="nls? ( sys-devel/gettext )"
24 91
25S=${WORKDIR}/${PN} 92# gettext (via `autopoint`) needs to run cvs #245073
93[[ ${E_STATE} == "live" ]] && DEPEND="${DEPEND} dev-util/cvs"
94
95case ${EURI_STATE:-${E_STATE}} in
96 release) S=${WORKDIR}/${P};;
97 snap) S=${WORKDIR}/${P};;
98 live) S=${WORKDIR}/${E_S_APPEND};;
99esac
26 100
27enlightenment_warning_msg() { 101enlightenment_warning_msg() {
28 if [ "${PV/2003}" != "${PV}" ] ; then 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
29 ewarn "Please do not contact the E team about bugs in Gentoo." 106 ewarn "Please do not contact the E team about bugs in Gentoo."
30 ewarn "Only contact vapier@gentoo.org via e-mail or bugzilla." 107 ewarn "Only contact enlightenment@gentoo.org via e-mail or bugzilla."
31 ewarn "Remember, this stuff is CVS only code so dont cry when" 108 ewarn "Remember, this stuff is DEV only code so dont cry when"
32 ewarn "I break you :)." 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."
33 fi 115 fi
34} 116}
35 117
36enlightenment_pkg_setup() { 118enlightenment_die() {
37 enlightenment_warning_msg 119 enlightenment_warning_msg
120 die "$@"$'\n'"!!! SEND BUG REPORTS TO enlightenment@gentoo.org NOT THE E TEAM"
38} 121}
39 122
40# the stupid gettextize script prevents non-interactive mode, so we hax it 123enlightenment_pkg_setup() {
41gettext_modify() { 124 : enlightenment_warning_msg
42 use nls || return 0
43 cp `which gettextize` ${T} || die "could not copy gettextize"
44 cp ${T}/gettextize ${T}/gettextize.old
45 sed -e 's:read dummy < /dev/tty::' ${T}/gettextize.old > ${T}/gettextize
46} 125}
47 126
48enlightenment_src_unpack() { 127enlightenment_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
49 unpack ${A} 135 unpack ${A}
50 gettext_modify 136 fi
137 hasq src_prepare ${ENLIGHTENMENT_EXPF} || enlightenment_src_prepare
138}
139
140enlightenment_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
153enlightenment_src_configure() {
154 # gstreamer sucks, work around it doing stupid stuff
155 export GST_REGISTRY="${S}/registry.xml"
156
157 econf ${MY_ECONF}
51} 158}
52 159
53enlightenment_src_compile() { 160enlightenment_src_compile() {
54 use alpha && append-flags -fPIC 161 hasq src_configure ${ENLIGHTENMENT_EXPF} || enlightenment_src_configure
55 use ppc && append-flags -fPIC
56 use hppa && append-flags -fPIC
57 [ ! -z "${EHACKAUTOGEN}" ] && sed -i 's:.*configure.*::' autogen.sh
58 env \
59 PATH="${T}:${PATH}" \
60 WANT_AUTOCONF_2_5=1 \
61 NOCONFIGURE=yes \
62 USER=blah \
63 ./autogen.sh \
64 || die "autogen failed"
65 if [ ! -z "${EHACKLIBLTDL}" ] ; then
66 cd libltdl
67 env WANT_AUTOCONF_2_5=1 autoconf || die "autogen in libltdl failed"
68 cd ..
69 fi
70 econf ${MY_ECONF} || die "econf failed"
71 emake || die "emake failed" 162 emake || enlightenment_die "emake failed"
72 [ `use doc` ] && [ -x ./gendoc ] && { ./gendoc || die "gendoc failed" ; } 163 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
73} 164}
74 165
75enlightenment_src_install() { 166enlightenment_src_install() {
76 make install DESTDIR=${D} || die 167 emake install DESTDIR="${D}" || enlightenment_die
77 find ${D} -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null 168 find "${D}" '(' -name CVS -o -name .svn -o -name .git ')' -type d -exec rm -rf '{}' \; 2>/dev/null
78 [ -z "${EDOCS}" ] && EDOCS="AUTHORS ChangeLog NEWS README TODO" 169 for d in AUTHORS ChangeLog NEWS README TODO ${EDOCS}; do
79 dodoc ${EDOCS} 170 [[ -f ${d} ]] && dodoc ${d}
171 done
80 [ `use doc` ] && [ -d doc ] && dohtml -r doc/* 172 use doc && [[ -d doc ]] && dohtml -r doc/*
81} 173}
82 174
83enlightenment_pkg_postinst() { 175enlightenment_pkg_postinst() {
84 enlightenment_warning_msg 176 : enlightenment_warning_msg
85} 177}
178

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.82

  ViewVC Help
Powered by ViewVC 1.1.20