summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2013-10-27 06:57:52 +0000
committerFabian Groffen <grobian@gentoo.org>2013-10-27 06:57:52 +0000
commit922b26bd5b17b3693523f345baa74afbc02198a6 (patch)
tree254e7e4adbaaeeae82dac9eeedcd593ac8831f31 /dev-lang/python
parentBump ebuildshell patch, bug#155161. (diff)
downloadprefix-922b26bd5b17b3693523f345baa74afbc02198a6.tar.gz
prefix-922b26bd5b17b3693523f345baa74afbc02198a6.tar.bz2
prefix-922b26bd5b17b3693523f345baa74afbc02198a6.zip
sync
(Portage version: 2.2.7-prefix/svn/Darwin i386, signed Manifest commit with key 0x5F75F607C5C74E89)
Diffstat (limited to 'dev-lang/python')
-rw-r--r--dev-lang/python/ChangeLog17
-rw-r--r--dev-lang/python/Manifest26
-rw-r--r--dev-lang/python/files/python-2.7-issue16248.patch19
-rw-r--r--dev-lang/python/files/python-2.7-issue18851.patch287
-rw-r--r--dev-lang/python/files/python-3.2-issue16248.patch19
-rw-r--r--dev-lang/python/files/python-3.2.3-x32.patch20
-rw-r--r--dev-lang/python/python-2.7.4.ebuild591
-rw-r--r--dev-lang/python/python-2.7.5-r4.ebuild (renamed from dev-lang/python/python-2.7.5-r2.ebuild)4
-rw-r--r--dev-lang/python/python-3.2.3-r2.ebuild374
-rw-r--r--dev-lang/python/python-3.2.5-r3.ebuild (renamed from dev-lang/python/python-3.2.5-r2.ebuild)3
10 files changed, 356 insertions, 1004 deletions
diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog
index c92b34e417..117c075f86 100644
--- a/dev-lang/python/ChangeLog
+++ b/dev-lang/python/ChangeLog
@@ -1,6 +1,21 @@
# ChangeLog for dev-lang/python
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.709 2013/10/10 08:06:30 djc Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.711 2013/10/26 15:11:20 floppym Exp $
+
+*python-2.7.5-r4 (26 Oct 2013)
+
+ 26 Oct 2013; Mike Gilbert <floppym@gentoo.org>
+ +files/python-2.7-issue18851.patch, +python-2.7.5-r4.ebuild:
+ Apply patch to fix regression in subprocess module, bug 489378.
+
+*python-2.7.5-r3 (16 Oct 2013)
+*python-3.2.5-r3 (16 Oct 2013)
+
+ 16 Oct 2013; Mike Gilbert <floppym@gentoo.org>
+ +files/python-2.7-issue16248.patch, +files/python-3.2-issue16248.patch,
+ +python-2.7.5-r3.ebuild, +python-3.2.5-r3.ebuild, -python-2.7.5-r2.ebuild,
+ -python-3.2.5-r2.ebuild:
+ Apply upstream fix for regression in Tkinter, bug 488208 by jlec.
20 Oct 2013; Fabian Groffen <grobian@gentoo.org> python-2.7.5-r2.ebuild:
Fix unintended die on FreeMiNT, bug #488610
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index b660cba277..1baa9ae50c 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -5,38 +5,32 @@ AUX CVE-2013-4238_py27.patch 11591 SHA256 050cc2d4b9d588f2587010a30819591e02130f
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-issue16248.patch 735 SHA256 ed137a0ab513e6d9c910e37f637aef2d58fb730070e447572f39d46d9cc99568 SHA512 da00f8571741d4cfb529b9db875b5d831d5d8e43fdc464bc43adee046f208165ab6b13d671bc90be988b1099afeac4fc0e7ba7fa473ff74a9ec7731da89e11a9 WHIRLPOOL ad770b848666efb5cc3b8c07a530f2a9aaca683f4b447c2d835e39be59a5dde35a28ab8cdb278ecf456e15e57b7401ff83fb04ac71bd8d80abc19d45beb84d62
+AUX python-2.7-issue18851.patch 11805 SHA256 4ecff8db20cdc4d9b0692a126859c318a9ba20bf1eff6e633c964871b2410d66 SHA512 b1eeec1451d011f37c65676819bf8391b9657d93a0b9f03d0db09956ef052fa3f2d922d1d5fc3c69567f549aa86f65a06670dcf3ead8300c0ac97651f9a503cd WHIRLPOOL b4b51d590175959df1f8373ff86343618b4474ea9afc2ef9360c680c986f30fa8f432eeb076de676cb87052cc6453a2b613dfaab51ab1ec5945a7c7c496a4f9f
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-3.2-CVE-2013-2099.patch 2102 SHA256 76a89951e7efcf14d37e30e0104446429ca121c68cbb1753ec362a177c1b5a54 SHA512 03d2a09fe730bf8c94df1eb10f8bac37a31a28dfb45b7d49abe1c3ffe26ca948f8d00eb58319d34102f8a747a038d447d3507b11c051c778c42ae21ac1066c8e WHIRLPOOL 3cd701c606ef1f4f557d1d250af41a860a6a5c4b6d9ff9a9f469ab6974f13e1205d2c4c791e9bd353fd4ff726f6cbf979f9a3927b83b04af5128c1aea7070496
-AUX python-3.2.3-x32.patch 654 SHA256 dd957a8ff5d861c0b8f88f068c8bd4eebb84c58ec6b12466d15812e666f08913 SHA512 d9d528bc4e3bd4f16bb7cbd5135e02bf61c6e430ac0e81f18884013fd16c04f6c1368f54356dc6beefb40dee964cb81d5e6debe586905738311b863673b26d4b WHIRLPOOL 166ac0611176c313729ad2245c0549c7017553073646015d2d29fa0da7f56e264b6e3402e5c1c93378b94669328dc293dbd02776e10d13e5f97455e4df694298
+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
-DIST Python-2.7.4.tar.xz 10250644 SHA256 b6626eb6d07d72351f251116ab14427fc934b5f24e6ebc751356a44a7d23b62d SHA512 e6cd1cd4b09adcf72cee30d53b33eb1bdcffefa85bce7d9a8a6e842def0987a6fef7e99168b1fabdb1919dc6f5b2797238eeeca1719d419ea7f40cbf234c6a2c WHIRLPOOL 6c502ba97f44579ce47e18fa7e6379e6dfb3f33e6f048782afd9ceda4f43e4de1084bc25c26f3d8cce401b6e732efd5e01d5d12b99b6fa2c3a0211168b6b99e5
DIST Python-2.7.5.tar.xz 10252148 SHA256 f33c4cab167dc69e10962e1cebf1c0768e2d0e8575648130c20e6bda84551db1 SHA512 c4691199d770cc4130604cd801375967ae0bb8a39ef34e01a4c8ab58d1c23ae83a1b493305178c4317c5622a19857750d33ffc3f10075becd5766ae664c68ee1 WHIRLPOOL fc5d3762cd67214b30de8b43024f5952362c4c811f23837e43ac2a7747c5353cc49b8785e75edd760ea58420609cd67a9a7e94abd2ea8ab25b3271af6a85168d
-DIST Python-3.2.3.tar.xz 8970368 SHA256 23c16f621f21e54987079765c060196cbe50235c7867147c6126d433054b1754 SHA512 80a84cc0818b28e0d52828cf23e3618dc25bde5d40dad3d76f1f66d36bdbe14845d6a8582659b304320564ba53cbd5e917f7d435998bbb4c4e2004474d1e7154 WHIRLPOOL 2bdf34a09b12d7b0d7c2df921b74d355eb2ac5dd9d9d979e493f1dba5bbc11034a5b8dfaf11c4210952a56165f8e1d7c0b9badad374fb7ac2236851f93035d0f
DIST Python-3.2.5.tar.xz 9221624 SHA256 8ccb9645b9779fc4550055b2ebb21a724ab7a63dee45643286eb4f79b2f84116 SHA512 6e71d01695c7b1e74d9781e4ac40a8d1560cae659d5351d392fc685b84316568d93740a99d2ed878dd87d4ce1708d0474cb01c6bad7b3dab610c639f3255b09d WHIRLPOOL d5e5fae5e1d4110861e1e1dac00c9812abbbc37205e8ce3cd268535ab9f66e24038ab4778af8bb834fd472eaa0281730f1f2fabdf6dffc4f6b54ef32c1d75953
DIST Python-3.3.2.tar.xz 11847676 SHA256 745b32c4b810e36fa66346198dbc2e313524fd68888922b85005656825e64b43 SHA512 2855cfed63f2e68cdfc02dc526f68402e893baf95146ba8254619b5a8e3bfbc07a3b7f089efe2450dc1b0bb1328c229b66664bde8ebda10a1f19fc02232ba74d WHIRLPOOL c8ffaea4b130bcfd112966ee82fa6023e0c2bf263494a1c233d783855e7407e0d62adacabe3d816fe93baf5964f7cfc256aedf2919fd8e6b1e9b37a855855c2c
-DIST python-gentoo-patches-2.7.4-2.tar.xz 13944 SHA256 26268be3d79ae9a4669035f8bdba26b044a2b6e5b5a3177e4e32d0bf114dadbf SHA512 0d2eab1f7a62b55d0746ad7bc92df366a3eff453182deb99cd37acaa7e0a006bb530ce2eb64839dfc4bddee37d6b8b64fdad06949147c33f04c43226ea79a2f6 WHIRLPOOL bfcb2b28402a1223878aff5ef550945e169e43c8fab56073c99f96dec1c9c55af2a78877036c2fee1200c1c61b2f4c89b2a2abb51e4c601ac7df08e33d77bc94
DIST python-gentoo-patches-2.7.5-0.tar.xz 13848 SHA256 b84ff6a7669d639272cb2f94d4268d3be3af64903a380f4f60ab539e4a29b111 SHA512 9fec0ba9d958894861d4282ff9145f0387ad7fd3914a3689d148308f56158c1b397f0816c58383d2cf198f9a3b9bf321f2f441ec4aa91e4a503cd957b4a7fbd4 WHIRLPOOL 39d807453f6510f14db1b74f5dac1cd2c52d00be356d132c0f9229caeb8ba8bcbbbf32b05b3d3f6236e853b204ecb961e6b12cabacaadf5f515e93f00cda71d5
-DIST python-gentoo-patches-3.2.3-0.tar.bz2 14265 SHA256 2ad8829aa6594edc405afd0ed148a2b4b608d7c6f09ea90bfb90d87580a4784b SHA512 1ea0c8711ec5952a8c0bafeaceec0d8f8821123fe4f622626b57c6e0b1065c349885537b933a4ef22c29e6c8f6c44f44dec587892a2b13dbfe92ec342f16197d WHIRLPOOL b6f6a4d8e7dcafbf944266d1b5744c71568ddb0c21c5b54c5e041ef8bfd5e1fc5a1e68fa3083d8a466182022a07ebe88d536a4742a5fe0443e5d73d5d4bc64ed
DIST python-gentoo-patches-3.2.5-0.tar.xz 13892 SHA256 ebbfacc81486493ce4c16a697e53d77e9dc5c9d700e86cf92ae93b5e3e03abee SHA512 6d09ef5ed583dedd587d4247c7d0e99daf20d7cadb7afbcf4d951931e3a574a82f1b9dbc4e4f93d3dc55773808452284f50dee2fbfb6b68aff5f1f53c1665359 WHIRLPOOL 55b1ba0a25612b3987af93e252dd2dbd71ff0f4ff0bcadda9ba0b11e19278acdb3fa91166a854dcbe3d27bb570a104ee63a3976111d6f608614f7b3d9f734f67
DIST python-gentoo-patches-3.3.2-2.tar.xz 12884 SHA256 a99b7dade4659dcba7ae8ae137dd163460416a1aee170db888f15132d93d5374 SHA512 3694fa15839d7d0b74179115ae2e9b87503c68c1cf2a43124b762b2f1f133cc6c89c57c2c5ee09c94afde13bf13689f34acd831a6498c6112d181581b1592a3b WHIRLPOOL f48a549323b2b5ec7fdcbf8c31625cb570b7a8fab3f504d87af91449f5cf64b3f7309f99fdb1d2825d57d6aa8ec063851afc78466ddd465a0374b77ba8b1c1ee
-DIST python-prefix-2.7.4-gentoo-patches-r0.tar.bz2 18581 SHA256 df232421aea59a0c7a240d010c0ea9387ca74e255b8216dbec842bc7c5683384 SHA512 42a958f14c2c16fd1a9cdd3dbe7bbec12825f6c870ef145b9fea2f06a3de58b05b6d93a484d19ddf9daabdcb9e7abc4f22b73ff0ef9764a43c429d8cbb715d4b WHIRLPOOL 77df0d9bf5ac5d9b12d812ad680c36f99998eb38965ebbde06e13f007beea8606fb972522044f2fc5e62cc82354e8f98cb1986f40a7815bc443db52bac035fc7
DIST python-prefix-2.7.5-gentoo-patches-r2.tar.bz2 18638 SHA256 91f2f2298ba3e5f6879a9327914f080eb5c2fa5c598fec38d283e1074e6da753 SHA512 16a67c7b32a0ff70a7ec1137f3d037664c5adb6c0008125b565fd9b8d25c64150aaa0a36c98ced0fc162688ba260db47fbff3221bab973f58409121e4b6ed1cb WHIRLPOOL ea11d64d0a07093eb9a7831b09989bace8d4d9dee2596167de42c4b0588e7eeaea3fc3170b2da028628a9a3099b2db1ca673db954f86a83db9d3ff24a28e623c
-DIST python-prefix-3.2.3-gentoo-patches-r0.tar.bz2 9474 SHA256 b26f604675556e46cb90fb25350474fd83fdc777ccf8564ea126f9f5846ead6d SHA512 6a6ade04fd416c53f37de5da826794239eae50fd115519b2adf86731b7abbc27b95ca2d3d656fce3b250e44eec5f7cb62d5090eb5ede8f89bdb0d26bdcf3f3cd WHIRLPOOL 686993050a37c36ee30efabc58ccca09a128b9fb01e397cfe6e365bbf24c2b664e5d357584c5a7d0964c798e7a5dd6dd84f46b9156abb243b9dffce7e2a358da
DIST python-prefix-3.2.5-gentoo-patches-r0.tar.bz2 9594 SHA256 350924a35c352915d619aea9077ef26707b2621683cca926de5cb55b5dc429fa SHA512 63eb12cea50a9d3a557071f47f4d8200153c495f7e8f9853508194b56b8e16da956fe0e6b790085f4ecdcc8d5c29a0c50664fee1bd522d52d98a43c2bceb28ea WHIRLPOOL e5335f7df1bf21f5303e90048c15d5cf0d539b269a428a417e8678c74f8ab630691456c6e02476bf223531d12e44f7cfb71f6b631f371c8a0dc454e4e5d3607a
DIST python-prefix-3.3.2-gentoo-patches-r2.tar.bz2 12531 SHA256 678dff0fb6225b3609fcb9af47f7fbccb55c6f7b047627b306bf1d2a06d85070 SHA512 10d8d906679f4031f009d5ca454f510e897fb2a6b4a9e33ce5efa0cd2d06666aebe817538d461b480b1f8ee282b831620078fc08d8555e7558da0c1aadb2c070 WHIRLPOOL 94e2ecb4709bf968d63644f80deab48cd08475ddbcf179232b5e2ff0da3c7937e1ea86b0b748ebec7529e957152b2cbf5ed5d9634fd53dc94ccfddc5810e5483
-EBUILD python-2.7.4.ebuild 19872 SHA256 7da1eb353f4939713caebae89fa38990beb5a31bdfb92d79093399b7c1da84a2 SHA512 a53113958225393f28e0ea3a76fe69ec953b3ba27ed9aa5ada048c4bddd6c5a954d6d527edd3804d87b2eec2d3ba8151f0796b0650c999da2abc3ec57742cee3 WHIRLPOOL 8bd1d438e7639daad1d47a23a8d8411084196ac253bbafc51717fce305ee0ac4a80b03ec1fa3fc892b54c9cc42031df252857db1e4c16a1c36fd50c2d2cc0071
-EBUILD python-2.7.5-r2.ebuild 18608 SHA256 1299bc53bde19685962be50de645feea242bedd28b4d88307cec5b02b9b5de43 SHA512 26c5fc089a69387c18e16a1e43c21f0d762fb99cfa03ebd38fa03016da018ca5640c92bd41ac03443cfd4d98e225303bdc6c226b9e24e702ddd31719c28a02d2 WHIRLPOOL 26d9ab818d27e3e88d61ff9aa8de6796f92831d2fe660e31fe9c72398e1ab4f2094cc6001a4af2f06f20ba00d61ee2c75c53280979e2521ec04a51505a6d3d7c
-EBUILD python-3.2.3-r2.ebuild 11305 SHA256 86c467c22a1faddd426af8d3ff9b191107673ed9c1ab0199c0969b70e4117dac SHA512 52907502ee18f2dbbfb9a0bf2128b78bb42488583c3f2385ae5d15f098cf35aba16768634578eceadb59b5313b988e4b96e11fcb848192f01cde644dc8343de8 WHIRLPOOL 7e8d89388ed5cc3f1117830ab1b04c7a6b82f495d52f65b204b06b017eef40444568234129af81532db19acbebbb5210f94e6a0d6f5b0178816551f623f2faa9
-EBUILD python-3.2.5-r2.ebuild 11352 SHA256 10b1caac76a98cc785a9968e56594f3fa52804af28355dd8c31e613b0fb4f711 SHA512 912b3d1147f0a27540e5feebaf47378626edffad4556aac8f753491ce292a29f5e82f962778fdd1708efc6cb6627e567b98d3e52048ccf31c59639ab5b101114 WHIRLPOOL 8fcc676b545595b1de0c58c588397b5d1039578643a98b1f52159f1777a66ae13e5508c45eb54901986f8424de298902438ac4c5012f37240e4dc38383ede8bb
+EBUILD python-2.7.5-r4.ebuild 18707 SHA256 d9ad77d788af6c21da726edc3f5bdff758b7108d3f69980c30e1415cc8c0338e SHA512 180778c70b1fcfcd169d0e21076284b0b427532d9d8392e3860570669ae71de46a6bafb30c0ae702356428e5e1f2e3be22287038c68a78333ae2a70b6c9c7158 WHIRLPOOL 90aee9380384c05219bf34305ac3cf659c25b08ec5afbb349fbe85e65b64b6f67ae1fca728e5de80d076bf3559e3c45294e9f42c160f73f65e8128715536d1f2
+EBUILD python-3.2.5-r3.ebuild 11401 SHA256 69501cdb4ee529787c4825f79f9eb102ee6ad723d655bb9d5b3488861a78ed98 SHA512 44d82ef53ac0289677bd2a5f5454066cd0351eb4e715d5f2ac5398ca016d16fd11fe153af03bbb083516bcd1dff9c7969bba4b4b2b6a664fbaf3991e91015eee WHIRLPOOL 163f6381b1328f98d6e781d92fabe77bca071a948260e4eb2e2a137f0786aff94a2372bdf0a30ac013ad34fd4aa67a3cddf57620fef87ae887541fc531ef70ad
EBUILD python-3.3.2-r2.ebuild 9773 SHA256 f499166a91b579696ac5abbaebdfe5c0b464cc42e9cec924485b170b0ee77a8d SHA512 42d84656925c0f1790279e6dbb415a06ebcbefe411f79ec68c521a9679c1c955106504f47b591c47f2d2d0789e1af83a4ba11421029510ade71ea9bd98215b34 WHIRLPOOL d885941f43d1ce85a6bd6bf73d45ad3ca1f53ab482d4558fba070f3c175664e09278e6f4c542612fdd3a6b039073af98f73a5ba5b0da3d48c5bfa1c79174221d
-MISC ChangeLog 127405 SHA256 640d1a090df82e2d321211af08972da92426b927d0c4832f3f1cc3cd8ee114bd SHA512 a4e562f5e35ed2439bc32bec39399fb4a25a409e23e401a7898fa04bc74a85715558701fd04c5004a70a5240fa73f65fd135ee2177c43693499aa6359cc6bfe6 WHIRLPOOL 763ade0e5307cacc1c60bf505e775f1a31b719eb75ddca2c705a83738f5374f55864dd6dc8e3dfb55a9daa6027776fd3807cef9918fcbe29c072c9e4dde0c3a1
+MISC ChangeLog 127979 SHA256 175576ad3ee879421e0717a922535b29dac0f59254eefc1398b7db800e1c17aa SHA512 c9f160f243d7d6674307e2836882d60bf315c3bce08d41d16276ff4fb44efd4d501dcf35e7bad92d2dc2dd0cc71ae7c8aecd003326a93b515a7e825deba981b8 WHIRLPOOL 940305290a39f24cbc21453667651c6c88ee974d51bbf877f7d746db560b94893007d423b87e0b752fe1afd7ddf2a212e53934a8d1cfb7b57d1e43f2d2f578e9
MISC metadata.xml 661 SHA256 2c6c3407251f7ccd6501dee49494e539a9544f2fbae99a4373eefdf4e83e8908 SHA512 871989a29417ce20d95da950fa385f1a958139de7b1567beb9cda28a1217901243cd9d25235fe3c7b0e43a82176d72286e31e4e97310b26488d2a3252ef3a8a0 WHIRLPOOL b694b1b4270ba15640d04a3b0b26a08575ea4afc9be256717f7f3b1768d75da9f71ceca6afd2f69971906227d5ba42263d2df2fc9387441aa240222d39fd094e
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.21 (SunOS)
+Version: GnuPG v2.0.22 (Darwin)
-iEYEAREIAAYFAlJkHWIACgkQX3X2B8XHTomX0wCfS/0uraQz5VkPtrY9h36PFRbv
-r8wAnA6u8CSqTZfMGq/wB7e+5I95QPhX
-=3Kyn
+iEYEAREIAAYFAlJsueIACgkQX3X2B8XHTomBvgCfRK9w2Mzthiop+ZiKQT75yAES
+FesAnjt8e+6r5Var+4qUcEhIZJND+N0W
+=ikS1
-----END PGP SIGNATURE-----
diff --git a/dev-lang/python/files/python-2.7-issue16248.patch b/dev-lang/python/files/python-2.7-issue16248.patch
new file mode 100644
index 0000000000..ce9c654c56
--- /dev/null
+++ b/dev-lang/python/files/python-2.7-issue16248.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User Antoine Pitrou <solipsis@pitrou.net>
+# Date 1375388712 -7200
+# Node ID 0f17aed78168e63ec058c219d03cea7240f83dd6
+# Parent bb546f6d8ab4f513804d7a420657963881e5b447
+Fix tkinter regression introduced by the security fix in #16248.
+
+diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
+--- a/Lib/lib-tk/Tkinter.py
++++ b/Lib/lib-tk/Tkinter.py
+@@ -1736,7 +1736,7 @@ class Tk(Misc, Wm):
+ # ensure that self.tk is always _something_.
+ self.tk = None
+ if baseName is None:
+- import sys, os
++ import os
+ baseName = os.path.basename(sys.argv[0])
+ baseName, ext = os.path.splitext(baseName)
+ if ext not in ('.py', '.pyc', '.pyo'):
diff --git a/dev-lang/python/files/python-2.7-issue18851.patch b/dev-lang/python/files/python-2.7-issue18851.patch
new file mode 100644
index 0000000000..35c69ae22e
--- /dev/null
+++ b/dev-lang/python/files/python-2.7-issue18851.patch
@@ -0,0 +1,287 @@
+# HG changeset patch
+# User Antoine Pitrou <solipsis@pitrou.net>
+# Date 1377898693 -7200
+# Node ID 43749cb6bdbd0fdab70f76cd171c3c02a3f600dd
+# Parent ba54011aa295004ad87438211fe3bb1568dd69ab
+Issue #18851: Avoid a double close of subprocess pipes when the child process fails starting.
+
+diff --git a/Lib/subprocess.py b/Lib/subprocess.py
+--- a/Lib/subprocess.py
++++ b/Lib/subprocess.py
+@@ -698,12 +698,12 @@ class Popen(object):
+
+ (p2cread, p2cwrite,
+ c2pread, c2pwrite,
+- errread, errwrite) = self._get_handles(stdin, stdout, stderr)
++ errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr)
+
+ try:
+ self._execute_child(args, executable, preexec_fn, close_fds,
+ cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
++ startupinfo, creationflags, shell, to_close,
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite)
+@@ -711,18 +711,12 @@ class Popen(object):
+ # Preserve original exception in case os.close raises.
+ exc_type, exc_value, exc_trace = sys.exc_info()
+
+- to_close = []
+- # Only close the pipes we created.
+- if stdin == PIPE:
+- to_close.extend((p2cread, p2cwrite))
+- if stdout == PIPE:
+- to_close.extend((c2pread, c2pwrite))
+- if stderr == PIPE:
+- to_close.extend((errread, errwrite))
+-
+ for fd in to_close:
+ try:
+- os.close(fd)
++ if mswindows:
++ fd.Close()
++ else:
++ os.close(fd)
+ except EnvironmentError:
+ pass
+
+@@ -816,8 +810,9 @@ class Popen(object):
+ """Construct and return tuple with IO objects:
+ p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
+ """
++ to_close = set()
+ if stdin is None and stdout is None and stderr is None:
+- return (None, None, None, None, None, None)
++ return (None, None, None, None, None, None), to_close
+
+ p2cread, p2cwrite = None, None
+ c2pread, c2pwrite = None, None
+@@ -835,6 +830,10 @@ class Popen(object):
+ # Assuming file-like object
+ p2cread = msvcrt.get_osfhandle(stdin.fileno())
+ p2cread = self._make_inheritable(p2cread)
++ # We just duplicated the handle, it has to be closed at the end
++ to_close.add(p2cread)
++ if stdin == PIPE:
++ to_close.add(p2cwrite)
+
+ if stdout is None:
+ c2pwrite = _subprocess.GetStdHandle(_subprocess.STD_OUTPUT_HANDLE)
+@@ -848,6 +847,10 @@ class Popen(object):
+ # Assuming file-like object
+ c2pwrite = msvcrt.get_osfhandle(stdout.fileno())
+ c2pwrite = self._make_inheritable(c2pwrite)
++ # We just duplicated the handle, it has to be closed at the end
++ to_close.add(c2pwrite)
++ if stdout == PIPE:
++ to_close.add(c2pread)
+
+ if stderr is None:
+ errwrite = _subprocess.GetStdHandle(_subprocess.STD_ERROR_HANDLE)
+@@ -863,10 +866,14 @@ class Popen(object):
+ # Assuming file-like object
+ errwrite = msvcrt.get_osfhandle(stderr.fileno())
+ errwrite = self._make_inheritable(errwrite)
++ # We just duplicated the handle, it has to be closed at the end
++ to_close.add(errwrite)
++ if stderr == PIPE:
++ to_close.add(errread)
+
+ return (p2cread, p2cwrite,
+ c2pread, c2pwrite,
+- errread, errwrite)
++ errread, errwrite), to_close
+
+
+ def _make_inheritable(self, handle):
+@@ -895,7 +902,7 @@ class Popen(object):
+
+ def _execute_child(self, args, executable, preexec_fn, close_fds,
+ cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
++ startupinfo, creationflags, shell, to_close,
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite):
+@@ -934,6 +941,10 @@ class Popen(object):
+ # kill children.
+ creationflags |= _subprocess.CREATE_NEW_CONSOLE
+
++ def _close_in_parent(fd):
++ fd.Close()
++ to_close.remove(fd)
++
+ # Start the process
+ try:
+ hp, ht, pid, tid = _subprocess.CreateProcess(executable, args,
+@@ -958,11 +969,11 @@ class Popen(object):
+ # pipe will not close when the child process exits and the
+ # ReadFile will hang.
+ if p2cread is not None:
+- p2cread.Close()
++ _close_in_parent(p2cread)
+ if c2pwrite is not None:
+- c2pwrite.Close()
++ _close_in_parent(c2pwrite)
+ if errwrite is not None:
+- errwrite.Close()
++ _close_in_parent(errwrite)
+
+ # Retain the process handle, but close the thread handle
+ self._child_created = True
+@@ -1088,6 +1099,7 @@ class Popen(object):
+ """Construct and return tuple with IO objects:
+ p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
+ """
++ to_close = set()
+ p2cread, p2cwrite = None, None
+ c2pread, c2pwrite = None, None
+ errread, errwrite = None, None
+@@ -1096,6 +1108,7 @@ class Popen(object):
+ pass
+ elif stdin == PIPE:
+ p2cread, p2cwrite = self.pipe_cloexec()
++ to_close.update((p2cread, p2cwrite))
+ elif isinstance(stdin, int):
+ p2cread = stdin
+ else:
+@@ -1106,6 +1119,7 @@ class Popen(object):
+ pass
+ elif stdout == PIPE:
+ c2pread, c2pwrite = self.pipe_cloexec()
++ to_close.update((c2pread, c2pwrite))
+ elif isinstance(stdout, int):
+ c2pwrite = stdout
+ else:
+@@ -1116,6 +1130,7 @@ class Popen(object):
+ pass
+ elif stderr == PIPE:
+ errread, errwrite = self.pipe_cloexec()
++ to_close.update((errread, errwrite))
+ elif stderr == STDOUT:
+ errwrite = c2pwrite
+ elif isinstance(stderr, int):
+@@ -1126,7 +1141,7 @@ class Popen(object):
+
+ return (p2cread, p2cwrite,
+ c2pread, c2pwrite,
+- errread, errwrite)
++ errread, errwrite), to_close
+
+
+ def _set_cloexec_flag(self, fd, cloexec=True):
+@@ -1170,7 +1185,7 @@ class Popen(object):
+
+ def _execute_child(self, args, executable, preexec_fn, close_fds,
+ cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
++ startupinfo, creationflags, shell, to_close,
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite):
+@@ -1189,6 +1204,10 @@ class Popen(object):
+ if executable is None:
+ executable = args[0]
+
++ def _close_in_parent(fd):
++ os.close(fd)
++ to_close.remove(fd)
++
+ # For transferring possible exec failure from child to parent
+ # The first char specifies the exception type: 0 means
+ # OSError, 1 means some other error.
+@@ -1283,17 +1302,17 @@ class Popen(object):
+ # be sure the FD is closed no matter what
+ os.close(errpipe_write)
+
+- if p2cread is not None and p2cwrite is not None:
+- os.close(p2cread)
+- if c2pwrite is not None and c2pread is not None:
+- os.close(c2pwrite)
+- if errwrite is not None and errread is not None:
+- os.close(errwrite)
+-
+ # Wait for exec to fail or succeed; possibly raising exception
+ # Exception limited to 1M
+ data = _eintr_retry_call(os.read, errpipe_read, 1048576)
+ finally:
++ if p2cread is not None and p2cwrite is not None:
++ _close_in_parent(p2cread)
++ if c2pwrite is not None and c2pread is not None:
++ _close_in_parent(c2pwrite)
++ if errwrite is not None and errread is not None:
++ _close_in_parent(errwrite)
++
+ # be sure the FD is closed no matter what
+ os.close(errpipe_read)
+
+diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
+--- a/Lib/test/test_subprocess.py
++++ b/Lib/test/test_subprocess.py
+@@ -14,6 +14,10 @@ try:
+ import resource
+ except ImportError:
+ resource = None
++try:
++ import threading
++except ImportError:
++ threading = None
+
+ mswindows = (sys.platform == "win32")
+
+@@ -629,6 +633,36 @@ class ProcessTestCase(BaseTestCase):
+ if c.exception.errno not in (errno.ENOENT, errno.EACCES):
+ raise c.exception
+
++ @unittest.skipIf(threading is None, "threading required")
++ def test_double_close_on_error(self):
++ # Issue #18851
++ fds = []
++ def open_fds():
++ for i in range(20):
++ fds.extend(os.pipe())
++ time.sleep(0.001)
++ t = threading.Thread(target=open_fds)
++ t.start()
++ try:
++ with self.assertRaises(EnvironmentError):
++ subprocess.Popen(['nonexisting_i_hope'],
++ stdin=subprocess.PIPE,
++ stdout=subprocess.PIPE,
++ stderr=subprocess.PIPE)
++ finally:
++ t.join()
++ exc = None
++ for fd in fds:
++ # If a double close occurred, some of those fds will
++ # already have been closed by mistake, and os.close()
++ # here will raise.
++ try:
++ os.close(fd)
++ except OSError as e:
++ exc = e
++ if exc is not None:
++ raise exc
++
+ def test_handles_closed_on_exception(self):
+ # If CreateProcess exits with an error, ensure the
+ # duplicate output handles are released
+@@ -783,7 +817,7 @@ class POSIXProcessTestCase(BaseTestCase)
+
+ def _execute_child(
+ self, args, executable, preexec_fn, close_fds, cwd, env,
+- universal_newlines, startupinfo, creationflags, shell,
++ universal_newlines, startupinfo, creationflags, shell, to_close,
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite):
+@@ -791,7 +825,7 @@ class POSIXProcessTestCase(BaseTestCase)
+ subprocess.Popen._execute_child(
+ self, args, executable, preexec_fn, close_fds,
+ cwd, env, universal_newlines,
+- startupinfo, creationflags, shell,
++ startupinfo, creationflags, shell, to_close,
+ p2cread, p2cwrite,
+ c2pread, c2pwrite,
+ errread, errwrite)
diff --git a/dev-lang/python/files/python-3.2-issue16248.patch b/dev-lang/python/files/python-3.2-issue16248.patch
new file mode 100644
index 0000000000..d0e80cae72
--- /dev/null
+++ b/dev-lang/python/files/python-3.2-issue16248.patch
@@ -0,0 +1,19 @@
+# HG changeset patch
+# User Georg Brandl <georg@python.org>
+# Date 1379142489 -7200
+# Node ID c18c18774e240377d47638fb23e8276c1ac2e606
+# Parent b9b521efeba385af0142988899a55de1c1c805c7
+Fix tkinter regression introduced by the security fix in #16248.
+
+diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py
+--- a/Lib/tkinter/__init__.py
++++ b/Lib/tkinter/__init__.py
+@@ -1722,7 +1722,7 @@ class Tk(Misc, Wm):
+ # ensure that self.tk is always _something_.
+ self.tk = None
+ if baseName is None:
+- import sys, os
++ import os
+ baseName = os.path.basename(sys.argv[0])
+ baseName, ext = os.path.splitext(baseName)
+ if ext not in ('.py', '.pyc', '.pyo'):
diff --git a/dev-lang/python/files/python-3.2.3-x32.patch b/dev-lang/python/files/python-3.2.3-x32.patch
deleted file mode 100644
index 42262a2880..0000000000
--- a/dev-lang/python/files/python-3.2.3-x32.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-http://bugs.python.org/issue15000
-
-x32 has 64bit values for the first two args
-
---- a/Modules/_posixsubprocess.c
-+++ b/Modules/_posixsubprocess.c
-@@ -175,8 +175,13 @@
- * chooses to break compatibility with all existing binaries. Highly Unlikely.
- */
- struct linux_dirent {
-+#if defined(__x86_64__) && defined(__ILP32__)
-+ unsigned long long d_ino;
-+ unsigned long long d_off;
-+#else
- unsigned long d_ino; /* Inode number */
- unsigned long d_off; /* Offset to next linux_dirent */
-+#endif
- unsigned short d_reclen; /* Length of this linux_dirent */
- char d_name[256]; /* Filename (null-terminated) */
- };
diff --git a/dev-lang/python/python-2.7.4.ebuild b/dev-lang/python/python-2.7.4.ebuild
deleted file mode 100644
index 0d2c829a99..0000000000
--- a/dev-lang/python/python-2.7.4.ebuild
+++ /dev/null
@@ -1,591 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.4.ebuild,v 1.9 2013/05/18 13:13:35 zorry Exp $
-
-EAPI="4"
-WANT_AUTOMAKE="none"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-
-MY_P="Python-${PV}"
-PATCHSET_REVISION="2"
-PREFIX_PATCHREV="-r0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="http://www.python.org/"
-SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
- mirror://gentoo/python-gentoo-patches-${PV}-${PATCHSET_REVISION}.tar.xz
- prefix? ( http://dev.gentoo.org/~grobian/distfiles/python-prefix-${PV}-gentoo-patches${PREFIX_PATCHREV}.tar.bz2 )"
-
-LICENSE="PSF-2"
-SLOT="2.7"
-KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="aqua -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.
-# If you need to apply a patch which requires python for bootstrapping, please
-# 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
- !m68k-mint? ( virtual/libffi )
- virtual/libintl
- !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
- ) )
- gdbm? ( sys-libs/gdbm[berkdb] )
- ncurses? (
- >=sys-libs/ncurses-5.2
- readline? ( >=sys-libs/readline-4.1 )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3[extensions] )
- ssl? ( dev-libs/openssl )
- tk? (
- >=dev-lang/tk-8.0[-aqua]
- dev-tcltk/blt
- )
- xml? ( >=dev-libs/expat-2.1 )
- )
- !!<sys-apps/portage-2.1.9"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- >=sys-devel/autoconf-2.65
- !sys-devel/gcc[libffi]"
-RDEPEND+=" !build? ( app-misc/mime-types )
- doc? ( dev-python/python-docs:${SLOT} )"
-PDEPEND="app-admin/eselect-python
- app-admin/python-updater"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- if use berkdb; then
- ewarn "'bsddb' module is out-of-date and no longer maintained inside"
- ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
- ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
- ewarn "is provided by dev-python/bsddb3."
- else
- if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
- ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
- ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
- fi
- fi
-}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -r Modules/expat || die
- rm -r Modules/_ctypes/libffi* || die
- rm -r Modules/zlib || die
-
- local excluded_patches
- if ! tc-is-cross-compiler; then
- excluded_patches+=" *_all_crosscompile.patch"
- fi
-
- # if building a patched source-tar, comment the rm's above, and uncomment
- # this line:
- #excluded_patches="01_all_prefix-no-patch-invention.patch"
-
- EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/${PV}-${PATCHSET_REVISION}"
-
- # Prefix' round of patches
- # http://prefix.gentooexperimental.org:8000/python-patches-2_7
- EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}"/python-prefix-${PV}-gentoo-patches${PREFIX_PATCHREV}
-
- if use aqua ; then
- # make sure we don't get a framework reference here
- sed -i -e '/-DPREFIX=/s:$(prefix):$(FRAMEWORKUNIXTOOLSPREFIX):' \
- -e '/-DEXEC_PREFIX=/s:$(exec_prefix):$(FRAMEWORKUNIXTOOLSPREFIX):' \
- Makefile.pre.in || die
- # Python upstream refuses to listen to configure arguments
- sed -i -e '/FRAMEWORKINSTALLAPPSPREFIX=/s:="[^"]*":="${prefix}/../Applications":' \
- configure.ac configure || die
- fi
- # don't try to do fancy things on Darwin
- sed -i -e 's/__APPLE__/__NO_MUCKING_AROUND__/g' Modules/readline.c || die
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- Lib/distutils/command/install.py \
- Lib/distutils/sysconfig.py \
- Lib/site.py \
- Lib/sysconfig.py \
- Lib/test/test_site.py \
- Makefile.pre.in \
- Modules/Setup.dist \
- Modules/getpath.c \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- epatch_user
-
- eautoconf
- eautoheader
-}
-
-src_configure() {
- if use build; then
- # Disable extraneous modules with extra dependencies.
- export PYTHON_DISABLE_MODULES="dbm _bsddb gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat"
- export PYTHON_DISABLE_SSL="1"
- else
- # dbm module can be linked against berkdb or gdbm.
- # Defaults to gdbm when both are enabled, #204343.
- local disable
- use berkdb || use gdbm || disable+=" dbm"
- use berkdb || disable+=" _bsddb"
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- [[ ${CHOST} == *64-apple-darwin* ]] && disable+=" Nav _Qt" # Carbon
- [[ ${CHOST} == *-apple-darwin11 ]] && disable+=" _Fm _Qd _Qdoffs"
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # http://bugs.gentoo.org/show_bug.cgi?id=302137
- if [[ ${CHOST} == powerpc-*-darwin* ]] && \
- ( is-flag "-mtune=*" || is-flag "-mcpu=*" ) || \
- [[ ${CHOST} == powerpc64-*-darwin* ]];
- then
- replace-flags -O2 -O3
- replace-flags -Os -O3 # comment #14
- fi
-
- if use prefix ; then
- # for Python's setup.py not to do false assumptions (only looking in
- # host paths) we need to make explicit where Prefix stuff is
- append-cppflags -I${EPREFIX}/usr/include
- append-ldflags -L${EPREFIX}/$(get_libdir)
- append-ldflags -L${EPREFIX}/usr/$(get_libdir)
- # fix compilation on some 64-bits Linux hosts, #381163
- for hostlibdir in /usr/lib32 /usr/lib64 /lib32 /lib64 ; do
- [[ -d ${hostlibdir} ]] || continue
- append-ldflags -L${hostlibdir}
- done
- # Have to move $(CPPFLAGS) to before $(CFLAGS) to ensure that
- # local include paths - set in $(CPPFLAGS) - are searched first.
- sed -i -e "/^PY_CFLAGS[ \\t]*=/s,\\\$(CFLAGS)[ \\t]*\\\$(CPPFLAGS),\$(CPPFLAGS) \$(CFLAGS)," Makefile.pre.in || die
- fi
-
- # Run the configure scripts in parallel.
- multijob_init
-
- mkdir -p "${WORKDIR}"/{${CBUILD},${CHOST}}
-
- if tc-is-cross-compiler; then
- (
- multijob_child_init
- cd "${WORKDIR}"/${CBUILD} >/dev/null
- OPT="-O1" CFLAGS="" CPPFLAGS="" LDFLAGS="" CC="" \
- "${S}"/configure \
- --{build,host}=${CBUILD} \
- || die "cross-configure failed"
- ) &
- multijob_post_fork
-
- # The configure script assumes it's buggy when cross-compiling.
- export ac_cv_buggy_getaddrinfo=no
- export ac_cv_have_long_long_format=yes
- fi
-
- # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
- tc-export CXX
- # The configure script fails to use pkg-config correctly.
- # http://bugs.python.org/issue15506
- export ac_cv_path_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!
- # On AIX this is not needed, but would record '.' as runpath.
- [[ ${CHOST} == *-aix* ]] ||
- append-ldflags "-L."
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
- if use berkdb; then
- dbmliborder+="${dbmliborder:+:}bdb"
- fi
-
- # python defaults to use 'cc_r' on aix
- [[ ${CHOST} == *-aix* ]] && myconf="${myconf} --with-gcc=$(tc-getCC)"
-
- # Don't include libmpc on IRIX - it is only available for 64bit MIPS4
- [[ ${CHOST} == *-irix* ]] && export ac_cv_lib_mpc_usconfig=no
-
- [[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
-
- # we need this to get pythonw, the GUI version of python
- # --enable-framework and --enable-shared are mutually exclusive:
- # http://bugs.python.org/issue5809
- use aqua \
- && myconf="${myconf} --enable-framework=${EPREFIX}/usr/lib" \
- || myconf="${myconf} --enable-shared"
-
- # note: for a framework build we need to use ucs2 because OSX
- # uses that internally too:
- # http://bugs.python.org/issue763708
- cd "${WORKDIR}"/${CHOST}
- ECONF_SOURCE="${S}" OPT="" \
- econf \
- --with-fpectl \
- $(use_enable ipv6) \
- $(use_with threads) \
- $( (use wide-unicode && use !aqua) && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2") \
- --infodir='${prefix}/share/info' \
- --mandir='${prefix}/share/man' \
- --with-dbmliborder="${dbmliborder}" \
- --with-libc="" \
- --enable-loadable-sqlite-extensions \
- --with-system-expat \
- --with-system-ffi \
- ${myconf}
-
- if tc-is-cross-compiler; then
- # Modify the Makefile.pre so we don't regen for the host/ one.
- # We need to link the host python programs into $PWD and run
- # them from here because the distutils sysconfig module will
- # parse Makefile/etc... from argv[0], and we need it to pick
- # up the target settings, not the host ones.
- sed -i \
- -e '1iHOSTPYTHONPATH = ./hostpythonpath:' \
- -e '/^HOSTPYTHON/s:=.*:= ./hostpython:' \
- -e '/^HOSTPGEN/s:=.*:= ./Parser/hostpgen:' \
- Makefile{.pre,} || die "sed failed"
- fi
-
- multijob_finish
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- cd "${WORKDIR}"/${CBUILD}
- # Disable as many modules as possible -- but we need a few to install.
- PYTHON_DISABLE_MODULES=$(
- sed -n "/Extension('/{s:^.*Extension('::;s:'.*::;p}" "${S}"/setup.py | \
- egrep -v '(unicodedata|time|cStringIO|_struct|binascii)'
- ) \
- PTHON_DISABLE_SSL="1" \
- SYSROOT= \
- emake
- # See comment in src_configure about these.
- ln python ../${CHOST}/hostpython || die
- ln Parser/pgen ../${CHOST}/Parser/hostpgen || die
- ln -s ../${CBUILD}/build/lib.*/ ../${CHOST}/hostpythonpath || die
- fi
-
- cd "${WORKDIR}"/${CHOST}
- default
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax_kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- cd "${WORKDIR}"/${CHOST}
-
- # Skip failing tests.
- local skipped_tests="distutils gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # Rerun failed tests in verbose mode (regrtest -w).
- emake test EXTRATESTOPTS="-w" < /dev/tty
- local result="$?"
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
- elog "and run the tests separately."
-
- if [[ "${result}" -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
-
- cd "${WORKDIR}"/${CHOST}
- [[ ${CHOST} == *-mint* ]] && keepdir /usr/lib/python${SLOT}/lib-dynload/
- if use aqua ; then
- local fwdir="${EPREFIX}"/usr/$(get_libdir)/Python.framework
-
- # do not make multiple targets in parallel when there are broken
- # sharedmods (during bootstrap), would build them twice in parallel.
-
- # let the makefiles do their thing
- emake -j1 CC="$(tc-getCC)" DESTDIR="${D}" STRIPFLAG= altinstall
-
- # avoid framework incompatability, degrade to a normal UNIX lib
- mkdir -p "${ED}"/usr/$(get_libdir)
- cp "${D}${fwdir}"/Versions/${SLOT}/Python \
- "${ED}"/usr/$(get_libdir)/libpython${SLOT}.dylib || die
- chmod u+w "${ED}"/usr/$(get_libdir)/libpython${SLOT}.dylib
- install_name_tool \
- -id "${EPREFIX}"/usr/$(get_libdir)/libpython${SLOT}.dylib \
- "${ED}"/usr/$(get_libdir)/libpython${SLOT}.dylib
- chmod u-w "${ED}"/usr/$(get_libdir)/libpython${SLOT}.dylib
- cp libpython${SLOT}.a "${ED}"/usr/$(get_libdir)/ || die
-
- # rebuild python executable to be the non-pythonw (python wrapper)
- # version so we don't get framework crap
- rm "${ED}"/usr/bin/python${SLOT} # drop existing symlink, bug #390861
- $(tc-getCC) "${ED}"/usr/$(get_libdir)/libpython${SLOT}.dylib \
- -o "${ED}"/usr/bin/python${SLOT} \
- Modules/python.o || die
-
- # don't install the "Current" symlink, will always conflict
- rm "${D}${fwdir}"/Versions/Current || die
- # update whatever points to it, eselect-python sets them
- rm "${D}${fwdir}"/{Headers,Python,Resources} || die
-
- # remove unversioned files (that are not made versioned below)
- pushd "${ED}"/usr/bin > /dev/null
- rm -f python python-config python${SLOT}-config
- # python${SLOT} was created above
- for f in pythonw smtpd${SLOT}.py pydoc idle ; do
- rm -f ${f} ${f}${SLOT}
- done
- # pythonw needs to remain in the framework (that's the whole
- # reason we go through this framework hassle)
- ln -s ../lib/Python.framework/Versions/${SLOT}/bin/pythonw${SLOT} || die
- # copy the scripts to we can fix their shebangs
- for f in 2to3 pydoc${SLOT} idle${SLOT} python${SLOT}-config ; do
- # for some reason sometimes they already exist, bug #347321
- rm -f ${f}
- cp "${D}${fwdir}"/Versions/${SLOT}/bin/${f} . || die
- sed -i -e '1c\#!'"${EPREFIX}"'/usr/bin/python'"${SLOT}" \
- ${f} || die
- done
- # "fix" to have below collision fix not to bail
- mv pydoc${SLOT} pydoc || die
- mv idle${SLOT} idle || die
- popd > /dev/null
-
- # basically we don't like the framework stuff at all, so just move
- # stuff around or add some symlinks to make our life easier
- mkdir -p "${ED}"/usr
- mv "${D}${fwdir}"/Versions/${SLOT}/share \
- "${ED}"/usr/ || die "can't move share"
- # get includes just UNIX style
- mkdir -p "${ED}"/usr/include
- mv "${D}${fwdir}"/Versions/${SLOT}/include/python${SLOT} \
- "${ED}"/usr/include/ || die "can't move include"
- pushd "${D}${fwdir}"/Versions/${SLOT}/include > /dev/null
- ln -s ../../../../../include/python${SLOT} || die
- popd > /dev/null
-
- # same for libs
- # NOTE: can't symlink the entire dir, because a real dir already exists
- # on upgrade (site-packages), however since we h4x0rzed python to
- # actually look into the UNIX-style dir, we just switch them around.
- mkdir -p "${ED}"/usr/$(get_libdir)
- mv "${D}${fwdir}"/Versions/${SLOT}/lib/python${SLOT} \
- "${ED}"/usr/lib/ || die "can't move python${SLOT}"
- pushd "${D}${fwdir}"/Versions/${SLOT}/lib > /dev/null
- ln -s ../../../../python${SLOT} || die
- popd > /dev/null
- # remove now dead symlinks
- rm "${ED}"/usr/lib/python${SLOT}/config/libpython${SLOT}.a
- rm "${ED}"/usr/lib/python${SLOT}/config/libpython${SLOT}.dylib
-
- # fix up Makefile
- sed -i \
- -e '/^LINKFORSHARED=/s/-u _PyMac_Error.*$//' \
- -e '/^LDFLAGS=/s/=.*$/=/' \
- -e '/^prefix=/s:=.*$:= '"${EPREFIX}"'/usr:' \
- -e '/^PYTHONFRAMEWORK=/s/=.*$/=/' \
- -e '/^PYTHONFRAMEWORKDIR=/s/=.*$/= no-framework/' \
- -e '/^PYTHONFRAMEWORKPREFIX=/s/=.*$/=/' \
- -e '/^PYTHONFRAMEWORKINSTALLDIR=/s/=.*$/=/' \
- -e '/^LDLIBRARY=/s:=.*$:libpython$(VERSION).dylib:' \
- "${ED}"/usr/lib/python${SLOT}/config/Makefile || die
-
- # add missing version.plist file
- mkdir -p "${D}${fwdir}"/Versions/${SLOT}/Resources
- cat > "${D}${fwdir}"/Versions/${SLOT}/Resources/version.plist << EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
-"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>BuildVersion</key>
- <string>1</string>
- <key>CFBundleShortVersionString</key>
- <string>${PV}</string>
- <key>CFBundleVersion</key>
- <string>${PV}</string>
- <key>ProjectName</key>
- <string>Python</string>
- <key>SourceVersion</key>
- <string>${PV}</string>
-</dict>
-</plist>
-EOF
- else
- emake DESTDIR="${D}" altinstall
- fi
-
- 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}"
- mv "${ED}usr/bin/idle" "${ED}usr/bin/idle${SLOT}"
- rm -f "${ED}usr/bin/smtpd.py"
-
- # http://src.opensolaris.org/source/xref/jds/spec-files/trunk/SUNWPython.spec
- # These #defines cause problems when building c99 compliant python modules
- # http://bugs.python.org/issue1759169
- [[ ${CHOST} == *-solaris* ]] && sed -i -e \
- 's:^\(^#define \(_POSIX_C_SOURCE\|_XOPEN_SOURCE\|_XOPEN_SOURCE_EXTENDED\).*$\):/* \1 */:' \
- "${ED}"/usr/include/python${SLOT}/pyconfig.h
-
- if use build; then
- rm -fr "${ED}usr/bin/idle${SLOT}" "${libdir}/"{bsddb,dbhash.py,idlelib,lib-tk,sqlite3,test}
- else
- use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
- use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py,test/test_bsddb*} || die
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,lib-tk} || die
- fi
-
- use threads || rm -r "${libdir}/multiprocessing" || die
- use wininst || rm -r "${libdir}/distutils/command/"wininst-*.exe || die
-
- dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed"
-
- 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
- if use aqua ; then
- # we do framework, so the emake trick below returns a pathname
- # since that won't work here, use a (cheap) trick instead
- libname=libpython${SLOT}
- else
- libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
- emake --no-print-directory -s -f - 2>/dev/null)
- fi
- 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
-
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local PYTHON=./python \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}.
- export LD_LIBRARY_PATH
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py
- python_domodule epython.py
-}
-
-pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version "${CATEGORY}/${PN}:2.7"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn "You should switch active version of Python ${PV%%.*} and run"
- ewarn "'python-updater [options]' to rebuild Python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
diff --git a/dev-lang/python/python-2.7.5-r2.ebuild b/dev-lang/python/python-2.7.5-r4.ebuild
index 94dccbe8a8..2488225a85 100644
--- a/dev-lang/python/python-2.7.5-r2.ebuild
+++ b/dev-lang/python/python-2.7.5-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.5-r2.ebuild,v 1.14 2013/09/26 19:17:17 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.7.5-r4.ebuild,v 1.1 2013/10/26 15:11:20 floppym Exp $
EAPI="4"
WANT_AUTOMAKE="none"
@@ -104,6 +104,8 @@ src_prepare() {
epatch "${FILESDIR}/${P}-library-path.patch" #474882
epatch "${FILESDIR}/${P}-re_unsigned_ptrdiff.patch" #476426
epatch "${FILESDIR}/CVE-2013-4238_py27.patch"
+ epatch "${FILESDIR}/python-2.7-issue16248.patch"
+ epatch "${FILESDIR}/python-2.7-issue18851.patch"
# Prefix' round of patches
# http://prefix.gentooexperimental.org:8000/python-patches-2_7
diff --git a/dev-lang/python/python-3.2.3-r2.ebuild b/dev-lang/python/python-3.2.3-r2.ebuild
deleted file mode 100644
index fcf9d9f401..0000000000
--- a/dev-lang/python/python-3.2.3-r2.ebuild
+++ /dev/null
@@ -1,374 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-3.2.3-r2.ebuild,v 1.22 2013/05/25 22:32:46 floppym Exp $
-
-EAPI="3"
-WANT_AUTOMAKE="none"
-WANT_LIBTOOL="none"
-
-inherit autotools eutils flag-o-matic multilib pax-utils python-utils-r1 toolchain-funcs multiprocessing
-
-MY_P="Python-${PV}"
-PATCHSET_REVISION="0"
-PREFIX_PATCHREV="-r0"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="http://www.python.org/"
-SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
- mirror://gentoo/python-gentoo-patches-${PV}-${PATCHSET_REVISION}.tar.bz2
- http://dev.gentoo.org/~grobian/distfiles/python-prefix-${PV}-gentoo-patches${PREFIX_PATCHREV}.tar.bz2"
-
-LICENSE="PSF-2"
-SLOT="3.2"
-KEYWORDS="~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="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.
-# If you need to apply a patch which requires python for bootstrapping, please
-# 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
- !build? (
- gdbm? ( sys-libs/gdbm[berkdb] )
- ncurses? (
- >=sys-libs/ncurses-5.2
- readline? ( >=sys-libs/readline-4.1 )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3[extensions] )
- ssl? ( dev-libs/openssl )
- tk? (
- >=dev-lang/tk-8.0
- dev-tcltk/blt
- )
- xml? ( >=dev-libs/expat-2.1 )
- )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- >=sys-devel/autoconf-2.65
- !sys-devel/gcc[libffi]"
-RDEPEND+=" !build? ( app-misc/mime-types )
- doc? ( dev-python/python-docs:${SLOT} )"
-PDEPEND="app-admin/eselect-python
- app-admin/python-updater"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- if [[ "${PV}" =~ ^3\.2(\.[1234])?(_pre)? ]]; then
- rm -f "${EROOT}usr/$(get_libdir)/llibpython3.so"
- else
- die "Deprecated code not deleted"
- fi
-}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat
- rm -fr Modules/_ctypes/libffi*
- rm -fr Modules/zlib
-
- local excluded_patches
- if ! tc-is-cross-compiler; then
- excluded_patches="*_all_crosscompile.patch"
- fi
-
- EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}/${PV}-${PATCHSET_REVISION}"
- epatch "${FILESDIR}"/${PN}-3.2.3-x32.patch
-
- # Prefix' round of patches
- # http://prefix.gentooexperimental.org:8000/python-patches-3_2
- EPATCH_EXCLUDE="${excluded_patches}" EPATCH_SUFFIX="patch" \
- epatch "${WORKDIR}"/python-prefix-${PV}-gentoo-patches${PREFIX_PATCHREV}
-
- # we provide a fully working readline also on Darwin, so don't force
- # usage of half-implemented libedit
- sed -i -e 's/__APPLE__/__NO_MUCKING_AROUND__/g' Modules/readline.c || die
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- Lib/distutils/command/install.py \
- Lib/distutils/sysconfig.py \
- Lib/site.py \
- Lib/sysconfig.py \
- Lib/test/test_site.py \
- Makefile.pre.in \
- Modules/Setup.dist \
- Modules/getpath.c \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # Disable ABI flags.
- sed -e "s/ABIFLAGS=\"\${ABIFLAGS}.*\"/:/" -i configure.in || die "sed failed"
-
- eautoconf
- eautoheader
-}
-
-src_configure() {
- if use build; then
- # Disable extraneous modules with extra dependencies.
- export PYTHON_DISABLE_MODULES="gdbm _curses _curses_panel readline _sqlite3 _tkinter _elementtree pyexpat"
- export PYTHON_DISABLE_SSL="1"
- else
- local disable
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- [[ "${ARCH}" == "alpha" ]] && append-flags -fPIC
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # Run the configure scripts in parallel.
- multijob_init
-
- mkdir -p "${WORKDIR}"/{${CBUILD},${CHOST}}
-
- if tc-is-cross-compiler; then
- (
- multijob_child_init
- cd "${WORKDIR}"/${CBUILD} >/dev/null
- OPT="-O1" CFLAGS="" CPPFLAGS="" LDFLAGS="" CC="" \
- "${S}"/configure \
- --{build,host}=${CBUILD} \
- || die "cross-configure failed"
- ) &
- multijob_post_fork
-
- # The configure script assumes it's buggy when cross-compiling.
- export ac_cv_buggy_getaddrinfo=no
- export ac_cv_have_long_long_format=yes
- fi
-
- # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
- tc-export CXX
- # The configure script fails to use pkg-config correctly.
- # http://bugs.python.org/issue15506
- export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
-
- # pymalloc #452720
- cd "${WORKDIR}"/${CHOST}
- ECONF_SOURCE=${S} OPT="" \
- econf \
- --with-fpectl \
- --enable-shared \
- $(use_enable ipv6) \
- $(use_with threads) \
- $(use_with wide-unicode) \
- --infodir='${prefix}/share/info' \
- --mandir='${prefix}/share/man' \
- --with-computed-gotos \
- --with-dbmliborder="${dbmliborder}" \
- --with-libc="" \
- --enable-loadable-sqlite-extensions \
- --with-system-expat \
- --with-system-ffi \
- --without-pymalloc
-
- if tc-is-cross-compiler; then
- # Modify the Makefile.pre so we don't regen for the host/ one.
- # We need to link the host python programs into $PWD and run
- # them from here because the distutils sysconfig module will
- # parse Makefile/etc... from argv[0], and we need it to pick
- # up the target settings, not the host ones.
- sed -i \
- -e '1iHOSTPYTHONPATH = ./hostpythonpath:' \
- -e '/^HOSTPYTHON/s:=.*:= ./hostpython:' \
- -e '/^HOSTPGEN/s:=.*:= ./Parser/hostpgen:' \
- Makefile{.pre,} || die "sed failed"
- fi
-
- multijob_finish
-}
-
-src_compile() {
- if tc-is-cross-compiler; then
- cd "${WORKDIR}"/${CBUILD}
- # Disable as many modules as possible -- but we need a few to install.
- PYTHON_DISABLE_MODULES=$(
- sed -n "/Extension('/{s:^.*Extension('::;s:'.*::;p}" "${S}"/setup.py | \
- egrep -v '(unicodedata|time|cStringIO|_struct|binascii)'
- ) \
- PTHON_DISABLE_SSL="1" \
- SYSROOT= \
- emake || die "cross-make failed"
- # See comment in src_configure about these.
- ln python ../${CHOST}/hostpython || die
- ln Parser/pgen ../${CHOST}/Parser/hostpgen || die
- ln -s ../${CBUILD}/build/lib.*/ ../${CHOST}/hostpythonpath || die
- fi
-
- cd "${WORKDIR}"/${CHOST}
- emake CPPFLAGS="" CFLAGS="" LDFLAGS="" || die "emake failed"
-
- # Work around bug 329499. See also bug 413751.
- pax-mark m python
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- cd "${WORKDIR}"/${CHOST}
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # Rerun failed tests in verbose mode (regrtest -w).
- PYTHONDONTWRITEBYTECODE="" emake test EXTRATESTOPTS="-w" CPPFLAGS="" CFLAGS="" LDFLAGS="" < /dev/tty
- local result="$?"
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/$(get_libdir)/python${SLOT}/test'"
- elog "and run the tests separately."
-
- if [[ "${result}" -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/$(get_libdir)/python${SLOT}
-
- cd "${WORKDIR}"/${CHOST}
- emake DESTDIR="${D}" altinstall || die "emake altinstall failed"
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${SLOT}/Makefile" || die "sed failed"
-
- # Backwards compat with Gentoo divergence.
- dosym python${SLOT}-config /usr/bin/python-config-${SLOT} || die
-
- # Fix collisions between different slots of Python.
- rm -f "${ED}usr/$(get_libdir)/libpython3.so"
-
- if use build; then
- rm -fr "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,sqlite3,test,tkinter}
- else
- use elibc_uclibc && rm -fr "${libdir}/test"
- use sqlite || rm -fr "${libdir}/"{sqlite3,test/test_sqlite*}
- use tk || rm -fr "${ED}usr/bin/idle${SLOT}" "${libdir}/"{idlelib,tkinter,test/test_tk*}
- fi
-
- use threads || rm -fr "${libdir}/multiprocessing"
- use wininst || rm -f "${libdir}/distutils/command/"wininst-*.exe
-
- dodoc "${S}"/Misc/{ACKS,HISTORY,NEWS} || die "dodoc failed"
-
- if use examples; then
- insinto /usr/share/doc/${PF}/examples
- find "${S}"/Tools -name __pycache__ -print0 | xargs -0 rm -fr
- doins -r "${S}"/Tools || die "doins failed"
- 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} || die "newconfd failed"
- newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT} || die "newinitd failed"
- 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
-
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local PYTHON=./python \
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}.
- export LD_LIBRARY_PATH
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py
- python_domodule epython.py
-}
-
-pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${SLOT}" && ! has_version ">=${CATEGORY}/${PN}-${SLOT}_alpha"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || ! -f "${EROOT}usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || ! -f "${EROOT}usr/bin/$(eselect python show --python${PV%%.*})" ]]; then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn "You should switch active version of Python ${PV%%.*} and run"
- ewarn "'python-updater [options]' to rebuild Python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
diff --git a/dev-lang/python/python-3.2.5-r2.ebuild b/dev-lang/python/python-3.2.5-r3.ebuild
index b7473ceacd..0d48393d0f 100644
--- a/dev-lang/python/python-3.2.5-r2.ebuild
+++ b/dev-lang/python/python-3.2.5-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-3.2.5-r2.ebuild,v 1.13 2013/08/28 15:59:25 floppym Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-3.2.5-r3.ebuild,v 1.1 2013/10/16 23:43:45 floppym Exp $
EAPI="4"
WANT_AUTOMAKE="none"
@@ -81,6 +81,7 @@ src_prepare() {
epatch "${FILESDIR}/python-3.2-CVE-2013-2099.patch"
epatch "${FILESDIR}/CVE-2013-4238_py33.patch"
+ epatch "${FILESDIR}/python-3.2-issue16248.patch"
# Prefix' round of patches
# http://prefix.gentooexperimental.org:8000/python-patches-3_2