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

Diff of /eclass/base.eclass

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

Revision 1.25 Revision 1.38
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2008 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.25 2005/07/06 20:20:03 agriffis Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.38 2009/05/17 09:25:55 loki_val Exp $
4
5# @ECLASS: base.eclass
6# @MAINTAINER:
7# Peter Alfredsen <loki_val@gentoo.org>
4# 8#
5# Author Dan Armak <danarmak@gentoo.org> 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.
6# 14#
7# The base eclass defines some default functions and variables. Nearly everything 15# NOTE: You must define EAPI before inheriting from base, or the wrong functions
8# else inherits from here. 16# may be exported.
9 17
10INHERITED="$INHERITED $ECLASS" 18
11S=${WORKDIR}/${P} 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
16 debug-print-function $FUNCNAME $* 39 debug-print-function $FUNCNAME "$@"
17 [ -z "$1" ] && base_src_unpack all
18 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
19 cd ${WORKDIR} 76 cd "${WORKDIR}"
20 77
21 while [ "$1" ]; do 78 while [ "$1" ]; do
22 79
23 case $1 in 80 case $1 in
24 unpack) 81 unpack)
25 debug-print-section unpack 82 debug-print-section unpack
83 if [ ! -z "$A" ] ; then
26 unpack ${A} 84 unpack ${A}
85 fi
27 ;; 86 ;;
28 patch) 87 patch)
29 debug-print-section patch 88 debug-print-section patch
30 cd ${S} 89 cd "${S}"
31 patch -p0 < ${FILESDIR}/${P}-gentoo.diff 90 epatch "${FILESDIR}/${P}-gentoo.diff"
32 ;; 91 ;;
33 autopatch) 92 autopatch)
34 debug-print-section autopatch 93 debug-print-section autopatch
35 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1" 94 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
36 cd ${S} 95 cd "${S}"
96 if [[ ${#PATCHES[@]} -gt 1 ]] ; then
37 for x in $PATCHES; do 97 for x in "${PATCHES[@]}"; do
38 debug-print "$FUNCNAME: autopatch: patching from ${x}" 98 debug-print "$FUNCNAME: autopatch: patching from ${x}"
39 patch -p0 < ${x} 99 epatch "${x}"
40 done 100 done
101 else
41 for x in $PATCHES1; do 102 for x in ${PATCHES} ${PATCHES1}; do
42 debug-print "$FUNCNAME: autopatch: patching -p1 from ${x}" 103 debug-print "$FUNCNAME: autopatch: patching from ${x}"
43 patch -p1 < ${x} 104 epatch "${x}"
44 done 105 done
106 fi
45 ;; 107 ;;
46 all) 108 all)
47 debug-print-section all 109 debug-print-section all
48 base_src_unpack unpack autopatch 110 base_src_util unpack autopatch
49 ;; 111 ;;
50 esac 112 esac
51 113
52 shift 114 shift
53 done 115 done
54
55}
56 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.
57base_src_compile() { 135base_src_compile() {
58 136
59 debug-print-function $FUNCNAME $* 137 debug-print-function $FUNCNAME "$@"
60 [ -z "$1" ] && base_src_compile all
61 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.
159base_src_work() {
160
161 debug-print-function $FUNCNAME "$@"
162
62 cd ${S} 163 cd "${S}"
63 164
64 while [ "$1" ]; do 165 while [ "$1" ]; do
65 166
66 case $1 in 167 case $1 in
67 configure) 168 configure)
68 debug-print-section configure 169 debug-print-section configure
170 if [[ -x ${ECONF_SOURCE:-.}/configure ]]
171 then
69 econf || die "died running econf, $FUNCNAME:configure" 172 econf || die "died running econf, $FUNCNAME:configure"
173 fi
70 ;; 174 ;;
71 make) 175 make)
72 debug-print-section make 176 debug-print-section make
177 if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]
178 then
73 emake || die "died running emake, $FUNCNAME:make" 179 emake || die "died running emake, $FUNCNAME:make"
180 fi
74 ;; 181 ;;
75 all) 182 all)
76 debug-print-section all 183 debug-print-section all
77 base_src_compile configure make 184 base_src_work configure make
78 ;; 185 ;;
79 esac 186 esac
80 187
81 shift 188 shift
82 done 189 done
83
84}
85 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.
86base_src_install() { 198base_src_install() {
87 199
88 debug-print-function $FUNCNAME $* 200 debug-print-function $FUNCNAME "$@"
89 [ -z "$1" ] && base_src_install all 201 [ -z "$1" ] && base_src_install all
90 202
91 cd ${S} 203 cd "${S}"
92 204
93 while [ "$1" ]; do 205 while [ "$1" ]; do
94 206
95 case $1 in 207 case $1 in
96 make) 208 make)
97 debug-print-section make 209 debug-print-section make
98 make DESTDIR=${D} install || die "died running make install, $FUNCNAME:make" 210 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
99 ;; 211 ;;
100 all) 212 all)
101 debug-print-section all 213 debug-print-section all
102 base_src_install make 214 base_src_install make
103 ;; 215 ;;
105 217
106 shift 218 shift
107 done 219 done
108 220
109} 221}
110
111EXPORT_FUNCTIONS src_unpack src_compile src_install

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.20