summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haubenwallner <haubi@gentoo.org>2014-04-14 15:59:20 +0200
committerMichael Haubenwallner <haubi@gentoo.org>2014-04-14 15:59:20 +0200
commit798baf64243c6efef25eaf0c6fe63cc7f122669f (patch)
treeadbd48b4dec5eadabcf6fb17f9698e0ea5b9d8af /dev-lang/python
parentbootstrap-prefix.sh: Avoid a circular dependency between glib and (diff)
downloadprefix-798baf64243c6efef25eaf0c6fe63cc7f122669f.tar.gz
prefix-798baf64243c6efef25eaf0c6fe63cc7f122669f.tar.bz2
prefix-798baf64243c6efef25eaf0c6fe63cc7f122669f.zip
python-2.7 on AIX: Allow importing libtool-built (shared archive member) python modules.
(Portage version: 2.2.8-prefix/hg/AIX 00F773C04C00, signed Manifest commit with key A630CCB8)
Diffstat (limited to 'dev-lang/python')
-rw-r--r--dev-lang/python/ChangeLog4
-rw-r--r--dev-lang/python/Manifest25
-rw-r--r--dev-lang/python/files/python-2.7-aix-dlopen-soname.patch63
-rw-r--r--dev-lang/python/python-2.7.5-r4.ebuild2
4 files changed, 72 insertions, 22 deletions
diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog
index 9a4aedf945..2f975a1d8e 100644
--- a/dev-lang/python/ChangeLog
+++ b/dev-lang/python/ChangeLog
@@ -2,6 +2,10 @@
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.725 2013/12/30 21:57:26 floppym Exp $
+ 14 Apr 2014; Michael Haubenwallner <haubi@gentoo.org> python-2.7.5-r4.ebuild,
+ +files/python-2.7-aix-dlopen-soname.patch:
+ Allow importing libtool-built (shared archive member) python modules.
+
06 Mar 2014; redlizard <redlizard@gentoo.org>
+files/python-2.7-libffi-pkgconfig.patch,
+files/python-3.2-libffi-pkgconfig.patch, python-2.7.5-r4.ebuild,
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 196ac00535..528c9d6214 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -1,10 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
AUX CVE-2013-4238_py27.patch 11591 SHA256 050cc2d4b9d588f2587010a30819591e02130fde90594782993a39c945c1559b SHA512 f9b1d0573bc7175b8fe6bdd8b6777a376cd717a594a14a6ddb334e0107596b0fbfbfe8a0c1743a0da54ce8ac8905cb7385aa2ae26698272f679763542c13e7e2 WHIRLPOOL bbf89edb2e3620aae3f54e80feba98d75fa566594b2e71e88b75c22036201a2692a77daf56080f4413612edf159f4282f5494a0a5dd11b350bcde248ef51f139
AUX CVE-2013-4238_py33.patch 11437 SHA256 e4f78490fc247df9d1133dc9f2deec47b1c582c4af1c8e93bd503d889c9eb716 SHA512 d1f1b64c46056f178b89abfe61c7c653afc0ed67cf9a8ef8c981d1cf6a1c389cb20bd354cac3a30c1241e6fe24a49e165527571276c1f8afb55989f5f069ba00 WHIRLPOOL e5889b6be0a2db7ec45ff8cbe9fa8481c6c69b25091b62635d2ff595ef5d0b1136485f7adb04f4c0c97402edfd9d915d4fd05e2b6bf1942497d81de1b1cefdce
AUX pydoc.conf 513 SHA256 a2286629ff90ff441234e5651675aa4e3b2844916a1135e59b65bd6922cf4778 SHA512 1c0058f96b9634021d3bb370e44edaf31886a07f7c84f220679e1ad722b83180e4b73824395029f79ce7643a0ef63bc94b62a6569e32f81c158acbdcef2b32e5 WHIRLPOOL 3163671c44d671e82420e2daa022fd4e6b4f1329fbb9e89777247d022530063505e2e857be9f661e756e4ad2e7f23b317fd67b4d3d8a84d3389203c4e66ca7ac
AUX pydoc.init 1310 SHA256 535233cdf3e61384e60156f5c20788832634a26feea171a61ee4b67416e5fa76 SHA512 f50bc060f5a59fa91ecab72ce90cab1c16db17fd986d702da9d7dea353f9038469bb863f9ae3c885b44dae2f642ba12f0329f9271709fff502289415748bb1ef WHIRLPOOL 82debb2e7453944c3b9d9f5618541763cc0074c1c189739a819864f09812eb53a95e469d93a68e7e525e9707d430500da74270d011652cf5a9c0946511388838
+AUX python-2.7-aix-dlopen-soname.patch 1899 SHA256 3c44d8289e312302400b5cbdc421845c21de58bdf1e2d0198cc37fe8cfc0c99a SHA512 018f5206a2d6d9b6782f6c4121cc4eb4ca67bed37181c64c01ee18cbcebcf5201a846cee4b3d8428256b19d2cdefc90c825437bcf1a672a5cd7a70e003136886 WHIRLPOOL b6ee726b85eee4f9da3b88892e6f1bddfe75acbb2b6d1509c3a1249f29f981d94ae541241f1153b8ee476d3a2fe8f404745862f9c345f2a886e2d26835a9435f
AUX python-2.7-issue16248.patch 735 SHA256 ed137a0ab513e6d9c910e37f637aef2d58fb730070e447572f39d46d9cc99568 SHA512 da00f8571741d4cfb529b9db875b5d831d5d8e43fdc464bc43adee046f208165ab6b13d671bc90be988b1099afeac4fc0e7ba7fa473ff74a9ec7731da89e11a9 WHIRLPOOL ad770b848666efb5cc3b8c07a530f2a9aaca683f4b447c2d835e39be59a5dde35a28ab8cdb278ecf456e15e57b7401ff83fb04ac71bd8d80abc19d45beb84d62
AUX python-2.7-issue17919.patch 1942 SHA256 4d4d048a9b08861910b0fa771e8c9956b7eb085a1ac6547e7af7a26f5ce3ff1b SHA512 af686a7c73910f09d6341185520958a4e146c79042ec617ef74c46f3794035e69968af7b0eb484222f95c8738686413e6dcc551195fa81329d6494751d415fc1 WHIRLPOOL 6eb4e1a5e37049d216c7d27fda0db3b0d9c0a0a1b9e8aa0550543e5c095928fae4f93b57fef98b50d1a2b38faed98c74be7bf6ea1a78f509b46f1b54888e6ed8
AUX python-2.7-issue18235.patch 1532 SHA256 1e6a4857613469ef05d50eb869a90987aa356a454b255d29cbc4a91bd2e62a37 SHA512 23279e1e8a59a9bbf98b4f7001554dd008b57dadc0605e33926329d017f822116793146fb2ce48a1ba2582843e1d57c3009910a733167bb8ef987c8f182df1a3 WHIRLPOOL a7154a17e52e1d7400dca6be6d08172b8827e1766ed26c82f3b367c36e9b99b122a87f49acfc8852ca00e4d701e20eb7f23b617e105c3a4133729d9fd161b0d7
@@ -32,25 +30,8 @@ DIST python-gentoo-patches-3.3.3-0.tar.xz 12992 SHA256 38b5c604416947fdd7d87ada2
DIST python-prefix-2.7.5-gentoo-patches-r3.tar.bz2 19249 SHA256 fe83de95e6bbb920c3cd47b78dea84c7da76adce275843c731497ae0de94ff9b SHA512 f00960658837d0c3cb5b797439ad3e2a271fcb6c2fc53c3fffda716bbe3f4047bcf4818bff817a720b37cf4c496c7b3a23357e292631e81e364791d009636541 WHIRLPOOL 505b55b191725e28c9ac3cf000938eb556f690c0f71606b06ec4953b2a5c9c0facbca0f0643750a772fb832a6c664eb0eb6257fd2430a225ceaee7d31ff77f4f
DIST python-prefix-3.2.5-gentoo-patches-r0.tar.bz2 9594 SHA256 350924a35c352915d619aea9077ef26707b2621683cca926de5cb55b5dc429fa SHA512 63eb12cea50a9d3a557071f47f4d8200153c495f7e8f9853508194b56b8e16da956fe0e6b790085f4ecdcc8d5c29a0c50664fee1bd522d52d98a43c2bceb28ea WHIRLPOOL e5335f7df1bf21f5303e90048c15d5cf0d539b269a428a417e8678c74f8ab630691456c6e02476bf223531d12e44f7cfb71f6b631f371c8a0dc454e4e5d3607a
DIST python-prefix-3.3.3-gentoo-patches-r1.tar.bz2 13844 SHA256 f942e833341f6d8e0115d4fad91f5320818694a83dd6835cb8901dfa265fc677 SHA512 a605c556780bc3f9e98d14e46308862946a20c9a5b45b0201200d2616e375f35286802204defe7ba3c6b9dd8b52212bdda170aac8dc786345ef21362e7809810 WHIRLPOOL c3133e1f1e5c2eaff98b2bd2111db9491197c0403c86848566f725cb24600110cab92d69810007cdc6ee6d1ab5f953e004b997ab81da9c03d02db13f63155fce
-EBUILD python-2.7.5-r4.ebuild 19371 SHA256 d6b5878ff9b39bb833a703071cd673372f19dacf9e28ddb532e2d7695bc2a440 SHA512 d4dda49a099ccee7fb8a60ccdc9563f34233c363f52d7b1d60ffc4035e1467692784e461663f2e9a225024ee5419ae55f5d69065140811462f61c91504c4e559 WHIRLPOOL aeee8134406c04fa888f4fc3ea09f16c17f3e9d746d6b0faac7cf7f2c6464af1e8624943dd156e99b6bddab6e2f5649e10c881901df3bc5e414e3847ddf0f660
+EBUILD python-2.7.5-r4.ebuild 19453 SHA256 21e9e74b62b1652db4ccf7a7a3f0d2d1b1912da88f3f0911dedbb2225085dff7 SHA512 6c7b721c7589fc822fe3d807aa0045deb1ca367ae129724c566fabe0a1f8b8a7acb1a441e7e7a138a2123ed17acb7701550adc20eccdb3503a755e39076e65e4 WHIRLPOOL 9a7e771bdc02f95fdf98420aaff7b8ca8d310132e4ae2a7c24f051faeab60fa986bdc7fd9e9ce8d7b1f8990446cb47ab2edaaf0c44350879268b91cc99a069d2
EBUILD python-3.2.5-r3.ebuild 12196 SHA256 094ae57f8c45ac82c473a491a670c5706eda0390263c6bc6b1b56e15dac80415 SHA512 aee1f45c23cd0b8d4f1932d50d06474cef2c64d27e3ee1efa6ff64e533d90d3527e72432e71b41816ff231dc0ef9e011c680b72a100bda580486f12d26a87de6 WHIRLPOOL 9af4b000213b8a0d29bf3168d444cb445f69b21d78e3eee3ea7df9b419df87e124d630b60a517716ef715f58c58583b50c4dcf6f092f45f946cf917f16df0b17
EBUILD python-3.3.3.ebuild 12048 SHA256 bda83e74c8c9705f251d87200d66be086c3698d9f4fe35031015aea1defa8878 SHA512 762586fd5bc802ca4f7e4ab9390f916d014e0198024add0e5a8900b5ebdc84ed55bef5e280786b047b4a23f5cfcb23a8bcf5ae63b38dc4ffefc74e952ba1b085 WHIRLPOOL f50499009a2ba36e80f00afc3b2310f99a5ef01a9934e5f6f8a1300631c8031b1e9e6f7b63b863145140a3e9dc479e2290ff419ccb592987e4808ae215e528d8
-MISC ChangeLog 131958 SHA256 45d13bc6909d625fbc9576ba28f071519b3c69e4a308389ccf4f5c53133cdf9f SHA512 20064d6cd1e25a48884d9fedeb64a996039b6e6a065dcc1fdc1845c329e0c752a29a89e77a229556bb1f17ea9c48133bb0d8b8f44cb144261a670427e503562b WHIRLPOOL fa4d81ca3d5db31a40ccfe161f1d562c1116451d40be07c564b70196317731756b3ab5d85e830eedcd9a24c49dc55aa74b97be438bdf0c3479922a20ac48a6b4
+MISC ChangeLog 132156 SHA256 ffbaf57e374301bba0d537f589306967f904ce4cc006e48d52bf698013946e85 SHA512 d2a4965ef25b58a7f40c4b29d9b62cce6df4499bb765013507839e5357a9bf2c8a426f58342dc0e9e4426758f268cb574542e50095d8e0f6318d30248a13102c WHIRLPOOL 010d0f50bbcafc6c61a4b9a9c8d00c9c5371fe15c46f372b4a36bdab8fe14dc5d1292f67a9ccf3ab3bea12345a8f5855467fa0e61109355554e29cb0ad05a741
MISC metadata.xml 748 SHA256 63f4ed548a8515b69d253fdfe4d6cf06d5922467fe7bc3650c731603cbf5ba15 SHA512 75a65b559616f3cb0ef9c40da962621cec4af52c1085771fafe0e014c3d4f39b9203fb86352cce67798b4a2d509b23870477130a4cc3db7964db4f9fadb27fcf WHIRLPOOL 8d95e3a9ba671f47e0c176378aa424b3d492bf781e7be6861db3ba02d67f3c327c500011a3d47215bf88a82d50e5ce8e156626dd9b87bbf5fd3d75762436dd56
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.10 (GNU/Linux)
-
-iQIcBAEBCAAGBQJTF/rpAAoJEMcu9QQQ+wFrptQQAKNSD6YOAp2vpA1JDjNpsFms
-cuTzwfZ5vICddTB8mM2bkk5+3Fp5jeqrtXHaVoocohGJmV9NJKO0NbV81A8oWvOR
-i/3b8v/rJ5q+ewoqJtFHEHt9xwt6xYN7/VTawGifU7PImUAnmpskT6C7tU/3OGB6
-lu0PLhRCjzt8TV4s1soVgtwn2UzHu86o7gFKDn9aBn1EBUPqoAVeI15EZahACnIg
-VigbGvImg/zBBQsDeTprIhFNtRiraeBbeyBjdITrfUeJOND7HvR+eaTntwF0AOjC
-ebVU2yHinMI8FNRTDyE3JtdAhwH9L4OWyRdRSn8ROmppIiTSE8lcggkVHtCSWTj4
-SB7BXjkzyAi4WPYj+kToxVF9eVJm55gzYBCCHfk+oeTlLR+QkBk+JKfbUzVKpoBS
-YhaALAbEnCjPbjFD7Sd3DPGftJT9n3B+n4vRt1jDJ3TkTWat80SJWERJ3uSkU9JA
-Jt2KUpkqdcn8NGBrRsYrouBhxutWyM0V3kBWeOuAZyFM3tT1B+oTOy7j3EWXIqRX
-KV2gpuvjqKx1wGaG8V5w97oNyDpZmP+dccIf19gkqb9rid2q03KC5TEKCXLDaxZp
-AIPlUo8nRPgj01T1sBvRvmOCRWgP0+fQ0H3tAtCQlwV5Gsj2U2JJmHEoBkoWf2dj
-fbpGN51J+SzGhILAtFwl
-=U1fK
------END PGP SIGNATURE-----
diff --git a/dev-lang/python/files/python-2.7-aix-dlopen-soname.patch b/dev-lang/python/files/python-2.7-aix-dlopen-soname.patch
new file mode 100644
index 0000000000..ccd0faca20
--- /dev/null
+++ b/dev-lang/python/files/python-2.7-aix-dlopen-soname.patch
@@ -0,0 +1,63 @@
+With libtool, we have shared object file "shr.o" as archive member on AIX,
+see bug#213277 for more details.
+
+--- Python/dynload_shlib.c.orig 2014-04-11 15:44:19 +0200
++++ Python/dynload_shlib.c 2014-04-11 16:25:18 +0200
+@@ -161,6 +161,29 @@
+
+ handle = dlopen(pathname, dlopenflags);
+
++#ifdef RTLD_MEMBER
++ if (handle == NULL && errno == ENOEXEC) {
++ /* Exec format error: File exists, try libtool's "aix-soname" variant. */
++# ifdef __64BIT__
++# define shr_o "(shr_64.o)"
++# else
++# define shr_o "(shr.o)"
++# endif
++ char *buf = malloc(strlen(pathname) + strlen(shr_o) + 1);
++ if (buf != NULL) {
++ sprintf(buf, "%s%s", pathname, shr_o);
++ dlopenflags |= RTLD_MEMBER;
++
++ if (Py_VerboseFlag)
++ PySys_WriteStderr("dlopen(\"%s\", %x);\n", buf,
++ dlopenflags);
++
++ handle = dlopen(buf, dlopenflags);
++ free(buf);
++ }
++ }
++#endif
++
+ if (handle == NULL) {
+ const char *error = dlerror();
+ if (error == NULL)
+--- Modules/dlmodule.c.orig 2014-04-11 16:32:39 +0200
++++ Modules/dlmodule.c 2014-04-11 16:34:59 +0200
+@@ -185,6 +185,25 @@
+ #endif
+ }
+ handle = dlopen(name, mode);
++
++#ifdef RTLD_MEMBER
++ if (handle == NULL && errno == ENOEXEC) {
++ /* Exec format error: File exists, try libtool's "aix-soname" variant. */
++# ifdef __64BIT__
++# define shr_o "(shr_64.o)"
++# else
++# define shr_o "(shr.o)"
++# endif
++ char *buf = malloc(strlen(name) + strlen(shr_o) + 1);
++ if (buf != NULL) {
++ sprintf(buf, "%s%s", name, shr_o);
++ mode |= RTLD_MEMBER;
++ handle = dlopen(buf, mode);
++ free(buf);
++ }
++ }
++#endif
++
+ if (handle == NULL) {
+ char *errmsg = dlerror();
+ if (!errmsg)
diff --git a/dev-lang/python/python-2.7.5-r4.ebuild b/dev-lang/python/python-2.7.5-r4.ebuild
index bb669b2a3f..7bd694f75a 100644
--- a/dev-lang/python/python-2.7.5-r4.ebuild
+++ b/dev-lang/python/python-2.7.5-r4.ebuild
@@ -129,6 +129,8 @@ src_prepare() {
# Fix for cross-compiling.
epatch "${FILESDIR}/python-2.7.5-nonfatal-compileall.patch"
+ epatch "${FILESDIR}"/python-2.7-aix-dlopen-soname.patch # libtool-built modules
+
# On AIX, we've wrapped /usr/ccs/bin/nm to work around long TMPDIR.
sed -i -e "/^NM=.*nm$/s,^.*$,NM=$(tc-getNM)," Modules/makexp_aix || die