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

Contents of /eclass/base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.35 - (show annotations) (download)
Sun Nov 9 15:47:47 2008 UTC (5 years, 10 months ago) by loki_val
Branch: MAIN
Changes since 1.34: +91 -13 lines
Apply EAPI-2 support for base.eclass as discussed on gentoo-dev ml.

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.34 2008/07/17 09:49:14 pva 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" ]
42 then
43 case "${EAPI:-0}" in
44 2)
45 base_src_util unpack
46 ;;
47 *)
48 base_src_util all
49 ;;
50 esac
51 else
52 base_src_util $@
53 fi
54 }
55
56 # @FUNCTION: base_src_prepare
57 # @DESCRIPTION:
58 # The base src_prepare function, which is exported when EAPI=2. Performs
59 # "base_src_util autopatch".
60 base_src_prepare() {
61
62 debug-print-function $FUNCNAME "$@"
63
64 base_src_util autopatch
65 }
66
67 # @FUNCTION: base_src_util
68 # @USAGE: [ unpack ] [ patch ] [ autopatch ] [ all ]
69 # @DESCRIPTION:
70 # The base_src_util function is the grunt function for base src_unpack
71 # and base src_prepare.
72 base_src_util() {
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 unpack ${A}
84 ;;
85 patch)
86 debug-print-section patch
87 cd "${S}"
88 epatch "${FILESDIR}/${P}-gentoo.diff"
89 ;;
90 autopatch)
91 debug-print-section autopatch
92 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
93 cd "${S}"
94 if [[ ${#PATCHES[@]} -gt 1 ]]; then
95 for x in "${PATCHES[@]}"; do
96 debug-print "$FUNCNAME: autopatch: patching from ${x}"
97 epatch "${x}"
98 done
99 else
100 for x in ${PATCHES} ${PATCHES1}; do
101 debug-print "$FUNCNAME: autopatch: patching from ${x}"
102 epatch "${x}"
103 done
104 fi
105 ;;
106 all)
107 debug-print-section all
108 base_src_util unpack autopatch
109 ;;
110 esac
111
112 shift
113 done
114
115 }
116
117 # @FUNCTION: base_src_configure
118 # @DESCRIPTION:
119 # The base src_prepare function, which is exported when EAPI=2. Performs
120 # "base_src_work configure".
121 base_src_configure() {
122
123 debug-print-function $FUNCNAME "$@"
124
125 base_src_work configure
126 }
127
128 # @FUNCTION: base_src_compile
129 # @USAGE: [ configure ] [ make ] [ all ]
130 # @DESCRIPTION:
131 # The base src_compile function, which is exported. If no argument is given,
132 # "all" is assumed if EAPI!=2, "make" if EAPI=2.
133 base_src_compile() {
134
135 debug-print-function $FUNCNAME "$@"
136
137 if [ -z "$1" ]
138 then
139 case "${EAPI:-0}" in
140 2)
141 base_src_work make
142 ;;
143 *)
144 base_src_work all
145 ;;
146 esac
147 else
148 base_src_work $@
149 fi
150 }
151
152 # @FUNCTION: base_src_work
153 # @USAGE: [ configure ] [ make ] [ all ]
154 # @DESCRIPTION:
155 # The base_src_work function is the grunt function for base src_configure
156 # and base src_compile.
157 base_src_work() {
158
159 debug-print-function $FUNCNAME "$@"
160
161 cd "${S}"
162
163 while [ "$1" ]; do
164
165 case $1 in
166 configure)
167 debug-print-section configure
168 econf || die "died running econf, $FUNCNAME:configure"
169 ;;
170 make)
171 debug-print-section make
172 emake || die "died running emake, $FUNCNAME:make"
173 ;;
174 all)
175 debug-print-section all
176 base_src_work configure make
177 ;;
178 esac
179
180 shift
181 done
182
183 }
184
185 # @FUNCTION: base_src_install
186 # @USAGE: [ make ] [ all ]
187 # @DESCRIPTION:
188 # The base src_install function, which is exported. If no argument is given,
189 # "all" is assumed.
190 base_src_install() {
191
192 debug-print-function $FUNCNAME "$@"
193 [ -z "$1" ] && base_src_install all
194
195 cd "${S}"
196
197 while [ "$1" ]; do
198
199 case $1 in
200 make)
201 debug-print-section make
202 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
203 ;;
204 all)
205 debug-print-section all
206 base_src_install make
207 ;;
208 esac
209
210 shift
211 done
212
213 }

  ViewVC Help
Powered by ViewVC 1.1.20