diff options
author | Fabian Groffen <grobian@gentoo.org> | 2013-10-27 06:57:52 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2013-10-27 06:57:52 +0000 |
commit | 922b26bd5b17b3693523f345baa74afbc02198a6 (patch) | |
tree | 254e7e4adbaaeeae82dac9eeedcd593ac8831f31 /dev-lang/python | |
parent | Bump ebuildshell patch, bug#155161. (diff) | |
download | prefix-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/ChangeLog | 17 | ||||
-rw-r--r-- | dev-lang/python/Manifest | 26 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.7-issue16248.patch | 19 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.7-issue18851.patch | 287 | ||||
-rw-r--r-- | dev-lang/python/files/python-3.2-issue16248.patch | 19 | ||||
-rw-r--r-- | dev-lang/python/files/python-3.2.3-x32.patch | 20 | ||||
-rw-r--r-- | dev-lang/python/python-2.7.4.ebuild | 591 | ||||
-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.ebuild | 374 | ||||
-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 |