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

Diff of /eclass/base.eclass

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

Revision 1.1 Revision 1.40
1# Copyright 1999-2000 Gentoo Technologies, Inc. 1# Copyright 1999-2008 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License, v2 or later 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.40 2010/01/03 21:07:32 mr_bones_ Exp $
4
5# @ECLASS: base.eclass
6# @MAINTAINER:
7# Peter Alfredsen <loki_val@gentoo.org>
8#
3# Author Dan Armak <danarmak@gentoo.org> 9# Original author Dan Armak <danarmak@gentoo.org>
4# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.1 2001/09/28 19:25:33 danarmak Exp $ 10# @BLURB: The base eclass defines some default functions and variables.
11# @DESCRIPTION:
5# The base eclass defines some default functions and variables. Nearly everything 12# The base eclass defines some default functions and variables. Nearly
6# else inherits from here. 13# everything else inherits from here.
7. /usr/portage/inherit.eclass || die 14#
8inherit virtual || die 15# NOTE: You must define EAPI before inheriting from base, or the wrong functions
9ECLASS=base 16# may be exported.
10 17
11S=${WORKDIR}/${P} 18
19inherit eutils
20
21case "${EAPI:-0}" in
22 2)
23 EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install
24 ;;
25 *)
26 EXPORT_FUNCTIONS src_unpack src_compile src_install
27 ;;
28esac
29
12DESCRIPTION="Based on the $ECLASS eclass" 30DESCRIPTION="Based on the $ECLASS eclass"
13 31
32# @FUNCTION: base_src_unpack
33# @USAGE: [ unpack ] [ patch ] [ autopatch ] [ all ]
34# @DESCRIPTION:
35# The base src_unpack function, which is exported. If no argument is given,
36# "all" is assumed if EAPI!=2, "unpack" if EAPI=2.
14base_src_unpack() { 37base_src_unpack() {
15 38
39 debug-print-function $FUNCNAME "$@"
40
41 if [ -z "$1" ] ; then
42 case "${EAPI:-0}" in
43 2)
44 base_src_util unpack
45 ;;
46 *)
47 base_src_util all
48 ;;
49 esac
50 else
51 base_src_util $@
52 fi
53}
54
55# @FUNCTION: base_src_prepare
56# @DESCRIPTION:
57# The base src_prepare function, which is exported when EAPI=2. Performs
58# "base_src_util autopatch".
59base_src_prepare() {
60
61 debug-print-function $FUNCNAME "$@"
62
63 base_src_util autopatch
64}
65
66# @FUNCTION: base_src_util
67# @USAGE: [ unpack ] [ patch ] [ autopatch ] [ all ]
68# @DESCRIPTION:
69# The base_src_util function is the grunt function for base src_unpack
70# and base src_prepare.
71base_src_util() {
72 local x
73
74 debug-print-function $FUNCNAME "$@"
75
76 cd "${WORKDIR}"
77
16 while [ "$1" ]; do 78 while [ "$1" ]; do
17 79
18 case $1 in 80 case $1 in
19 unpack) 81 unpack)
82 debug-print-section unpack
83 if [ ! -z "$A" ] ; then
20 unpack ${A} 84 unpack ${A}
85 fi
21 ;; 86 ;;
22 all) 87 patch)
23 base_src_unpack unpack 88 debug-print-section patch
89 cd "${S}"
90 epatch "${FILESDIR}/${P}-gentoo.diff"
24 ;; 91 ;;
92 autopatch)
93 debug-print-section autopatch
94 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
95 cd "${S}"
96 if [[ ${#PATCHES[@]} -gt 1 ]] ; then
97 for x in "${PATCHES[@]}"; do
98 debug-print "$FUNCNAME: autopatch: patching from ${x}"
99 epatch "${x}"
100 done
101 else
102 for x in ${PATCHES} ${PATCHES1}; do
103 debug-print "$FUNCNAME: autopatch: patching from ${x}"
104 epatch "${x}"
105 done
106 fi
107 ;;
108 all)
109 debug-print-section all
110 base_src_util unpack autopatch
111 ;;
112 esac
113
114 shift
115 done
116
117}
118
119# @FUNCTION: base_src_configure
120# @DESCRIPTION:
121# The base src_prepare function, which is exported when EAPI=2. Performs
122# "base_src_work configure".
123base_src_configure() {
124
125 debug-print-function $FUNCNAME "$@"
126
127 base_src_work configure
128}
129
130# @FUNCTION: base_src_compile
131# @USAGE: [ configure ] [ make ] [ all ]
132# @DESCRIPTION:
133# The base src_compile function, which is exported. If no argument is given,
134# "all" is assumed if EAPI!=2, "make" if EAPI=2.
135base_src_compile() {
136
137 debug-print-function $FUNCNAME "$@"
138
139 if [ -z "$1" ]
140 then
141 case "${EAPI:-0}" in
142 2)
143 base_src_work make
144 ;;
145 *)
146 base_src_work all
147 ;;
148 esac
149 else
150 base_src_work $@
151 fi
152}
153
154# placeholder for future api so eclasses can be migrated now.
155base_src_make() {
156 debug-print-function $FUNCNAME "$@"
157 base_src_work make
158}
159
160# @FUNCTION: base_src_work
161# @USAGE: [ configure ] [ make ] [ all ]
162# @DESCRIPTION:
163# The base_src_work function is the grunt function for base src_configure
164# and base src_compile.
165base_src_work() {
166
167 debug-print-function $FUNCNAME "$@"
168
169 cd "${S}"
170
171 while [ "$1" ]; do
172
173 case $1 in
174 configure)
175 debug-print-section configure
176 if [[ -x ${ECONF_SOURCE:-.}/configure ]]
177 then
178 econf || die "died running econf, $FUNCNAME:configure"
179 fi
180 ;;
181 make)
182 debug-print-section make
183 if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]
184 then
185 emake || die "died running emake, $FUNCNAME:make"
186 fi
187 ;;
188 all)
189 debug-print-section all
190 base_src_work configure make
191 ;;
25 esac 192 esac
26
27 shift
28 done
29
30}
31 193
194 shift
195 done
196
197}
198
199# @FUNCTION: base_src_install
200# @USAGE: [ make ] [ all ]
201# @DESCRIPTION:
202# The base src_install function, which is exported. If no argument is given,
203# "all" is assumed.
32base_src_compile() { 204base_src_install() {
33 205
206 debug-print-function $FUNCNAME "$@"
207 [ -z "$1" ] && base_src_install all
208
209 cd "${S}"
210
34 while [ "$1" ]; do 211 while [ "$1" ]; do
35 212
36 case $1 in 213 case $1 in
37 configure) 214 make)
38 configure || die 215 debug-print-section make
216 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
39 ;; 217 ;;
40 make) 218 all)
41 make || die 219 debug-print-section all
220 base_src_install make
42 ;; 221 ;;
43 all)
44 base_src_compile configure make
45 ;;
46 esac 222 esac
47
48 shift
49 done
50
51}
52 223
53base_src_install() { 224 shift
225 done
54 226
55 while [ "$1" ]; do
56
57 case $1 in
58 make)
59 make DESTDIR=${D} install || die
60 ;;
61 all)
62 base_src_install make
63 ;;
64 esac
65
66 shift
67 done
68
69} 227}
70
71EXPORT_FUNCTIONS
72

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.20