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

Diff of /eclass/base.eclass

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

Revision 1.23 Revision 1.36
1# Copyright 1999-2003 Gentoo Technologies, Inc. 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.23 2003/04/08 17:48:12 danarmak Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.36 2009/01/17 16:56:55 mr_bones_ 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
10ECLASS=base 18
11INHERITED="$INHERITED $ECLASS" 19inherit eutils
12S=${WORKDIR}/${P} 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
13DESCRIPTION="Based on the $ECLASS eclass" 30DESCRIPTION="Based on the $ECLASS eclass"
14 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.
15base_src_unpack() { 37base_src_unpack() {
16 38
17 debug-print-function $FUNCNAME $* 39 debug-print-function $FUNCNAME "$@"
18 [ -z "$1" ] && base_src_unpack all
19 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
73 debug-print-function $FUNCNAME "$@"
74
20 cd ${WORKDIR} 75 cd "${WORKDIR}"
21 76
22 while [ "$1" ]; do 77 while [ "$1" ]; do
23 78
24 case $1 in 79 case $1 in
25 unpack) 80 unpack)
26 debug-print-section unpack 81 debug-print-section unpack
82 if [ ! -z "$A" ] ; then
27 unpack ${A} 83 unpack ${A}
84 fi
28 ;; 85 ;;
29 patch) 86 patch)
30 debug-print-section patch 87 debug-print-section patch
31 cd ${S} 88 cd "${S}"
32 patch -p0 < ${FILESDIR}/${P}-gentoo.diff 89 epatch "${FILESDIR}/${P}-gentoo.diff"
33 ;; 90 ;;
34 autopatch) 91 autopatch)
35 debug-print-section autopatch 92 debug-print-section autopatch
36 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1" 93 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
37 cd ${S} 94 cd "${S}"
95 if [[ ${#PATCHES[@]} -gt 1 ]] ; then
38 for x in $PATCHES; do 96 for x in "${PATCHES[@]}"; do
39 debug-print "$FUNCNAME: autopatch: patching from ${x}" 97 debug-print "$FUNCNAME: autopatch: patching from ${x}"
40 patch -p0 < ${x} 98 epatch "${x}"
41 done 99 done
100 else
42 for x in $PATCHES1; do 101 for x in ${PATCHES} ${PATCHES1}; do
43 debug-print "$FUNCNAME: autopatch: patching -p1 from ${x}" 102 debug-print "$FUNCNAME: autopatch: patching from ${x}"
44 patch -p1 < ${x} 103 epatch "${x}"
45 done 104 done
105 fi
46 ;; 106 ;;
47 all) 107 all)
48 debug-print-section all 108 debug-print-section all
49 base_src_unpack unpack autopatch 109 base_src_util unpack autopatch
50 ;; 110 ;;
51 esac 111 esac
52 112
53 shift 113 shift
54 done 114 done
55
56}
57 115
116}
117
118# @FUNCTION: base_src_configure
119# @DESCRIPTION:
120# The base src_prepare function, which is exported when EAPI=2. Performs
121# "base_src_work configure".
122base_src_configure() {
123
124 debug-print-function $FUNCNAME "$@"
125
126 base_src_work configure
127}
128
129# @FUNCTION: base_src_compile
130# @USAGE: [ configure ] [ make ] [ all ]
131# @DESCRIPTION:
132# The base src_compile function, which is exported. If no argument is given,
133# "all" is assumed if EAPI!=2, "make" if EAPI=2.
58base_src_compile() { 134base_src_compile() {
59 135
60 debug-print-function $FUNCNAME $* 136 debug-print-function $FUNCNAME "$@"
61 [ -z "$1" ] && base_src_compile all
62 137
138 if [ -z "$1" ]
139 then
140 case "${EAPI:-0}" in
141 2)
142 base_src_work make
143 ;;
144 *)
145 base_src_work all
146 ;;
147 esac
148 else
149 base_src_work $@
150 fi
151}
152
153# @FUNCTION: base_src_work
154# @USAGE: [ configure ] [ make ] [ all ]
155# @DESCRIPTION:
156# The base_src_work function is the grunt function for base src_configure
157# and base src_compile.
158base_src_work() {
159
160 debug-print-function $FUNCNAME "$@"
161
63 cd ${S} 162 cd "${S}"
64 163
65 while [ "$1" ]; do 164 while [ "$1" ]; do
66 165
67 case $1 in 166 case $1 in
68 configure) 167 configure)
69 debug-print-section configure 168 debug-print-section configure
70 econf || die "died running econf, $FUNCNAME:configure" 169 econf || die "died running econf, $FUNCNAME:configure"
71 ;; 170 ;;
72 make) 171 make)
73 debug-print-section make 172 debug-print-section make
74 emake || die "died running emake, $FUNCNAME:make" 173 emake || die "died running emake, $FUNCNAME:make"
75 ;; 174 ;;
76 all) 175 all)
77 debug-print-section all 176 debug-print-section all
78 base_src_compile configure make 177 base_src_work configure make
79 ;; 178 ;;
80 esac 179 esac
81 180
82 shift 181 shift
83 done 182 done
84
85}
86 183
184}
185
186# @FUNCTION: base_src_install
187# @USAGE: [ make ] [ all ]
188# @DESCRIPTION:
189# The base src_install function, which is exported. If no argument is given,
190# "all" is assumed.
87base_src_install() { 191base_src_install() {
88 192
89 debug-print-function $FUNCNAME $* 193 debug-print-function $FUNCNAME "$@"
90 [ -z "$1" ] && base_src_install all 194 [ -z "$1" ] && base_src_install all
91 195
92 cd ${S} 196 cd "${S}"
93 197
94 while [ "$1" ]; do 198 while [ "$1" ]; do
95 199
96 case $1 in 200 case $1 in
97 make) 201 make)
98 debug-print-section make 202 debug-print-section make
99 make DESTDIR=${D} install || die "died running make install, $FUNCNAME:make" 203 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
100 ;; 204 ;;
101 all) 205 all)
102 debug-print-section all 206 debug-print-section all
103 base_src_install make 207 base_src_install make
104 ;; 208 ;;
106 210
107 shift 211 shift
108 done 212 done
109 213
110} 214}
111
112EXPORT_FUNCTIONS src_unpack src_compile src_install

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.36

  ViewVC Help
Powered by ViewVC 1.1.20