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

Diff of /eclass/base.eclass

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

Revision 1.34 Revision 1.40
1# Copyright 1999-2008 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.34 2008/07/17 09:49:14 pva Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/base.eclass,v 1.40 2010/01/03 21:07:32 mr_bones_ Exp $
4 4
5# @ECLASS: base.eclass 5# @ECLASS: base.eclass
6# @MAINTAINER: 6# @MAINTAINER:
7# ??? 7# Peter Alfredsen <loki_val@gentoo.org>
8# 8#
9# Original 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. 10# @BLURB: The base eclass defines some default functions and variables.
11# @DESCRIPTION: 11# @DESCRIPTION:
12# The base eclass defines some default functions and variables. Nearly 12# The base eclass defines some default functions and variables. Nearly
13# everything else inherits from here. 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.
14 17
15 18
16inherit eutils 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
17 29
18DESCRIPTION="Based on the $ECLASS eclass" 30DESCRIPTION="Based on the $ECLASS eclass"
19 31
20# @FUNCTION: base_src_unpack 32# @FUNCTION: base_src_unpack
21# @USAGE: [ unpack ] [ patch ] [ autopatch ] [ all ] 33# @USAGE: [ unpack ] [ patch ] [ autopatch ] [ all ]
22# @DESCRIPTION: 34# @DESCRIPTION:
23# The base src_unpack function, which is exported. If no argument is given, 35# The base src_unpack function, which is exported. If no argument is given,
24# "all" is assumed. 36# "all" is assumed if EAPI!=2, "unpack" if EAPI=2.
25base_src_unpack() { 37base_src_unpack() {
26 38
27 debug-print-function $FUNCNAME $* 39 debug-print-function $FUNCNAME "$@"
28 [ -z "$1" ] && base_src_unpack all 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 "$@"
29 75
30 cd "${WORKDIR}" 76 cd "${WORKDIR}"
31 77
32 while [ "$1" ]; do 78 while [ "$1" ]; do
33 79
34 case $1 in 80 case $1 in
35 unpack) 81 unpack)
36 debug-print-section unpack 82 debug-print-section unpack
83 if [ ! -z "$A" ] ; then
37 unpack ${A} 84 unpack ${A}
85 fi
38 ;; 86 ;;
39 patch) 87 patch)
40 debug-print-section patch 88 debug-print-section patch
41 cd "${S}" 89 cd "${S}"
42 epatch "${FILESDIR}/${P}-gentoo.diff" 90 epatch "${FILESDIR}/${P}-gentoo.diff"
43 ;; 91 ;;
44 autopatch) 92 autopatch)
45 debug-print-section autopatch 93 debug-print-section autopatch
46 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1" 94 debug-print "$FUNCNAME: autopatch: PATCHES=$PATCHES, PATCHES1=$PATCHES1"
47 cd "${S}" 95 cd "${S}"
48 if [[ ${#PATCHES[@]} -gt 1 ]]; then 96 if [[ ${#PATCHES[@]} -gt 1 ]] ; then
49 for x in "${PATCHES[@]}"; do 97 for x in "${PATCHES[@]}"; do
50 debug-print "$FUNCNAME: autopatch: patching from ${x}" 98 debug-print "$FUNCNAME: autopatch: patching from ${x}"
51 epatch "${x}" 99 epatch "${x}"
52 done 100 done
53 else 101 else
57 done 105 done
58 fi 106 fi
59 ;; 107 ;;
60 all) 108 all)
61 debug-print-section all 109 debug-print-section all
62 base_src_unpack unpack autopatch 110 base_src_util unpack autopatch
63 ;; 111 ;;
64 esac 112 esac
65 113
66 shift 114 shift
67 done 115 done
68 116
69} 117}
70 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
71# @FUNCTION: base_src_compile 130# @FUNCTION: base_src_compile
72# @USAGE: [ configure ] [ make ] [ all ] 131# @USAGE: [ configure ] [ make ] [ all ]
73# @DESCRIPTION: 132# @DESCRIPTION:
74# The base src_compile function, which is exported. If no argument is given, 133# The base src_compile function, which is exported. If no argument is given,
75# "all" is asasumed. 134# "all" is assumed if EAPI!=2, "make" if EAPI=2.
76base_src_compile() { 135base_src_compile() {
77 136
78 debug-print-function $FUNCNAME $* 137 debug-print-function $FUNCNAME "$@"
79 [ -z "$1" ] && base_src_compile all 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# placeholder for future api so eclasses can be migrated now.
155base_src_make() {
156 debug-print-function $FUNCNAME "$@"
157 base_src_work make
158}
159
160# @FUNCTION: base_src_work
161# @USAGE: [ configure ] [ make ] [ all ]
162# @DESCRIPTION:
163# The base_src_work function is the grunt function for base src_configure
164# and base src_compile.
165base_src_work() {
166
167 debug-print-function $FUNCNAME "$@"
80 168
81 cd "${S}" 169 cd "${S}"
82 170
83 while [ "$1" ]; do 171 while [ "$1" ]; do
84 172
85 case $1 in 173 case $1 in
86 configure) 174 configure)
87 debug-print-section configure 175 debug-print-section configure
176 if [[ -x ${ECONF_SOURCE:-.}/configure ]]
177 then
88 econf || die "died running econf, $FUNCNAME:configure" 178 econf || die "died running econf, $FUNCNAME:configure"
179 fi
89 ;; 180 ;;
90 make) 181 make)
91 debug-print-section make 182 debug-print-section make
183 if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]
184 then
92 emake || die "died running emake, $FUNCNAME:make" 185 emake || die "died running emake, $FUNCNAME:make"
186 fi
93 ;; 187 ;;
94 all) 188 all)
95 debug-print-section all 189 debug-print-section all
96 base_src_compile configure make 190 base_src_work configure make
97 ;; 191 ;;
98 esac 192 esac
99 193
100 shift 194 shift
101 done 195 done
107# @DESCRIPTION: 201# @DESCRIPTION:
108# The base src_install function, which is exported. If no argument is given, 202# The base src_install function, which is exported. If no argument is given,
109# "all" is assumed. 203# "all" is assumed.
110base_src_install() { 204base_src_install() {
111 205
112 debug-print-function $FUNCNAME $* 206 debug-print-function $FUNCNAME "$@"
113 [ -z "$1" ] && base_src_install all 207 [ -z "$1" ] && base_src_install all
114 208
115 cd "${S}" 209 cd "${S}"
116 210
117 while [ "$1" ]; do 211 while [ "$1" ]; do
129 223
130 shift 224 shift
131 done 225 done
132 226
133} 227}
134
135EXPORT_FUNCTIONS src_unpack src_compile src_install

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.20