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

Diff of /eclass/enlightenment.eclass

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

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

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.71

  ViewVC Help
Powered by ViewVC 1.1.20