diff options
author | Gregory M. Tuner <gmt@be-evil.net> | 2014-01-02 11:41:17 -0800 |
---|---|---|
committer | Gregory M. Tuner <gmt@be-evil.net> | 2014-01-02 11:41:17 -0800 |
commit | adc3f3a999ea2d4232c854f271798e1a03603b3e (patch) | |
tree | 1f4d238b9b95f7373e24d5392a588ea65c048254 /dev-lang | |
parent | new eclass: python-utils-multilib-r1 (diff) | |
download | gmt-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/Manifest | 3 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.7.6-includeflags.patch | 33 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.6-r1.ebuild | 206 |
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() { |