summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2012-08-13 20:19:37 +0000
committerFabian Groffen <grobian@gentoo.org>2012-08-13 20:19:37 +0000
commit9d986fa6011bdac6ba3759c4e6d328d5ff169b0f (patch)
tree3350b63d6d5da48ac84f83e4771396755b3c6c49 /dev-lang/perl
parentversion bump (diff)
downloadgentoo-2-9d986fa6011bdac6ba3759c4e6d328d5ff169b0f.tar.gz
gentoo-2-9d986fa6011bdac6ba3759c4e6d328d5ff169b0f.tar.bz2
gentoo-2-9d986fa6011bdac6ba3759c4e6d328d5ff169b0f.zip
Fix misdetection of lib dirs on certain Prefix hosts, bug #425538
(Portage version: 2.2.01.20837-prefix/cvs/Darwin i386)
Diffstat (limited to 'dev-lang/perl')
-rw-r--r--dev-lang/perl/ChangeLog6
-rw-r--r--dev-lang/perl/files/eblits/src_configure-v50160001.eblit20
2 files changed, 17 insertions, 9 deletions
diff --git a/dev-lang/perl/ChangeLog b/dev-lang/perl/ChangeLog
index 10bc90ae236a..7c19ba93da66 100644
--- a/dev-lang/perl/ChangeLog
+++ b/dev-lang/perl/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-lang/perl
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.386 2012/08/09 14:38:29 tove Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/ChangeLog,v 1.387 2012/08/13 20:19:37 grobian Exp $
+
+ 13 Aug 2012; Fabian Groffen <grobian@gentoo.org>
+ files/eblits/src_configure-v50160001.eblit:
+ Fix misdetection of lib dirs on certain Prefix hosts, bug #425538
*perl-5.16.1 (09 Aug 2012)
diff --git a/dev-lang/perl/files/eblits/src_configure-v50160001.eblit b/dev-lang/perl/files/eblits/src_configure-v50160001.eblit
index 00982e9ea0e7..e3f524737236 100644
--- a/dev-lang/perl/files/eblits/src_configure-v50160001.eblit
+++ b/dev-lang/perl/files/eblits/src_configure-v50160001.eblit
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_configure-v50160001.eblit,v 1.2 2012/07/08 09:43:42 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/perl/files/eblits/src_configure-v50160001.eblit,v 1.3 2012/08/13 20:19:37 grobian Exp $
myconf() {
# the myconf array is declared in src_configure
@@ -83,14 +83,18 @@ eblit-perl-src_configure() {
local paths=""
echo "int main() {}" > "${T}"/t.c
# need to ensure dirs contain compatible libs,
- # bugs #358875, #400839
+ # bugs #358875, #400839, use scanelf for #425538
+ $(tc-getCC) -o "${T}"/t "${T}"/t.c > /dev/null || die
+ local scantool=scanelf
+ [[ ${CHOST} == *-darwin* ]] && scantool=scanmacho
+ local mtype=$(${scantool} -BF "%a#f" "${T}"/t)
for ldir in /lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib ; do
- [[ -d ${ldir} ]] || continue
- # find a random lib from here
- llib=( ${ldir}/*$(get_libname) )
- [[ -e ${llib[0]} ]] || continue
- $(tc-getCC) -o "${T}"/t "${T}"/t.c ${llib[0]} >& /dev/null \
- && paths="${paths} ${ldir}"
+ [[ -d ${ldir} ]] || continue
+ # find a random lib from here
+ llib=( ${ldir}/*$(get_libname) )
+ [[ -e ${llib[0]} ]] || continue
+ [[ $(${scantool} -BF "%a#f" ${llib[0]}) == ${mtype} ]] \
+ && paths="${paths} ${ldir}"
done
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
elif [[ $(get_libdir) != "lib" ]] ; then