summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-11-30 23:53:57 +0000
committerMike Frysinger <vapier@gentoo.org>2011-11-30 23:53:57 +0000
commitbde0b2707e16305e47f61b8e9a10cf2ad1d27f6d (patch)
tree3d1e910b6ae2a96f1b7ad2fcfe6571dd2f2941fb /eclass
parentBased on 3.1.3 + genpatches-3.1-6 + grsecurity-2.2.2-3.1.3-201111262001 (diff)
downloadhistorical-bde0b2707e16305e47f61b8e9a10cf2ad1d27f6d.tar.gz
historical-bde0b2707e16305e47f61b8e9a10cf2ad1d27f6d.tar.bz2
historical-bde0b2707e16305e47f61b8e9a10cf2ad1d27f6d.zip
fix up python libstdc++ helpers: install the core code into the same place as the existing python code, and fix up the pretty printer movers to handle all ABIs and not just the native/32bit
Diffstat (limited to 'eclass')
-rw-r--r--eclass/toolchain.eclass32
1 files changed, 20 insertions, 12 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 5dcf26079793..4cd5f508e64d 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.482 2011/11/22 15:20:48 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.483 2011/11/30 23:53:57 vapier Exp $
#
# Maintainer: Toolchain Ninjas <toolchain@gentoo.org>
@@ -973,6 +973,14 @@ toolchain_src_unpack() {
"${S}"/configure || die
fi
+ # install the libstdc++ python into the right location
+ # http://gcc.gnu.org/PR51368
+ if tc_version_is_at_least 4.5 ; then
+ sed -i \
+ '/^pythondir =/s:=.*:= $(datadir)/python:' \
+ "${S}"/libstdc++-v3/python/Makefile.in || die
+ fi
+
# protoize don't build on FreeBSD, skip it
## removed in 4.5, bug #270558 --de.
if [[ ${GCCMAJOR}.${GCCMINOR} < 4.5 ]]; then
@@ -1126,10 +1134,10 @@ gcc-compiler-configure() {
# bug #279252
#
# --with-python-dir=DIR
- # Specifies where to install the Python modules used for aot-compile. DIR
+ # Specifies where to install the Python modules used for aot-compile. DIR
# should not include the prefix used in installation. For example, if the
# Python modules are to be installed in /usr/lib/python2.5/site-packages,
- # then –with-python-dir=/lib/python2.5/site-packages should be passed.
+ # then --with-python-dir=/lib/python2.5/site-packages should be passed.
#
# This should translate into "/share/gcc-data/${CTARGET}/${GCC_CONFIG_VER}/python"
if tc_version_is_at_least "4.4" ; then
@@ -1825,16 +1833,16 @@ toolchain_src_install() {
chown -R root:0 "${D}"${LIBPATH}
# Move pretty-printers to gdb datadir to shut ldconfig up
- gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/}
- for i in "${D}"${LIBPATH}{,/32}/*-gdb.py; do
- if [[ -e ${i} ]]; then
- basedir="$(dirname ${i/${D}${LIBPATH}/})"
- sed -i -e "s:^\(libdir = \).*:\1'${LIBPATH}${basedir}':" "${i}" #348128
- insinto "${gdbdir}${basedir}"
- doins "${i}"
- rm "${i}"
- fi
+ local py gdbdir=/usr/share/gdb/auto-load${LIBPATH/\/lib\//\/$(get_libdir)\/}
+ pushd "${D}"${LIBPATH} >/dev/null
+ for py in $(find . -name '*-gdb.py') ; do
+ local multidir=${py%/*}
+ insinto "${gdbdir}/${multidir}"
+ sed -i "/^libdir =/s:=.*:= '${LIBPATH}/${multidir}':" "${py}" || die #348128
+ doins "${py}" || die
+ rm "${py}" || die
done
+ popd >/dev/null
# Don't scan .gox files for executable stacks - false positives
export QA_EXECSTACK="usr/lib*/go/*/*.gox"