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

Contents of /eclass/base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.38 - (show annotations) (download)
Sun May 17 09:25:55 2009 UTC (5 years, 2 months ago) by loki_val
Branch: MAIN
Changes since 1.37: +2 -1 lines
x should be declared local. Bug 264466. Thanks to Ulm for noticing and cattleprodding me.

1 # Copyright 1999-2008 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.37 2009/01/18 18:21:08 loki_val Exp $
4
5 # @ECLASS: base.eclass
6 # @MAINTAINER:
7 # Peter Alfredsen <loki_val@gentoo.org>
8 #
9 # Original author Dan Armak <danarmak@gentoo.org>
10 # @BLURB: The base eclass defines some default functions and variables.
11 # @DESCRIPTION:
12 # The base eclass defines some default functions and variables. Nearly
13 # everything else inherits from here.
14 #
15 # NOTE: You must define EAPI before inheriting from base, or the wrong functions
16 # may be exported.
17
18
19 inherit eutils
20
21 case "${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 ;;
28 esac
29
30 DESCRIPTION="Based on the $ECLASS eclass"
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.
37 base_src_unpack() {
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".
59 base_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.
71 base_src_util() {
72 local x
73
74 debug-print-function $FUNCNAME "$@"
75
76 cd "${WORKDIR}"
77
78 while [ "$1" ]; do
79
80 case $1 in
81 unpack)
82 debug-print-section unpack
83 if [ ! -z "$A" ] ; then
84 unpack ${A}
85 fi
86 ;;
87 patch)
88 debug-print-section patch
89 cd "${S}"
90 epatch "${FILESDIR}/${P}-gentoo.diff"
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".
123 base_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.
135 base_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 # @FUNCTION: base_src_work
155 # @USAGE: [ configure ] [ make ] [ all ]
156 # @DESCRIPTION:
157 # The base_src_work function is the grunt function for base src_configure
158 # and base src_compile.
159 base_src_work() {
160
161 debug-print-function $FUNCNAME "$@"
162
163 cd "${S}"
164
165 while [ "$1" ]; do
166
167 case $1 in
168 configure)
169 debug-print-section configure
170 if [[ -x ${ECONF_SOURCE:-.}/configure ]]
171 then
172 econf || die "died running econf, $FUNCNAME:configure"
173 fi
174 ;;
175 make)
176 debug-print-section make
177 if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]
178 then
179 emake || die "died running emake, $FUNCNAME:make"
180 fi
181 ;;
182 all)
183 debug-print-section all
184 base_src_work configure make
185 ;;
186 esac
187
188 shift
189 done
190
191 }
192
193 # @FUNCTION: base_src_install
194 # @USAGE: [ make ] [ all ]
195 # @DESCRIPTION:
196 # The base src_install function, which is exported. If no argument is given,
197 # "all" is assumed.
198 base_src_install() {
199
200 debug-print-function $FUNCNAME "$@"
201 [ -z "$1" ] && base_src_install all
202
203 cd "${S}"
204
205 while [ "$1" ]; do
206
207 case $1 in
208 make)
209 debug-print-section make
210 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
211 ;;
212 all)
213 debug-print-section all
214 base_src_install make
215 ;;
216 esac
217
218 shift
219 done
220
221 }

  ViewVC Help
Powered by ViewVC 1.1.20