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

Contents of /eclass/enlightenment.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (hide annotations) (download) (vendor branch)
Wed Nov 30 09:59:22 2005 UTC (8 years, 7 months ago) by chriswhite
Changes since 1.1: +143 -12 lines
*** empty log message ***

1 chriswhite 1.1.1.1 # Copyright 1999-2005 Gentoo Foundation
2 vapier 1.1 # Distributed under the terms of the GNU General Public License v2
3 chriswhite 1.1.1.1 # $Header: /var/cvsroot/gentoo-x86/eclass/enlightenment.eclass,v 1.56 2005/08/23 23:53:26 vapier Exp $
4 vapier 1.1 #
5     # Author: vapier@gentoo.org
6    
7 chriswhite 1.1.1.1 inherit eutils
8 vapier 1.1
9 chriswhite 1.1.1.1 # 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=${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 vapier 1.1 HOMEPAGE="http://www.enlightenment.org/"
54 chriswhite 1.1.1.1 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 vapier 1.1
60 chriswhite 1.1.1.1 LICENSE="BSD"
61     SLOT="0"
62     case ${EKEY_STATE:-${ECVS_STATE}} in
63     release) KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sparc x86";;
64     snap) KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86";;
65     live) KEYWORDS="-*";;
66     esac
67     IUSE="nls doc"
68 vapier 1.1
69 chriswhite 1.1.1.1 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     }
91    
92     enlightenment_die() {
93     enlightenment_warning_msg
94     die "$@"$'\n'"!!! SEND BUG REPORTS TO vapier@gentoo.org NOT THE E TEAM"
95     }
96    
97     enlightenment_pkg_setup() {
98     enlightenment_warning_msg
99     }
100 vapier 1.1
101     # the stupid gettextize script prevents non-interactive mode, so we hax it
102     gettext_modify() {
103     use nls || return 0
104 chriswhite 1.1.1.1 cp $(which gettextize) "${T}"/ || die "could not copy gettextize"
105     sed -i \
106     -e 's:read dummy < /dev/tty::' \
107     "${T}"/gettextize
108     }
109    
110     enlightenment_src_unpack() {
111     if [[ ${ECVS_STATE} == "live" ]] ; then
112     cvs_src_unpack
113     else
114     unpack ${A}
115     fi
116     gettext_modify
117     [[ -s gendoc ]] && chmod a+rx gendoc
118     }
119    
120     enlightenment_src_compile() {
121     if [[ ! -e configure ]] ; then
122     export WANT_AUTOMAKE=${EAUTOMAKE:-1.8}
123     env \
124     PATH="${T}:${PATH}" \
125     NOCONFIGURE=yes \
126     USER=blah \
127     ./autogen.sh \
128     || enlightenment_die "autogen failed"
129     # symlinked files will cause sandbox violation
130     for x in config.{guess,sub} ; do
131     [[ ! -L ${x} ]] && continue
132     rm -f ${x}
133     touch ${x}
134     done
135     if [[ ! -z ${EHACKLIBLTDL} ]] ; then
136     cd libltdl
137     autoconf || enlightenment_die "autogen in libltdl failed"
138     cd ..
139     fi
140     fi
141     epunt_cxx
142     econf ${MY_ECONF} || enlightenment_die "econf failed"
143     emake || enlightenment_die "emake failed"
144     use doc && [[ -x ./gendoc ]] && { ./gendoc || enlightenment_die "gendoc failed" ; }
145     }
146    
147     enlightenment_src_install() {
148     make install DESTDIR="${D}" || enlightenment_die
149     find "${D}" -name CVS -type d -exec rm -rf '{}' \; 2>/dev/null
150     dodoc AUTHORS ChangeLog NEWS README TODO ${EDOCS}
151     use doc && [[ -d doc ]] && dohtml -r doc/*
152     }
153    
154     enlightenment_pkg_postinst() {
155     enlightenment_warning_msg
156 vapier 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20