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

Contents of /eclass/base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.35 - (hide 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 pva 1.34 # Copyright 1999-2008 Gentoo Foundation
2 vapier 1.18 # Distributed under the terms of the GNU General Public License v2
3 loki_val 1.35 # $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.34 2008/07/17 09:49:14 pva Exp $
4 pva 1.34
5     # @ECLASS: base.eclass
6     # @MAINTAINER:
7 loki_val 1.35 # Peter Alfredsen <loki_val@gentoo.org>
8 vapier 1.20 #
9 pva 1.34 # 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 loki_val 1.35 #
15     # NOTE: You must define EAPI before inheriting from base, or the wrong functions
16     # may be exported.
17 pva 1.34
18 vapier 1.18
19 flameeyes 1.29 inherit eutils
20    
21 loki_val 1.35 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 vapier 1.22 DESCRIPTION="Based on the $ECLASS eclass"
31 danarmak 1.1
32 pva 1.34 # @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 loki_val 1.35 # "all" is assumed if EAPI!=2, "unpack" if EAPI=2.
37 danarmak 1.1 base_src_unpack() {
38 danarmak 1.6
39 loki_val 1.35 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 danarmak 1.6
76 betelgeuse 1.32 cd "${WORKDIR}"
77 danarmak 1.12
78 danarmak 1.6 while [ "$1" ]; do
79    
80 danarmak 1.1 case $1 in
81 danarmak 1.17 unpack)
82 danarmak 1.6 debug-print-section unpack
83     unpack ${A}
84     ;;
85 danarmak 1.17 patch)
86 danarmak 1.6 debug-print-section patch
87 betelgeuse 1.32 cd "${S}"
88     epatch "${FILESDIR}/${P}-gentoo.diff"
89 danarmak 1.6 ;;
90 danarmak 1.17 autopatch)
91 danarmak 1.15 debug-print-section autopatch
92 danarmak 1.23 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
93 betelgeuse 1.32 cd "${S}"
94 betelgeuse 1.33 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 danarmak 1.15 ;;
106 george 1.30 all)
107 danarmak 1.6 debug-print-section all
108 loki_val 1.35 base_src_util unpack autopatch
109 danarmak 1.6 ;;
110 danarmak 1.17 esac
111 danarmak 1.6
112     shift
113     done
114 swegener 1.27
115 danarmak 1.1 }
116    
117 loki_val 1.35 # @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 pva 1.34 # @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 loki_val 1.35 # "all" is assumed if EAPI!=2, "make" if EAPI=2.
133 danarmak 1.1 base_src_compile() {
134 danarmak 1.4
135 loki_val 1.35 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 danarmak 1.6
161 betelgeuse 1.32 cd "${S}"
162 danarmak 1.12
163 danarmak 1.17 while [ "$1" ]; do
164 danarmak 1.6
165 danarmak 1.1 case $1 in
166 danarmak 1.17 configure)
167 george 1.30 debug-print-section configure
168     econf || die "died running econf, $FUNCNAME:configure"
169     ;;
170 danarmak 1.17 make)
171 george 1.30 debug-print-section make
172     emake || die "died running emake, $FUNCNAME:make"
173     ;;
174 danarmak 1.17 all)
175 george 1.30 debug-print-section all
176 loki_val 1.35 base_src_work configure make
177 george 1.30 ;;
178 danarmak 1.1 esac
179 swegener 1.27
180 danarmak 1.17 shift
181     done
182 swegener 1.27
183 danarmak 1.1 }
184    
185 pva 1.34 # @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 danarmak 1.1 base_src_install() {
191    
192 loki_val 1.35 debug-print-function $FUNCNAME "$@"
193 danarmak 1.6 [ -z "$1" ] && base_src_install all
194    
195 betelgeuse 1.32 cd "${S}"
196 danarmak 1.12
197 danarmak 1.6 while [ "$1" ]; do
198 danarmak 1.4
199 danarmak 1.1 case $1 in
200 danarmak 1.17 make)
201 danarmak 1.6 debug-print-section make
202 betelgeuse 1.32 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
203 danarmak 1.6 ;;
204 danarmak 1.17 all)
205 danarmak 1.11 debug-print-section all
206 danarmak 1.6 base_src_install make
207     ;;
208 danarmak 1.1 esac
209 danarmak 1.6
210     shift
211     done
212    
213 danarmak 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20