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

Diff of /eclass/base.eclass

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

Revision 1.22 Revision 1.35
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.22 2003/02/28 09:15:04 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.35 2008/11/09 15:47:47 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
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" ]
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".
60base_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.
72base_src_util() {
73
74 debug-print-function $FUNCNAME "$@"
75
20 cd ${WORKDIR} 76 cd "${WORKDIR}"
21 77
22 while [ "$1" ]; do 78 while [ "$1" ]; do
23 79
24 case $1 in 80 case $1 in
25 unpack) 81 unpack)
26 debug-print-section unpack 82 debug-print-section unpack
27 unpack ${A} 83 unpack ${A}
28 ;; 84 ;;
29 patch) 85 patch)
30 debug-print-section patch 86 debug-print-section patch
31 cd ${S} 87 cd "${S}"
32 patch -p0 < ${FILESDIR}/${P}-gentoo.diff 88 epatch "${FILESDIR}/${P}-gentoo.diff"
33 ;; 89 ;;
34 autopatch) 90 autopatch)
35 debug-print-section autopatch 91 debug-print-section autopatch
36 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES" 92 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
37 cd ${S} 93 cd "${S}"
94 if [[ ${#PATCHES[@]} -gt 1 ]]; then
38 for x in $PATCHES; do 95 for x in "${PATCHES[@]}"; do
39 debug-print "$FUNCNAME: autopatch: patching from ${x}" 96 debug-print "$FUNCNAME: autopatch: patching from ${x}"
40 patch -p0 < ${x} 97 epatch "${x}"
41 done 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
42 ;; 105 ;;
43 all) 106 all)
44 debug-print-section all 107 debug-print-section all
45 base_src_unpack unpack autopatch 108 base_src_util unpack autopatch
46 ;; 109 ;;
47 esac 110 esac
48 111
49 shift 112 shift
50 done 113 done
51
52}
53 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".
121base_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.
54base_src_compile() { 133base_src_compile() {
55 134
56 debug-print-function $FUNCNAME $* 135 debug-print-function $FUNCNAME "$@"
57 [ -z "$1" ] && base_src_compile all
58 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.
157base_src_work() {
158
159 debug-print-function $FUNCNAME "$@"
160
59 cd ${S} 161 cd "${S}"
60 162
61 while [ "$1" ]; do 163 while [ "$1" ]; do
62 164
63 case $1 in 165 case $1 in
64 configure) 166 configure)
65 debug-print-section configure 167 debug-print-section configure
66 econf || die "died running econf, $FUNCNAME:configure" 168 econf || die "died running econf, $FUNCNAME:configure"
67 ;; 169 ;;
68 make) 170 make)
69 debug-print-section make 171 debug-print-section make
70 emake || die "died running emake, $FUNCNAME:make" 172 emake || die "died running emake, $FUNCNAME:make"
71 ;; 173 ;;
72 all) 174 all)
73 debug-print-section all 175 debug-print-section all
74 base_src_compile configure make 176 base_src_work configure make
75 ;; 177 ;;
76 esac 178 esac
77 179
78 shift 180 shift
79 done 181 done
80
81}
82 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.
83base_src_install() { 190base_src_install() {
84 191
85 debug-print-function $FUNCNAME $* 192 debug-print-function $FUNCNAME "$@"
86 [ -z "$1" ] && base_src_install all 193 [ -z "$1" ] && base_src_install all
87 194
88 cd ${S} 195 cd "${S}"
89 196
90 while [ "$1" ]; do 197 while [ "$1" ]; do
91 198
92 case $1 in 199 case $1 in
93 make) 200 make)
94 debug-print-section make 201 debug-print-section make
95 make DESTDIR=${D} install || die "died running make install, $FUNCNAME:make" 202 make DESTDIR="${D}" install || die "died running make install, $FUNCNAME:make"
96 ;; 203 ;;
97 all) 204 all)
98 debug-print-section all 205 debug-print-section all
99 base_src_install make 206 base_src_install make
100 ;; 207 ;;
102 209
103 shift 210 shift
104 done 211 done
105 212
106} 213}
107
108EXPORT_FUNCTIONS src_unpack src_compile src_install

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.35

  ViewVC Help
Powered by ViewVC 1.1.20