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

Diff of /eclass/libtool.eclass

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

Revision 1.25 Revision 1.27
1# Copyright 1999-2004 Gentoo Technologies, Inc. 1# Copyright 1999-2004 Gentoo Technologies, Inc.
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/libtool.eclass,v 1.25 2004/02/11 19:33:14 azarah Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.27 2004/06/08 21:11:50 mr_bones_ Exp $
4# 4#
5# Author: Martin Schlemmer <azarah@gentoo.org> 5# Author: Martin Schlemmer <azarah@gentoo.org>
6# 6#
7# This eclass patches ltmain.sh distributed with libtoolized packages with the 7# This eclass patches ltmain.sh distributed with libtoolized packages with the
8# relink and portage patch among others 8# relink and portage patch among others
9 9
10ECLASS="libtool" 10ECLASS="libtool"
11INHERITED="${INHERITED} ${ECLASS}" 11INHERITED="${INHERITED} ${ECLASS}"
12 12
13newdepend "!bootstrap? ( sys-devel/libtool )" 13DEPEND="!bootstrap? ( sys-devel/libtool )"
14 14
15DESCRIPTION="Based on the ${ECLASS} eclass" 15DESCRIPTION="Based on the ${ECLASS} eclass"
16 16
17ELIBTOOL_VERSION="2.0.1" 17ELIBTOOL_VERSION="2.0.1"
18 18
25# 25#
26ELT_find_ltmain_sh() { 26ELT_find_ltmain_sh() {
27 local x= 27 local x=
28 local dirlist= 28 local dirlist=
29 29
30 for x in $(find "${S}" -name 'ltmain.sh') 30 for x in $(find "${S}" -name 'ltmain.sh')
31 do 31 do
32 dirlist="${dirlist} ${x%/*}" 32 dirlist="${dirlist} ${x%/*}"
33 done 33 done
34 34
35 echo "${dirlist}" 35 echo "${dirlist}"
36} 36}
37 37
38# 38#
39# See if we can apply $2 on $1, and if so, do it 39# See if we can apply $2 on $1, and if so, do it
40# 40#
72 then 72 then
73 patch_dir="${ELT_PATCH_DIR}/$2" 73 patch_dir="${ELT_PATCH_DIR}/$2"
74 else 74 else
75 return ${ret} 75 return ${ret}
76 fi 76 fi
77 77
78 for x in $(ls -d "${patch_dir}"/* 2>/dev/null) 78 for x in $(ls -d "${patch_dir}"/* 2>/dev/null)
79 do 79 do
80 if [ -n "${x}" -a -f "${x}" ] 80 if [ -n "${x}" -a -f "${x}" ]
81 then 81 then
82 # For --remove-internal-dep ... 82 # For --remove-internal-dep ...
84 then 84 then
85 # For replace @REM_INT_DEP@ with what was passed 85 # For replace @REM_INT_DEP@ with what was passed
86 # to --remove-internal-dep 86 # to --remove-internal-dep
87 sed -e "s|@REM_INT_DEP@|$3|g" ${x} > \ 87 sed -e "s|@REM_INT_DEP@|$3|g" ${x} > \
88 ${T}/$$.rem_int_deps.patch 88 ${T}/$$.rem_int_deps.patch
89 89
90 x="${T}/$$.rem_int_deps.patch" 90 x="${T}/$$.rem_int_deps.patch"
91 fi 91 fi
92 92
93 if ELT_try_and_apply_patch "$1" "${x}" 93 if ELT_try_and_apply_patch "$1" "${x}"
94 then 94 then
95 ret=0 95 ret=0
96 break 96 break
97 fi 97 fi
111 local deptoremove= 111 local deptoremove=
112 local my_dirlist= 112 local my_dirlist=
113 local elt_patches="portage relink max_cmd_len sed test tmp" 113 local elt_patches="portage relink max_cmd_len sed test tmp"
114 114
115 my_dirlist="$(ELT_find_ltmain_sh)" 115 my_dirlist="$(ELT_find_ltmain_sh)"
116 116
117 for x in $* 117 for x in $*
118 do 118 do
119 case "${x}" in 119 case "${x}" in
120 "--portage") 120 "--portage")
121 # Only apply portage patch, and don't 121 # Only apply portage patch, and don't
154 154
155 for x in ${my_dirlist} 155 for x in ${my_dirlist}
156 do 156 do
157 local tmp="$(echo "${x}" | sed -e "s|${S}||")" 157 local tmp="$(echo "${x}" | sed -e "s|${S}||")"
158 export ELT_APPLIED_PATCHES= 158 export ELT_APPLIED_PATCHES=
159 159
160 cd ${x} 160 cd ${x}
161 einfo "Patching \${S}$(echo "/${tmp}/ltmain.sh" | sed -e 's|//|/|g')..." 161 einfo "Patching \${S}$(echo "/${tmp}/ltmain.sh" | sed -e 's|//|/|g')..."
162 162
163 for y in ${elt_patches} 163 for y in ${elt_patches}
164 do 164 do
188 *) 188 *)
189 ELT_walk_patches "${x}/ltmain.sh" "${y}" 189 ELT_walk_patches "${x}/ltmain.sh" "${y}"
190 ret=$? 190 ret=$?
191 ;; 191 ;;
192 esac 192 esac
193 193
194 if [ "${ret}" -ne 0 ] 194 if [ "${ret}" -ne 0 ]
195 then 195 then
196 case ${y} in 196 case ${y} in
197 "relink") 197 "relink")
198 # Critical patch, but could be applied ... 198 # Critical patch, but could be applied ...
256 256
257 # We need to change the pwd back to $S, as we may be called in 257 # We need to change the pwd back to $S, as we may be called in
258 # src_compile() 258 # src_compile()
259 cd ${S} 259 cd ${S}
260} 260}
261

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

  ViewVC Help
Powered by ViewVC 1.1.20