aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory M. Tuner <gmt@be-evil.net>2014-01-02 11:41:17 -0800
committerGregory M. Tuner <gmt@be-evil.net>2014-01-02 11:41:17 -0800
commitadc3f3a999ea2d4232c854f271798e1a03603b3e (patch)
tree1f4d238b9b95f7373e24d5392a588ea65c048254 /dev-lang
parentnew eclass: python-utils-multilib-r1 (diff)
downloadgmt-adc3f3a999ea2d4232c854f271798e1a03603b3e.tar.gz
gmt-adc3f3a999ea2d4232c854f271798e1a03603b3e.tar.bz2
gmt-adc3f3a999ea2d4232c854f271798e1a03603b3e.zip
media-libs/libffado: clone version from pro-audio
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/python/Manifest3
-rw-r--r--dev-lang/python/files/python-2.7.6-includeflags.patch33
-rw-r--r--dev-lang/python/python-2.7.6-r1.ebuild206
3 files changed, 176 insertions, 66 deletions
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 3758a69..a0d0243 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -9,6 +9,7 @@ AUX python-2.7-issue18851.patch 11805 SHA256 4ecff8db20cdc4d9b0692a126859c318a9b
AUX python-2.7.5-library-path.patch 991 SHA256 ff7a4a1846ebcadc2dbf979ea619072caac22e47909fe188fc4b6becce6ea2eb SHA512 74916d541eb38c526dc1243fe5e5a9de3a7875f02c53e5f49e60182ba042de2f15514364e7fbd821146dcf92db2bba88d8a9f46d4c71237b73fd39cbabf93d85 WHIRLPOOL 62bb1c85941ccaac7ca6f6fb2d93dc27f206cf9f815b90ef1f89748dfdd1d38deda9f6bf7eb2ce9fd8635d1a77576819192e8049ec5de52fdeb9f981dfb32f9f
AUX python-2.7.5-nonfatal-compileall.patch 750 SHA256 3f5a137602f1b3f0522f561c168a740f0080b29c2c888cb3a8dbbcc4407c2d9e SHA512 d2e93e2a6fcd55d516df0ddaca31af97faed677ea6b4be282eb99e7864f8a7399b5ca11139844a4b3c264832183483b0f4c8c9865c05de0e8520e6d2c8f1dbc6 WHIRLPOOL ab576e3a4e67f881d6d5c705503230ace125fe94d907d7f69bb573dd492070b8b34078a2b1205f315eb45244fbae8855c0f15ce35158f1d356f1bd4acf83b3c2
AUX python-2.7.5-re_unsigned_ptrdiff.patch 941 SHA256 5b0c0465a23d27e1c8f0961a8d88b3af75fbc9933ab60c2a71091720a3681079 SHA512 d46fbbc8411fae78cdfca2564faca42f32bb95ee348b9aa3fd1ca90b346cc52cd468945cee07e6df4dff46c10cee6856a58004f8e453960f6dca2751c077802b WHIRLPOOL 10bb08242dd9a055f6bdaf3eb1546786b58f180667c6355ea7276114cbac0ffba6c34822add7965fe3b5d41cc92ce8ec45e2d1d56377d8a6aa2755ef4267d101
+AUX python-2.7.6-includeflags.patch 1495 SHA256 f04b18b09c8e8bddfb9d92186a5457735a036fe541c1510c4b44a1c4005b3d79 SHA512 6b656ab8612798eac4aa09c4bc856d9f71f4df73b0aabbabec5952fbbe71bb2774c7f633f5cbc80e4e9802aba97ba698fdbc9795f3353c591fe888c8ef592fbb WHIRLPOOL e1de6155105c4b87d0b0e649570c60c3ddd7a024e8fb82d4443de3b4a9b5777bf9b9f78fe0236c2f9455d9339df2139002388432560d1be1fa99c9894c6c5a61
AUX python-3.2-CVE-2013-2099.patch 2102 SHA256 76a89951e7efcf14d37e30e0104446429ca121c68cbb1753ec362a177c1b5a54 SHA512 03d2a09fe730bf8c94df1eb10f8bac37a31a28dfb45b7d49abe1c3ffe26ca948f8d00eb58319d34102f8a747a038d447d3507b11c051c778c42ae21ac1066c8e WHIRLPOOL 3cd701c606ef1f4f557d1d250af41a860a6a5c4b6d9ff9a9f469ab6974f13e1205d2c4c791e9bd353fd4ff726f6cbf979f9a3927b83b04af5128c1aea7070496
AUX python-3.2-issue16248.patch 738 SHA256 b5e94ead2622f355d733232dcfdac4dab53889aab12980fa1e4496c296191e77 SHA512 6fcf3d4cf05e41758a6d51ad9cc25ce9fcd1d33854f096b599811a07ef6b7f0cc4f178c4db6b15c5c9ee86eb53fcc736fede0dfb4eae81ca429d0fad62d84db9 WHIRLPOOL dd620bdce394a74910f4deed50b8bcd2b5d6b61af1e2e225a7c36fe4f293560fe1237a2111a4a4a334dfd1272fa4b7faf6289b2a018864c4f154c8a8a8b85c5c
AUX python-3.3-CVE-2013-2099.patch 2102 SHA256 d5ccc8de43a176d9d16c3a7be58d32dcf3c952147d8866f84dffcd8fa66f6396 SHA512 a8e2c8fd3d3c3924acb856e89b6dc6965c887688e4c7d078c27abacfaf6b33b12484d86942b75643f28e4a14a465e2ec6a30fe53acf2ab036ae667fb7f76d737 WHIRLPOOL c02bd815d5143b6a916a91f40bb7971f1be188e836ab6095a5befd6410545acba0d44b4b0a75a5f7e7d84105018c0ef27887eefdcd883c73e68f872bb4138e35
@@ -19,7 +20,7 @@ DIST Python-3.3.3.tar.xz 12057744 SHA256 339275b30a1a3fef1589016bf6302c14e870f7a
DIST python-gentoo-patches-2.7.6-0.tar.xz 13916 SHA256 01971f3cfe464d80a775d2838a519b16715be02fce0145a0c4fdc361fa57ef49 SHA512 32b0d3f49294d2f7935be459bbcf0892598fc856a266abea11f4cd109e174f4de8b8bef8b74737253e1820b6de23f5df070a0927dcc499adf607eb5ac11c3709 WHIRLPOOL fb9a448ebebc7b7c68ad4460c7ae51e1619224570540e15d6b6c05039ed09da52acd364374c9f85d8d36c299d86394a078e0fb10bfb359b83a91426f1a886066
DIST python-gentoo-patches-3.2.5-0.tar.xz 13892 SHA256 ebbfacc81486493ce4c16a697e53d77e9dc5c9d700e86cf92ae93b5e3e03abee SHA512 6d09ef5ed583dedd587d4247c7d0e99daf20d7cadb7afbcf4d951931e3a574a82f1b9dbc4e4f93d3dc55773808452284f50dee2fbfb6b68aff5f1f53c1665359 WHIRLPOOL 55b1ba0a25612b3987af93e252dd2dbd71ff0f4ff0bcadda9ba0b11e19278acdb3fa91166a854dcbe3d27bb570a104ee63a3976111d6f608614f7b3d9f734f67
DIST python-gentoo-patches-3.3.3-0.tar.xz 12992 SHA256 38b5c604416947fdd7d87ada2ccd3febf7407f00c1e67e6a99be8765f1b25c49 SHA512 d803b287c0f407c68dd766974296239419fb35441f1796081681f28d17b1f6c7e50e0aae807ad147469eb586db8fe486a013a166cb76e08f2b7a9ba39acb1760 WHIRLPOOL 09a9dbd1831c2e7022f4df27b57435dd1df7eace294e8fa069ce5fa5c1719f64ba9bcd8f27d614a8c13ee8605db37c7e75c13fa14885b76ce289667bf2871aaf
-EBUILD python-2.7.6-r1.ebuild 10038 SHA256 da6771fbecb5dd4a9a48d58ed6c9ea4301cb27ea8c9fa1dcc6bbb8d193a32e93 SHA512 e32ebcdac234d9b4d39bf109e2303d08e2088256d6de0cdca233b3e295d5eb957533d32178d8943bf75a9853198110b76c519a469a90b7aead9044c2f191e688 WHIRLPOOL defeea6d5172c66c16789843e30b40088384651cadf51a9ddb61b65f6daeb14844e275aaf040b75d265d0b43907e2bdb21bc056d5617b591eca39219a95bb9d1
+EBUILD python-2.7.6-r1.ebuild 12576 SHA256 fc49b898e8a1a361035b8967444e33987b85ade13969e779cef7b379b0d1c6d3 SHA512 94327b2d914176208613f38d7243d9e448ff3219cea38c2453be62eefba28eb15975290d2c6667f17e270b8a49b375a4c0d460470715195d1ce50d846f69b873 WHIRLPOOL aacdfadd6f882f8d1158ce0f5bfd7ddf6dda08530f8bc70ece73ffcb24bba148bb9a401114ca12bddac11f0d14c74abd43495ab2591ae3b30ae35a28ff46baf2
EBUILD python-3.2.5-r4.ebuild 10625 SHA256 ec1ff663e5451d2e021b362d016238900e4153f7bac28e25b9a5901d3e1aa684 SHA512 8856676c5e120c1230e4f17dac4b14f6dcf647102e755ae3f769564255a98ded4a629240a33f93cd5d8c47fa951c25bc3f12aba74ce4cdf6927151ae11c27d16 WHIRLPOOL 68725726c33faab42be22c1bfdd7041e688f57154244db97932e524b62d578397c1fd3099c36cf957d0c62e286c7c0dfe1906b22fd74f2767bc2758b1cfbb513
EBUILD python-3.3.3-r1.ebuild 9072 SHA256 84f9ffa940b13349f1acba7573c767f79d319794d13cc789f2ead6dbb01812b4 SHA512 18a6cfd83df529c29ac82e8de652e058e4ad8ac67c62414339c5f4f869ba673b7d55d6c93911fbb32af9b8f0314be3b55598cf6ad6cb0a9a4560c30cbab019c7 WHIRLPOOL 1fbedf693cf990337958b6c58e885579f57b5d58735a11f3dab0a027803ebb1b9750cb01a872f27b89f01d0b382ee0639c4abc9fe3791402bbd5381cbb07c518
MISC ChangeLog 27576 SHA256 d9b6928b2234df665a3ce1868f4452b24d2cc7e012e6ac08c116d8b786ab4859 SHA512 c54030c7f02a0663eea1c2a0fb5b9d0377b9245bb1de7330e85d341a05c7c3c6db117df20ac121fa1e549da3e76470714c9e4b723499716f00ee8ae6d4a64d50 WHIRLPOOL 8a878d2be539d36d6fd4102df9d493c63b528cd46a7ee3b0c89429a2370bdab90c50925e73adaf4c5920cef23efd54993d5b0e0d2cd5d946648a97b2bbbb7405
diff --git a/dev-lang/python/files/python-2.7.6-includeflags.patch b/dev-lang/python/files/python-2.7.6-includeflags.patch
new file mode 100644
index 0000000..a76dcdd
--- /dev/null
+++ b/dev-lang/python/files/python-2.7.6-includeflags.patch
@@ -0,0 +1,33 @@
+diff -urpN Python-2.7.6.orig/Misc/python-config.in Python-2.7.6/Misc/python-config.in
+--- Python-2.7.6.orig/Misc/python-config.in 2014-01-02 05:59:02.832703535 -0800
++++ Python-2.7.6/Misc/python-config.in 2014-01-02 06:57:36.856587292 -0800
+@@ -37,8 +37,18 @@ for opt in opt_flags:
+ print sysconfig.EXEC_PREFIX
+
+ elif opt in ('--includes', '--cflags'):
++ pyi = sysconfig.get_python_inc(plat_specific=True)
+ flags = ['-I' + sysconfig.get_python_inc(),
+- '-I' + sysconfig.get_python_inc(plat_specific=True)]
++ '-I' + pyi]
++
++ # gentoo multilib header de-wrappification
++ chost = os.getenv('CTARGET')
++ if not chost:
++ chost = os.getenv('CHOST')
++ if chost:
++ if pyi.endswith('/python%s' % pyver):
++ flags.insert(0, '-I' + pyi.rsplit('/python%s' % pyver, 1)[0] + '/%s/python%s' % (chost, pyver))
++
+ if opt == '--cflags':
+ flags.extend(getvar('CFLAGS').split())
+ print ' '.join(flags)
+diff -urpN Python-2.7.6.orig/Misc/python.pc.in Python-2.7.6/Misc/python.pc.in
+--- Python-2.7.6.orig/Misc/python.pc.in 2013-11-09 23:36:41.000000000 -0800
++++ Python-2.7.6/Misc/python.pc.in 2014-01-02 07:24:35.488961005 -0800
+@@ -9,5 +9,5 @@ Requires:
+ Version: @VERSION@
+ Libs.private: @LIBS@
+ Libs: -L${libdir} -lpython@VERSION@
+-Cflags: -I${includedir}/python@VERSION@
++Cflags: -I${includedir}/@host_alias@/python@VERSION@ -I${includedir}/python@VERSION@
+
diff --git a/dev-lang/python/python-2.7.6-r1.ebuild b/dev-lang/python/python-2.7.6-r1.ebuild
index f9d4b0c..4e14c3f 100644
--- a/dev-lang/python/python-2.7.6-r1.ebuild
+++ b/dev-lang/python/python-2.7.6-r1.ebuild
@@ -6,7 +6,7 @@ EAPI="4"
WANT_AUTOMAKE="none"
WANT_LIBTOOL="none"
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
+inherit autotools eutils flag-o-matic multilib pax-utils python-utils-multilib-r1 toolchain-funcs multiprocessing multilib-minimal
MY_P="Python-${PV}"
PATCHSET_REVISION="0"
@@ -19,7 +19,7 @@ SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
LICENSE="PSF-2"
SLOT="2.7"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+KEYWORDS="~amd64"
IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 +ncurses +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
# Do not add a dependency on dev-lang/python to this ebuild.
@@ -27,36 +27,36 @@ IUSE="-berkdb build doc elibc_uclibc examples gdbm hardened ipv6 +ncurses +readl
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
-RDEPEND="app-arch/bzip2
- >=sys-libs/zlib-1.1.3
- virtual/libffi
- virtual/libintl
+RDEPEND="app-arch/bzip2[${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.1.3[${MULTILIB_USEDEP}]
+ virtual/libffi[${MULTILIB_USEDEP}]
+ virtual/libintl[${MULTILIB_USEDEP}]
!build? (
berkdb? ( || (
- sys-libs/db:5.3
- sys-libs/db:5.2
- sys-libs/db:5.1
- sys-libs/db:5.0
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5
- sys-libs/db:4.4
- sys-libs/db:4.3
- sys-libs/db:4.2
+ sys-libs/db:5.3[${MULTILIB_USEDEP}]
+ sys-libs/db:5.2[${MULTILIB_USEDEP}]
+ sys-libs/db:5.1[${MULTILIB_USEDEP}]
+ sys-libs/db:5.0[${MULTILIB_USEDEP}]
+ sys-libs/db:4.8[${MULTILIB_USEDEP}]
+ sys-libs/db:4.7[${MULTILIB_USEDEP}]
+ sys-libs/db:4.6[${MULTILIB_USEDEP}]
+ sys-libs/db:4.5[${MULTILIB_USEDEP}]
+ sys-libs/db:4.4[${MULTILIB_USEDEP}]
+ sys-libs/db:4.3[${MULTILIB_USEDEP}]
+ sys-libs/db:4.2[${MULTILIB_USEDEP}]
) )
- gdbm? ( sys-libs/gdbm[berkdb] )
+ gdbm? ( sys-libs/gdbm[berkdb,${MULTILIB_USEDEP}] )
ncurses? (
- >=sys-libs/ncurses-5.2
- readline? ( >=sys-libs/readline-4.1 )
+ >=sys-libs/ncurses-5.2[${MULTILIB_USEDEP}]
+ readline? ( >=sys-libs/readline-4.1[${MULTILIB_USEDEP}] )
)
- sqlite? ( >=dev-db/sqlite-3.3.8:3 )
- ssl? ( dev-libs/openssl )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3[${MULTILIB_USEDEP}] )
+ ssl? ( dev-libs/openssl[${MULTILIB_USEDEP}] )
tk? (
- >=dev-lang/tk-8.0
- dev-tcltk/blt
+ >=dev-lang/tk-8.0[${MULTILIB_USEDEP}]
+ dev-tcltk/blt[${MULTILIB_USEDEP}]
)
- xml? ( >=dev-libs/expat-2.1 )
+ xml? ( >=dev-libs/expat-2.1[${MULTILIB_USEDEP}] )
)
!!<sys-apps/portage-2.1.9"
DEPEND="${RDEPEND}
@@ -70,6 +70,19 @@ PDEPEND="app-admin/eselect-python
S="${WORKDIR}/${MY_P}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ ^/usr/include/python${SLOT}/pyconfig.h
+)
+MULTILIB_WRAPPED_EXECUTABLES=(
+ /usr/bin/python${SLOT}
+ /usr/bin/python${SLOT}-config
+ /usr/bin/2to3-${SLOT}
+ /usr/bin/pydoc${SLOT}
+ /usr/bin/idle${SLOT}
+)
+MULTILIB_PARALLEL_PHASES=( src_configure src_compile )
+
pkg_setup() {
if use berkdb; then
ewarn "'bsddb' module is out-of-date and no longer maintained inside"
@@ -100,6 +113,19 @@ src_prepare() {
# Fix for cross-compiling.
epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
+ # multilib header includes
+ local abis=( $(multilib_get_enabled_abis) )
+ [[ ${#abis[@]} -gt 1 ]] && \
+ epatch "${FILESDIR}/python-2.7.6-includeflags.patch"
+
+ epatch_user
+
+ multilib_copy_sources
+
+ multilib_parallel_foreach_abi multilib-build_run_in_build_dir abi_src_prepare
+}
+
+abi_src_prepare() {
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
Lib/distutils/command/install.py \
Lib/distutils/sysconfig.py \
@@ -111,8 +137,6 @@ src_prepare() {
Modules/getpath.c \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
- epatch_user
-
eautoconf
eautoheader
}
@@ -162,28 +186,40 @@ src_configure() {
use hardened && replace-flags -O3 -O2
fi
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+ if use berkdb; then
+ dbmliborder+="${dbmliborder:+:}bdb"
+ fi
+
+ multilib-minimal_src_configure
+}
+
+multilib_src_configure() {
# Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
- tc-export CXX
+ local CXX
+ export CXX="${CXX:-$(tc-getCXX)}"
+
# The configure script fails to use pkg-config correctly.
# http://bugs.python.org/issue15506
- export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
+ export ac_cv_path_PKG_CONFIG=${PKG_CONFIG:-$(tc-getPKG_CONFIG)}
# Set LDFLAGS so we link modules with -lpython2.7 correctly.
# Needed on FreeBSD unless Python 2.7 is already installed.
# Please query BSD team before removing this!
+ local LDFLAGS="${LDFLAGS}"
append-ldflags "-L."
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
- if use berkdb; then
- dbmliborder+="${dbmliborder:+:}bdb"
- fi
+ local BUILD_DIR="${BUILD_DIR}"
+ local S="${BUILD_DIR}"
+
+ local ABI="${ABI:-default}"
+ BUILD_DIR="${WORKDIR}/${CHOST}-${ABI}"
- BUILD_DIR="${WORKDIR}/${CHOST}"
mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null || die
ECONF_SOURCE="${S}" OPT="" \
econf \
@@ -199,13 +235,24 @@ src_configure() {
--enable-loadable-sqlite-extensions \
--with-system-expat \
--with-system-ffi
+
+ if use threads && grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+ popd > /dev/null || die
}
-src_compile() {
+multilib_src_compile() {
+ local S="${BUILD_DIR}"
+ local ABI="${ABI:-default}"
+ local BUILD_DIR="${WORKDIR}/${CHOST}-${ABI}"
+
# Avoid invoking pgen for cross-compiles.
touch Include/graminit.h Python/graminit.c
- cd "${BUILD_DIR}" || die
+ pushd "${BUILD_DIR}" > /dev/null || die
emake
# Work around bug 329499. See also bug 413751 and 457194.
@@ -214,22 +261,26 @@ src_compile() {
else
pax-mark m python
fi
+ popd > /dev/null || die
}
-src_test() {
+multilib_src_test() {
+ local S="${BUILD_DIR}"
+ local ABI="${ABI:-default}"
+ local BUILD_DIR="${WORKDIR}/${CHOST}-${ABI}"
+ pushd "${BUILD_DIR}" > /dev/null || die
+
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
- cd "${BUILD_DIR}" || die
-
# Skip failing tests.
local skipped_tests="distutils gdb"
for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
+ mv "${S}"/Lib/test/test_${test}.py "${T}/test_${test}-${ABI}.py"
done
# Rerun failed tests in verbose mode (regrtest -w).
@@ -237,7 +288,7 @@ src_test() {
local result="$?"
for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
+ mv "${T}/test_${test}-${ABI}.py" "${S}/Lib/test/test_${test}.py"
done
elog "The following tests have been skipped:"
@@ -252,19 +303,20 @@ src_test() {
if [[ "${result}" -ne 0 ]]; then
die "emake test failed"
fi
+ popd > /dev/null || die
}
-src_install() {
- local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
+multilib_src_install() {
+ local S="${BUILD_DIR}"
+ local ABI="${ABI:-default}"
+ local BUILD_DIR="${WORKDIR}/${CHOST}-${ABI}"
+ pushd "${BUILD_DIR}" > /dev/null || die
- cd "${BUILD_DIR}" || die
emake DESTDIR="${D}" altinstall
+ local libdir=${ED}usr/$(get_libdir)/python${SLOT}
sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die "sed failed"
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
-
# Fix collisions between different slots of Python.
mv "${ED}usr/bin/2to3" "${ED}usr/bin/2to3-${SLOT}"
mv "${ED}usr/bin/pydoc" "${ED}usr/bin/pydoc${SLOT}"
@@ -283,26 +335,13 @@ src_install() {
use threads || rm -r "${libdir}/multiprocessing" || die
use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
- dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- doins -r "${S}"/Tools
- fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
- newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
- sed \
- -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
- -e "s:@PYDOC@:pydoc${SLOT}:" \
- -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
-
# for python-exec
- python_export python${SLOT} EPYTHON PYTHON PYTHON_SITEDIR
+ python_export python${SLOT}-${ABI} EPYTHON PYTHON PYTHON_SITEDIR
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
@@ -312,6 +351,43 @@ src_install() {
echo "EPYTHON='${EPYTHON}'" > epython.py
python_domodule epython.py
+
+ popd > /dev/null || die
+}
+
+multilib_src_install_all() {
+ # Backwards compat with Gentoo divergence.
+ dosym python${SLOT}-config /usr/bin/python-config-${SLOT}
+
+ dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ insinto /usr/share/doc/${PF}/examples
+ doins -r "${S}"/Tools
+ fi
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${SLOT/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${SLOT}:" \
+ -i "${ED}etc/conf.d/pydoc-${SLOT}" "${ED}etc/init.d/pydoc-${SLOT}" || die "sed failed"
+
+ declare -a abis=( $(multilib_get_enabled_abis) )
+ local abi file abifile
+ local bestabi=${abis[$(( ${#abis[@]} - 1 ))]}
+ for abi in "${abis[@]}" ; do
+ for file in "${MULTILIB_WRAPPED_EXECUTABLES[@]#@}" ; do
+ [[ ${file} == /usr/bin/python${SLOT} ]] && continue
+ # the rest want shebang hacks
+ abifile="${ED}${file#/}-${abi}"
+ if [[ -f ${abifile} ]] ; then
+ python_rewrite_shebang_multilib "python${SLOT}-${abi}" "${abifile}"
+ else
+ die "Couldn't find \"${abifile}\""
+ fi
+ done
+ done
}
pkg_preinst() {