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

Diff of /eclass/enlightenment.eclass

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

Revision 1.22 Revision 1.83
1# Copyright 1999-2004 Gentoo Foundation 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.22 2004/07/19 22:20:16 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.83 2010/06/19 00:35:11 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
10EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst 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
11 29
12USE_CVS="no" 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"
13if [ "${PV/.9999}" != "${PV}" ] ; then 35if [[ ${PV/9999} != ${PV} ]] ; then
14 USE_CVS="yes" 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}
15 inherit cvs 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"
16fi 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
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}
17 71
18DESCRIPTION="A DR17 production" 72DESCRIPTION="A DR17 production"
19HOMEPAGE="http://www.enlightenment.org/" 73HOMEPAGE="http://www.enlightenment.org/"
20if [ "${USE_CVS}" == "no" ] ; then 74case ${EURI_STATE:-${E_STATE}} in
21 SRC_URI="mirror://gentoo/${P}.tar.bz2" 75 release) SRC_URI="mirror://sourceforge/enlightenment/${P}.tar.gz";;
22 # http://wh0rd.de/gentoo/distfiles/${P}.tar.bz2" 76 snap) SRC_URI="http://download.enlightenment.org/snapshots/${E_SNAP_DATE}/${P}.tar.bz2";;
23fi 77 live) SRC_URI="";;
78esac
24 79
25LICENSE="BSD" 80LICENSE="BSD"
26SLOT="0" 81SLOT="0"
27KEYWORDS="~x86 ~ppc ~sparc ~alpha ~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
28IUSE="nls doc" 87IUSE="nls doc"
29 88
30DEPEND="doc? ( app-doc/doxygen ) 89DEPEND="doc? ( app-doc/doxygen )"
31 >=sys-devel/autoconf-2.58-r1"
32RDEPEND="nls? ( sys-devel/gettext )" 90RDEPEND="nls? ( sys-devel/gettext )"
33 91
34S=${WORKDIR}/${PN} 92# gettext (via `autopoint`) needs to run cvs #245073
93[[ ${E_STATE} == "live" ]] && DEPEND="${DEPEND} dev-vcs/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
35 100
36enlightenment_warning_msg() { 101enlightenment_warning_msg() {
37 if [ "${PV/200}" != "${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
38 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."
39 ewarn "Only contact vapier@gentoo.org via e-mail or bugzilla." 107 ewarn "Only contact enlightenment@gentoo.org via e-mail or bugzilla."
40 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"
41 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."
42 fi 115 fi
43} 116}
44 117
45enlightenment_die() { 118enlightenment_die() {
46 enlightenment_warning_msg 119 enlightenment_warning_msg
47 die "$@"$'\n'"!!! SEND BUG REPORTS TO vapier@gentoo.org NOT THE E TEAM" 120 die "$@"$'\n'"!!! SEND BUG REPORTS TO enlightenment@gentoo.org NOT THE E TEAM"
48} 121}
49 122
50enlightenment_pkg_setup() { 123enlightenment_pkg_setup() {
51 enlightenment_warning_msg 124 : enlightenment_warning_msg
52}
53
54# the stupid gettextize script prevents non-interactive mode, so we hax it
55gettext_modify() {
56 use nls || return 0
57 cp `which gettextize` ${T} || die "could not copy gettextize"
58 cp ${T}/gettextize ${T}/gettextize.old
59 sed -e 's:read dummy < /dev/tty::' ${T}/gettextize.old > ${T}/gettextize
60} 125}
61 126
62enlightenment_src_unpack() { 127enlightenment_src_unpack() {
63 [ "${USE_CVS}" == "no" ] && unpack ${A} 128 if [[ ${E_STATE} == "live" ]] ; then
64 gettext_modify 129 case ${E_LIVE_SOURCE} in
130 cvs) cvs_src_unpack;;
131 svn) subversion_src_unpack;;
132 *) die "eek!";;
133 esac
134 else
135 unpack ${A}
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}
65} 158}
66 159
67enlightenment_src_compile() { 160enlightenment_src_compile() {
68 [ ! -z "${EHACKAUTOGEN}" ] && sed -i 's:.*configure.*::' autogen.sh 161 hasq src_configure ${ENLIGHTENMENT_EXPF} || enlightenment_src_configure
69 export WANT_AUTOMAKE="${EAUTOMAKE:-1.8}"
70 env \
71 PATH="${T}:${PATH}" \
72 NOCONFIGURE=yes \
73 USER=blah \
74 ./autogen.sh \
75 || enlightenment_die "autogen failed"
76 if [ ! -z "${EHACKLIBLTDL}" ] ; then
77 cd libltdl
78 autoconf || enlightenment_die "autogen in libltdl failed"
79 cd ..
80 fi
81 econf ${MY_ECONF} || enlightenment_die "econf failed"
82 emake || enlightenment_die "emake failed" 162 emake || enlightenment_die "emake failed"
83 use doc && [ -x ./gendoc ] && { ./gendoc || enlightenment_die "gendoc failed" ; } 163 use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
84} 164}
85 165
86enlightenment_src_install() { 166enlightenment_src_install() {
87 make install DESTDIR=${D} || enlightenment_die 167 emake install DESTDIR="${D}" || enlightenment_die
88 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
89 dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS} 169 for d in AUTHORS ChangeLog NEWS README TODO ${EDOCS}; do
170 [[ -f ${d} ]] && dodoc ${d}
171 done
90 use doc && [ -d doc ] && dohtml -r doc/* 172 use doc && [[ -d doc ]] && dohtml -r doc/*
91} 173}
92 174
93enlightenment_pkg_postinst() { 175enlightenment_pkg_postinst() {
94 enlightenment_warning_msg 176 : enlightenment_warning_msg
95} 177}
178

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.83

  ViewVC Help
Powered by ViewVC 1.1.20