Add binary packages for 2.5.1.
authorMichał Górny <mgorny@gentoo.org>
Sun, 12 Apr 2015 16:13:24 +0000 (16:13 +0000)
committerMichał Górny <mgorny@gentoo.org>
Sun, 12 Apr 2015 16:13:24 +0000 (16:13 +0000)
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0xEFB4464E!

dev-python/pypy-bin/ChangeLog
dev-python/pypy-bin/Manifest
dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch [new file with mode: 0644]
dev-python/pypy-bin/pypy-bin-2.5.1.ebuild [new file with mode: 0644]

index ff6d20fe43ae9225adde4769274eb708a96915d9..8329c9305aca28a0018f3b72cb1a74af1f0a08a6 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for dev-python/pypy-bin
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy-bin/ChangeLog,v 1.32 2015/04/08 08:05:07 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy-bin/ChangeLog,v 1.33 2015/04/12 16:13:22 mgorny Exp $
+
+*pypy-bin-2.5.1 (12 Apr 2015)
+
+  12 Apr 2015; Michał Górny <mgorny@gentoo.org>
+  +files/2.5.0_all_distutils_cxx.patch, +pypy-bin-2.5.1.ebuild:
+  Add binary packages for 2.5.1.
 
   08 Apr 2015; Michał Górny <mgorny@gentoo.org> pypy-bin-2.3.1-r2.ebuild:
   Drop old Python implementations
index 3085da781e58c9c300d7d86e274ed8fd063357ce..e5973db4a807a80a57bc55efb66616999afb61d8 100644 (file)
@@ -4,8 +4,10 @@ Hash: SHA256
 AUX 1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch 551 SHA256 dc17421bd12e4df5fed2fb1d113c9a8ca691b127631c48350aea1801c52360f1 SHA512 bdac189cbee2e4e91594bc8ea13f2477c3ab0dabec5a44bacf7a021f26d03ad5ceb813ffb38956b8a56e0791fc54c6396a909b9b40232476dd4cd6e0ee908bc0 WHIRLPOOL 035261b0659bdeeb24f6d45959dd1e218cde84dc6ded8d2ee8f9032b2311f7b5f32c6446f25aa81d6e80702d26ef8d4785e21e987282af737f6c9dfc57aa5bcf
 AUX 1.9-scripts-location.patch 394 SHA256 d02ef738b6c82a7a671b50bdc5dc623887e97c3cb033c11ea997b88e6ccb8bdc SHA512 4566ff947ad79c1ab71fbe5999f262d045271e4ae30962ff93de0bf58d592b2d20b996ae6f6fea2139eeb2391fb33357ec9ecde2e600bad593901b391918d1f7 WHIRLPOOL 963306d68bb5d82d13da54452cbc824c82c1e45aa8eb9ff5dff8bc702b789dfbdb1f6b25daa2f40876a6dbf53a38dc61251dbb2386feb2abb38f64e6652aa239
 AUX 2.3-21_all_distutils_c++.patch 14825 SHA256 99fc72d254a903a5445c991ac5e1f7ab95d1df6dde684250e145bd908131ebda SHA512 8b53016ae48cae39e9fee030fa18b9cebb72bf72b180be1a0a605a97ab6a0ad62d32317f459728a324f83179ec624885bd3cbe61ac0b5594690cca0c0e74c76e WHIRLPOOL 6718f3e998f0d7174e7088881c74d0e2063e935b5610e076eaf2233ee84f6478c0a1689f5d01de9aeb8f53a97ed73fb4957de16be4adc83045b21c48b93e8646
+AUX 2.5.0_all_distutils_cxx.patch 14852 SHA256 a920ec04b26cbcead3eea89e2b437be3ca70a5229d3da6ae8a56ea8f1047ff84 SHA512 0b1ec90e1603b0a2af000a43990df0a577ef79700c9707851b82b676531caec9b2f9c9b2c144724e4898dc1d7ea1d5779e932d01a18eaa2d4d9086e2a1b0c7f8 WHIRLPOOL e9648f08f8616fcad2fe2ce1788627adfa1aeb89b3f8b5d2857a73da987b2385ab467b3b3b576e82b02d3beafa4a62b217b7f90b59ed0332f325ebada0337f4e
 DIST pypy-2.3.1-src.tar.bz2 15225332 SHA256 3fd10d97c0177c33ed358a78eb26f5bf1f91b266af853564b1a9d8c310a1e439 SHA512 86aab86c5f413cdd6a56680915605de5c1416255b43a8dce1b4dcf8f1febdb3275076a4a9c7de30002387d59e4171a52da2528436eb205d8d947de7edd049c65 WHIRLPOOL c78d41240f1803d9461f797fd0ef647a40a6990a4e3a504e80a0eaaf460d052bb60fe6240cacdb3ee8737500c9c7f418b1d55c619d01ac7b73aace3d82157aa6
 DIST pypy-2.4.0-src.tar.bz2 15495214 SHA256 38810007aee4885ca0703b566db6594dd7649adaaa287df7a1012f10e067740f SHA512 91b41ed80a6ff0d7b2b134a7802f098de35ffd2068dc3e477d27b0bc821c6d329eb8bcad4db4a5ff9ff429830d4abfbeb435a2a2d2d9bbc2c36f2d21af0b2e0c WHIRLPOOL affb14b805b2dcb8b579dd421bfb8276e80d3b31cea41bf57ad5dd9260e2e27d838b0303e4a3af5ca38b0b4f08ac88b142d6f1db20753bec6f8cbfdfc482099b
+DIST pypy-2.5.1-src.tar.bz2 16740876 SHA256 ddb3a580b1ee99c5a699172d74be91c36dda9a38946d4731d8c6a63120a3ba2a SHA512 ac4cab47566d7d4e1a293a680e0dffa301c99a8329c2e68f645f186c0266cbe8f045a03e392c0cc2112a16178037cd978b7867ad073bf5dd957dd19f4c818067 WHIRLPOOL 6f16c4090780081dfe1d4642186262c66d4ac1a4b3b8311e573bfa6029eb7aac0483b3e48cad5ce03879391a4e316c0186d33fac5e86d0024ff20cc6d4dc0dd3
 DIST pypy-bin-2.3.1-r1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 10724632 SHA256 e897fce8057d6ffd8a8f66ddd3736d82c4edae9e30bf0622b5695c083a5f249d SHA512 b3b9ccb63bf2922c734874d745a40c49d5af1e9d9a3a1188c31040fef20faf4fdc00ac1be90ed35848e09bf86dfe5552a720b7c5c4d845777fc85479b515dac6 WHIRLPOOL 583864f5923dc0e0ee59e2397d1ed0f7ecd027605470bb2462f70b40338167f932a235fc40bf0b7349d9facdb7b1a07d86ff46ccc296acc3bb0f21cf7f8709e9
 DIST pypy-bin-2.3.1-r1-amd64+bzip2+jit+ncurses.tar.xz 12234132 SHA256 2169569b4f85869607d4ba7fa57852f954815a9bbb344da4fa842fbc59e4081a SHA512 7484fa22d79dfb1970c926fa27579184f3a38548d8072c49f239f31a8dc5549786776c27c0aa28583736f144e16ea0edb6fb8be81c0e394af783c6916e775cc1 WHIRLPOOL 3b1124526531cbf86e503933e8294ad7d11cb0993c1d103c59ced46830323e7e7c540194a13880d46b730e7b6498b1b48a1a902766948d28379ccf1020f05f35
 DIST pypy-bin-2.3.1-r1-amd64+bzip2+ncurses.tar.xz 6893836 SHA256 e547e1c5674e53e955373f44ab2ef7ef81f0f3f27240070e634c72b666428456 SHA512 5cb35f6a88aea9e92a8bbbdd873235e8b0b5bcce52d749dd80f68ddb7127eae27122ece74e13c4a2360a0dd65449fa7207a5279f0195732946f7ce8f8aa54142 WHIRLPOOL 4eaa864a456fc29a3731801901f93b62b559eb1bd5867f790840f8f8de1c98fa63bc17bd3dec0f9de82d8f639c2ecf8d3831555503c0089a727ff820c525b24a
@@ -20,26 +22,34 @@ DIST pypy-bin-2.4.0-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 8596232 SHA256
 DIST pypy-bin-2.4.0-x86+bzip2+jit+ncurses+sse2.tar.xz 9511800 SHA256 5178ce53d9da16a0d989797dd909677aaec4a8d4a936a4d27d8be1ea248489d9 SHA512 4910c72ea0b0849245657772eebfc598779f4a3eb077cec7d6e735c8aae3564ab064f9462fb0576f18792df2459d6c8f372578803497a83e4525671ffe0f8054 WHIRLPOOL 1ae421817e5f5f30ae7e9c446b4afe024de7d271a4fd8185002240e942c96dae93d45e80f6fe794dcb4a1c542a5b2ba76ab1ee81702e501de53861901ba7092b
 DIST pypy-bin-2.4.0-x86+bzip2+ncurses+sse2.tar.xz 5655980 SHA256 fcfbd71b903e9c6a26cd6590090d8d0c2f8c507e9f4650f7972f36a8ef86fcc6 SHA512 45d71f2d785a65091c9f25376bcb2f7f7e02cf1f00111fcb4b0a3bf0fc5e56947be7f66f5281744de31424f9e0b7249523a4bcd5fec7bf4f3c829b66598b02af WHIRLPOOL a9fef84296f9e77062b0e0cb17537615a02f3ba7d0ed804cf63cce9baf7c1ab843b326301bde5e5a33744b716ea0efd4619e9ba55c0387acfa1622aa11b875de
 DIST pypy-bin-2.4.0-x86+bzip2+ncurses.tar.xz 5634780 SHA256 2d0494fdab270c26efbe84fa42118b822b3fc021940e2d260a5c39938dcbed8d SHA512 672468e436646ed0334352addeda824ddd76a4cf1ad46231983aec7b697ae6ef2cc2b9072ae5149b4b0987b06caade65ab8bf67ca1dea10219030a9b3fd5b4b4 WHIRLPOOL 003bf4ef085b01c6625f43d34bdcfc2fa035e93373197c67540548856b160db39aed8f0a319ff3f77063dbb8abd2b6a4b412dccbab8c6a70689cf701cf98c4cc
+DIST pypy-bin-2.5.1-amd64+bzip2+jit+ncurses+shadowstack.tar.xz 12366684 SHA256 14e7667b36da045c5eb6758e68d0647ba6eb9804125ad9bb9425891492012b5a SHA512 6b4abd9f8546a7e39670c8d0a00bd1f4eb5ee860eda5e6d16fc64a4b8259e8c784ac4ea567b4dad84d2ff3c72a48b07836720aaee8e608f7e7ecb2b2fcf20f89 WHIRLPOOL f2517cfd7d7d46208c8cfcdb2adcfed7c1782fd014179addc9da6842070d8d90c193bedecb20538a8330c9ae31df73fe1abf9b22727aebd0770fc3caa6e0163c
+DIST pypy-bin-2.5.1-amd64+bzip2+jit+ncurses.tar.xz 14282808 SHA256 be3f365d6250a600e7494b687f41f1632774fa08938dac09cf61da1cdc331079 SHA512 41d81febca05ad6df500e1a8ff712c77ef920ae244ea48523bf637022a0a6ea07663723c284c3b2d9c7893777be4dd2266369b51c583bee9c7e42d53f4bf5c10 WHIRLPOOL 7d3719ba751f5a9b7056aa2be341823a8bacffb851f549d873ad269bc15445a7805105d201b27429247402126c2ba207bad602532372baf7053372219fbda2b2
+DIST pypy-bin-2.5.1-amd64+bzip2+ncurses.tar.xz 7298184 SHA256 4f19b38509644ebf855eabf794f89fcf83fff22d7e8b50d471a7018ce4d98f80 SHA512 45ee8a21d106b035c98bb812664b3687cfeb5eb4dfd429d84b6ee66d035692f94ca6e23ce28e68dc2c243af7008287e1cfa8f76b32b166db0af40cc206ca7168 WHIRLPOOL 7f8f86a861beb297d4081681669ae900b0fd743c76d69b695194708f192d2e00741314cd35010d71c6a7838672e223896058c34d1665777c4e4b195d74bd8474
+DIST pypy-bin-2.5.1-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz 9521220 SHA256 90fc72bd6333ef805bb996badc5a954fa1ecc7bb3d43ff655cba86db533ec8e7 SHA512 ece7fd6f126c8923854fdd5c05a343ec77a79a342f17588b66eb475ade9541190144d4beb7d57ab4437581109c4d74648fe941ec392bb939e325ee8f87bfd768 WHIRLPOOL 12b28e947a732bc5403a41638aa4c9167424ae70d4b620b91bfc2968daa449c03ebc8cc06e89992c4916e091987d9801b86dba9cf62a22b3a3965f547dec5602
+DIST pypy-bin-2.5.1-x86+bzip2+jit+ncurses+sse2.tar.xz 11702676 SHA256 ccd17d468a1e5a33e7f45ca542644d4ea4f24f8c070cc85264aea430c31b0f7c SHA512 70da9139476b1c0d05464b54001c276018ab70c41d2032d7b1b82a1ed88d697646f476a4589ec7b2ba1faca5a3ed751c22582939adb6f7bdcab93bc8b201d8ee WHIRLPOOL 4c816821c8c54d3762939a70718bcc0fbbd194e98b1efea25899e1dc1f31b037a798c02bb684c8d86ae1bfcb5a5f93ede3dd67c07fe6b112b1a99ced83b7999b
+DIST pypy-bin-2.5.1-x86+bzip2+ncurses+sse2.tar.xz 5687144 SHA256 bcb27dbd3c6158970c705be18c162442b0b655a09af564ea12e1492559ee4f0a SHA512 524a638373079789ca97d9a5dbbe2a68e5123945d2c730408cc3b693b5182c16223b320581936b644f2e54b1b37e8f8b9f4ab6b6834483ff6462fea2572cf180 WHIRLPOOL ba73cf944180a6925ff9d429f3f6c1404e7ba24c0257ac45b7e0d449bd73c95742cc0a41901d2420ed811e62012b5a7d177c9f724fe6bee010b21ad1b7906079
+DIST pypy-bin-2.5.1-x86+bzip2+ncurses.tar.xz 5725788 SHA256 668339be67618d47aaf7a64cca6900b53b74fc23e411afed9911ef5d12401de4 SHA512 56f0a200386ee97a1d4bacab43a2b0b71a9d8aae519b9b6480a982757852ef9aa8faa53490088704398507a559af05af590e778a0284c9adfbfe151c9da556b3 WHIRLPOOL 180aa2265fb2eb9b3db86e977bcc8c09d076facf17c42de0a6eb4b0a4a753643634fa742cef37aa52e814127d5d9dfee39cc71ee844482d7cb2ee29abc1c2c33
 EBUILD pypy-bin-2.3.1-r2.ebuild 5638 SHA256 b62f330be9422b6c4e5ce0c633731cf922db68cc7f5e55e10b1822499dcd1581 SHA512 7742cf9946dcf207ca4c8d82c71c63750a1dbe40972c1c44eb4435a78a6a7c8e3ab4b1ac57ad9a4853f3a7b3d90875f7e2c0406758851c2a04af2d94d818ef51 WHIRLPOOL d9ad000a80304eec524f8878f06be32c3b5b98586189ecbaef084a424e136fe06fbc0bfd8806e8d46f4b6725170574782a92ad7371bf7807cfc35f32e8da6bd7
 EBUILD pypy-bin-2.4.0.ebuild 5306 SHA256 e13bf5e1dce64d2e1a26ac9aa5cd0c7efa2dc8e8b52ccd15cb291224d55e7cb9 SHA512 132154abc01c9ea537dc1009e4bb15e15bc99404fa153f8878939f6ed332b33ff4bb2fbc92f6f134331d4222535a44316a1f30e890e86099013d24006e498686 WHIRLPOOL ff813c81a5dec2c6b7fd832643fa1454a45d4b88a76b6d69127be3d305b141eda4bb51218b6d5cf55e4e3837f921f255ed2008f3c3e9057465bacd010a66961c
-MISC ChangeLog 6624 SHA256 2f7f11cf8755f48fb41848a5dcfa546d360929c384aeb4efcf6651e48277c532 SHA512 36700db75bfd4244e035ce9ac9acdaad9b89b0b6dce3a376c9d9372e8c22f8a3e5f3ee5249df790ebe4ba8a9307f584478840bd73dd35d439259b1fa5b4187f0 WHIRLPOOL 14196a847bb02e1dcbb22b7019a1239cb2f0bed3564741745f4d6f4fddb47a5e19b72ce5fc01bbd60cdd37c20b2e72eaa2ec98810decf05983c0a093b0f2dd68
+EBUILD pypy-bin-2.5.1.ebuild 5305 SHA256 ab4381f1c88e7a3710a4569f0b440b1fd47320482739aaa6836091d66c5ca11f SHA512 e811d4f10158046a6de6ed3e26af1e71e46ec435b586c7d959f4dcb8d5a5d6b68bdb03623bcafcae0966733f8deca9670fdfe8281e972f64687a2f9dd098824f WHIRLPOOL 89d7fd461a05f51ddf3ec1490b580ee845abb59d84b5f308fe62159b874013a82472b7f0412dc0c57966145e437634f226cf2d4759daf11cc15790a7f3bb1ac5
+MISC ChangeLog 6803 SHA256 2b830e1b42d680679df564f957036f15c2db70c483a70f737fb62da0ae7e8212 SHA512 b73758200a88acc43bdbb9b07a1a387b67e70dbfe7df7f245497cf4f7329edc48a1a637fb236998a21f3df144046d651bb9e2f45ac855b446fa15108c7be60a5 WHIRLPOOL 6bbbc329f9cc05e279d7501e9fa65d9be1bf1dae64516f4267b9db960478a912925f92a0b2009d704d8c0e90d668348bafd543419328d77d37adde6ee3bcbc69
 MISC metadata.xml 343 SHA256 95d26724aef1587cdf8b2a5c4fcd397d1d2f03333653687a827bfab66b15e164 SHA512 e3bf15f46274dd0d42c15c1aa79e802ca1d24cabb59132669d7ae178321a12adf5bf46945dc66a1d7c66e0311e07cb0813a35ad0df3bce346c3ee584eccc66e5 WHIRLPOOL b18339b350570979dcc032be56e61ac1a5a4790103fb2165941950da11f0ad17e6486e5553ad96b8a97e0d8c65d49f869389ed26f5c44e9e0ad119c1656d355d
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQJ8BAEBCABmBQJVJOKJXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ8BAEBCABmBQJVKpmjXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC
-MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZO7ugQAN9LOtp/5MkSa/dxA7+J+oD2
-6EqAYwWcd5mdqjcyrQhzLpIzRQyIolPxrCvFMNOzagVR8rrKN01t7dQCAGpy5dYb
-s/Riy318xzuJwxDtiXcHsWS0sejAFrWKqYR9fFTQWjVOPV2xpbol0ap6A9H9w9Of
-gr7P7WucwKJnczrcOsUg9TCvwWAr0LAMlnLq+cNtXlKUuWE+sWJ5Qrv4Ml5nxeTa
-Ob7uXQvN7zW8SvVXO7KF70Hut/PSH/1cMsd59L6obv5Bdc+/Is/XEh2rAXJZIzTy
-JH1/jrjf3/yj4VPZyW3HGtYYlXD+wSDzTOMMoi6O6Iv71FVfXGxrzqohyoDuwknn
-GftUchvtk2uyZZYRJMol3JMQO0qwjw8Rb8+JT10LItdzNZMDi1hRMHGoMC0XmsgY
-J83DQY5UxUTBWJS9+euM4LubbC5ZlLMi6X62hXLpXRQsitVuSypVEgXRyFDajNVQ
-oeP5NZJGpFBeVt73Hz8WfkwcIkaom/P13FJsltVuqxY7cb8/Syp4NCejzwLC42Wi
-nxeZYMYfrzmBQk3kqZ8+4LY0rHZDT3p0ewOer91OrGTfV9SA5D0DuDxR7tGZnN7q
-25Z0YkjPWNE5z/Qs9uEKoQ4tw515QjH/F71/PbW+BWdoqCUJI1AXOR49MfyR70q/
-lujh5GmkfvYxqXmqMU5x
-=i3Th
+MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOoH8QAIjj16lRDKDBBPE363WTi6oz
+gXdV3f1jcntot3lfcCZk2wlDIHfAxFw6mU6AIr9gDBtahSg1hi4lju/9r4IJs5YJ
+cPX697daOu2xqWlNFZnawBHraOQeayXuRsVZU+lCR+h9zueMiDeGZfhrhsf1sLJi
+qX4+JX1GzUl7Pv0INdACvCJ3Pdht7a+EUHDFKbs8DEm56c1Hop4PcWDTbwvq7hmw
+YruhjIi5nQA5rmHBFzJ7gezotz2NWsBSCA2dH62ZvI9rKFcO1zUaVdYjeZTeKwpb
+jyqyWkv92MuKPRBMmDkT7C+7ChPCpkp7ONpD0rGlOvm3xrgIht2NjEmzWldVsMhs
+exuh6Ofbp+sEU9I08PUEiaFBoqSF97yP2rprZyjvWjx53l2gB9X4M3sf4lTwt9Q1
+2jHrqwKwmCrkd3uUaDi4gI6n7MfbctyKqcfk1lq+AbWlgopHSFAveZXs2weD99mJ
+KBJHBL9shE+lnBBd9orOgnhiNXgqBqQT+th5PlX+R7VgY8xm03EkF60zK/xBd+KF
+02CIxrK+lAbQi1zZhmhfxZsrQacjFiNYDvqr+puPtlIuVqrocSEHhIOPAhBMCWdn
+J05F4dXD360b/govYd4lbaLeYzHlk5cEn5TODFxQRuGKMyxD4FI1L1D4uYxOdmuM
+KsPCoE9ymwtfbdUoCS55
+=kTsZ
 -----END PGP SIGNATURE-----
diff --git a/dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch b/dev-python/pypy-bin/files/2.5.0_all_distutils_cxx.patch
new file mode 100644 (file)
index 0000000..aa298d0
--- /dev/null
@@ -0,0 +1,324 @@
+http://bugs.python.org/issue1222585
+
+--- _osx_support.py
++++ _osx_support.py
+@@ -14,13 +14,13 @@
+ # configuration variables that may contain universal build flags,
+ # like "-arch" or "-isdkroot", that may need customization for
+ # the user environment
+-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',
+-                            'BLDSHARED', 'LDSHARED', 'CC', 'CXX',
+-                            'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',
+-                            'PY_CORE_CFLAGS')
++_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',
++                          'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',
++                          'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',
++                          'PY_CPPFLAGS', 'PY_CORE_CFLAGS')
+ 
+ # configuration variables that may contain compiler calls
+-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')
++_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX')
+ 
+ # prefix added to original configuration variable names
+ _INITPRE = '_OSX_SUPPORT_INITIAL_'
+--- distutils/sysconfig_pypy.py
++++ distutils/sysconfig_pypy.py
+@@ -123,7 +123,55 @@
+     optional C speedup components.
+     """
+     if compiler.compiler_type == "unix":
+-        compiler.compiler_so.extend(['-O2', '-fPIC', '-Wimplicit'])
++        cc = ' '.join(compiler.compiler)
++        cxx = ' '.join(compiler.compiler_cxx)
++        ldshared = ' '.join(compiler.linker_so)
++        ldcxxshared = ' '.join(compiler.linker_so_cxx)
++
++        cflags = ''
++        cxxflags = ''
++        ccshared = '-fPIC'
++
++        if 'CC' in os.environ:
++            cc = os.environ['CC']
++        if 'CXX' in os.environ:
++            cxx = os.environ['CXX']
++        if 'LDSHARED' in os.environ:
++            ldshared = os.environ['LDSHARED']
++        if 'LDCXXSHARED' in os.environ:
++            ldcxxshared = os.environ['LDCXXSHARED']
++        if 'CPP' in os.environ:
++            cpp = os.environ['CPP']
++        else:
++            cpp = cc + " -E"           # not always
++        if 'LDFLAGS' in os.environ:
++            ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
++        if 'CFLAGS' in os.environ:
++            cflags = os.environ['CFLAGS']
++            ldshared = ldshared + ' ' + os.environ['CFLAGS']
++        if 'CXXFLAGS' in os.environ:
++            cxxflags = os.environ['CXXFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
++        if 'CPPFLAGS' in os.environ:
++            cpp = cpp + ' ' + os.environ['CPPFLAGS']
++            cflags = cflags + ' ' + os.environ['CPPFLAGS']
++            cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
++            ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
++
++        cc_cmd = cc + ' ' + cflags
++        cxx_cmd = cxx + ' ' + cxxflags
++        compiler.set_executables(
++            preprocessor=cpp,
++            compiler=cc_cmd,
++            compiler_so=cc_cmd + ' ' + ccshared,
++            compiler_cxx=cxx_cmd,
++            compiler_so_cxx=cxx_cmd + ' ' + ccshared,
++            linker_so=ldshared,
++            linker_exe=cc,
++            linker_so_cxx=ldcxxshared,
++            linker_exe_cxx=cxx)
+         compiler.shared_lib_extension = get_config_var('SO')
+         if "CPPFLAGS" in os.environ:
+             cppflags = shlex.split(os.environ["CPPFLAGS"])
+--- distutils/cygwinccompiler.py
++++ distutils/cygwinccompiler.py
+@@ -117,8 +117,10 @@
+         # dllwrap 2.10.90 is buggy
+         if self.ld_version >= "2.10.90":
+             self.linker_dll = "gcc"
++            self.linker_dll_cxx = "g++"
+         else:
+             self.linker_dll = "dllwrap"
++            self.linker_dll_cxx = "dllwrap"
+ 
+         # ld_version >= "2.13" support -shared so use it instead of
+         # -mdll -static
+@@ -132,9 +134,13 @@
+         self.set_executables(compiler='gcc -mcygwin -O -Wall',
+                              compiler_so='gcc -mcygwin -mdll -O -Wall',
+                              compiler_cxx='g++ -mcygwin -O -Wall',
++                             compiler_so_cxx='g++ -mcygwin -mdll -O -Wall',
+                              linker_exe='gcc -mcygwin',
+                              linker_so=('%s -mcygwin %s' %
+-                                        (self.linker_dll, shared_option)))
++                                        (self.linker_dll, shared_option)),
++                             linker_exe_cxx='g++ -mcygwin',
++                             linker_so_cxx=('%s -mcygwin %s' %
++                                            (self.linker_dll_cxx, shared_option)))
+ 
+         # cygwin and mingw32 need different sets of libraries
+         if self.gcc_version == "2.91.57":
+@@ -160,8 +166,12 @@
+                 raise CompileError, msg
+         else: # for other files use the C-compiler
+             try:
+-                self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+-                           extra_postargs)
++                if self.detect_language(src) == 'c++':
++                    self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++                               extra_postargs)
++                else:
++                    self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++                               extra_postargs)
+             except DistutilsExecError, msg:
+                 raise CompileError, msg
+ 
+@@ -327,9 +337,14 @@
+         self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
+                              compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+                              compiler_cxx='g++%s -O -Wall' % no_cygwin,
++                             compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin,
+                              linker_exe='gcc%s' % no_cygwin,
+                              linker_so='%s%s %s %s'
+                                     % (self.linker_dll, no_cygwin,
++                                       shared_option, entry_point),
++                             linker_exe_cxx='g++%s' % no_cygwin,
++                             linker_so_cxx='%s%s %s %s'
++                                    % (self.linker_dll_cxx, no_cygwin,
+                                        shared_option, entry_point))
+         # Maybe we should also append -mthreads, but then the finished
+         # dlls need another dll (mingwm10.dll see Mingw32 docs)
+http://bugs.python.org/issue1222585
+
+--- distutils/emxccompiler.py
++++ distutils/emxccompiler.py
+@@ -65,8 +65,12 @@
+         # XXX optimization, warnings etc. should be customizable.
+         self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+                              compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++                             compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
++                             compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',
+                              linker_exe='gcc -Zomf -Zmt -Zcrtdll',
+-                             linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')
++                             linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',
++                             linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',
++                             linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll')
+ 
+         # want the gcc library statically linked (so that we don't have
+         # to distribute a version dependent on the compiler we have)
+@@ -83,8 +87,12 @@
+                 raise CompileError, msg
+         else: # for other files use the C-compiler
+             try:
+-                self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+-                           extra_postargs)
++                if self.detect_language(src) == 'c++':
++                    self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++                               extra_postargs)
++                else:
++                    self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++                               extra_postargs)
+             except DistutilsExecError, msg:
+                 raise CompileError, msg
+ 
+--- distutils/sysconfig_cpython.py
++++ distutils/sysconfig_cpython.py
+@@ -170,10 +170,12 @@
+                 _osx_support.customize_compiler(_config_vars)
+                 _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+ 
+-        (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
+-            get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
+-                            'CCSHARED', 'LDSHARED', 'SO', 'AR',
+-                            'ARFLAGS')
++        (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \
++            get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++                            'SO', 'AR', 'ARFLAGS')
++
++        cflags = ''
++        cxxflags = ''
+ 
+         if 'CC' in os.environ:
+             newcc = os.environ['CC']
+@@ -188,19 +190,27 @@
+             cxx = os.environ['CXX']
+         if 'LDSHARED' in os.environ:
+             ldshared = os.environ['LDSHARED']
++        if 'LDCXXSHARED' in os.environ:
++            ldcxxshared = os.environ['LDCXXSHARED']
+         if 'CPP' in os.environ:
+             cpp = os.environ['CPP']
+         else:
+             cpp = cc + " -E"           # not always
+         if 'LDFLAGS' in os.environ:
+             ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+         if 'CFLAGS' in os.environ:
+-            cflags = opt + ' ' + os.environ['CFLAGS']
++            cflags = os.environ['CFLAGS']
+             ldshared = ldshared + ' ' + os.environ['CFLAGS']
++        if 'CXXFLAGS' in os.environ:
++            cxxflags = os.environ['CXXFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+         if 'CPPFLAGS' in os.environ:
+             cpp = cpp + ' ' + os.environ['CPPFLAGS']
+             cflags = cflags + ' ' + os.environ['CPPFLAGS']
++            cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+             ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+         if 'AR' in os.environ:
+             ar = os.environ['AR']
+         if 'ARFLAGS' in os.environ:
+@@ -209,13 +219,17 @@
+             archiver = ar + ' ' + ar_flags
+ 
+         cc_cmd = cc + ' ' + cflags
++        cxx_cmd = cxx + ' ' + cxxflags
+         compiler.set_executables(
+             preprocessor=cpp,
+             compiler=cc_cmd,
+             compiler_so=cc_cmd + ' ' + ccshared,
+-            compiler_cxx=cxx,
++            compiler_cxx=cxx_cmd,
++            compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+             linker_so=ldshared,
+             linker_exe=cc,
++            linker_so_cxx=ldcxxshared,
++            linker_exe_cxx=cxx,
+             archiver=archiver)
+ 
+         compiler.shared_lib_extension = so_ext
+--- distutils/unixccompiler.py
++++ distutils/unixccompiler.py
+@@ -55,14 +55,17 @@
+     # are pretty generic; they will probably have to be set by an outsider
+     # (eg. using information discovered by the sysconfig about building
+     # Python extensions).
+-    executables = {'preprocessor' : None,
+-                   'compiler'     : ["cc"],
+-                   'compiler_so'  : ["cc"],
+-                   'compiler_cxx' : ["c++"],  # pypy: changed, 'cc' is bogus
+-                   'linker_so'    : ["cc", "-shared"],
+-                   'linker_exe'   : ["cc"],
+-                   'archiver'     : ["ar", "-cr"],
+-                   'ranlib'       : None,
++    executables = {'preprocessor'    : None,
++                   'compiler'        : ["cc"],
++                   'compiler_so'     : ["cc"],
++                   'compiler_cxx'    : ["c++"],
++                   'compiler_so_cxx' : ["c++"],
++                   'linker_so'       : ["cc", "-shared"],
++                   'linker_exe'      : ["cc"],
++                   'linker_so_cxx'   : ["c++", "-shared"],
++                   'linker_exe_cxx'  : ["c++"],
++                   'archiver'        : ["ar", "-cr"],
++                   'ranlib'          : None,
+                   }
+ 
+     if sys.platform[:6] == "darwin":
+@@ -112,12 +115,19 @@
+ 
+     def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+         compiler_so = self.compiler_so
++        compiler_so_cxx = self.compiler_so_cxx
+         if sys.platform == 'darwin':
+             compiler_so = _osx_support.compiler_fixup(compiler_so,
+                                                     cc_args + extra_postargs)
++            compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++                                                    cc_args + extra_postargs)
+         try:
+-            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+-                       extra_postargs)
++            if self.detect_language(src) == 'c++':
++                self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++                           extra_postargs)
++            else:
++                self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++                           extra_postargs)
+         except DistutilsExecError, msg:
+             raise CompileError, msg
+ 
+@@ -174,23 +184,16 @@
+                 ld_args.extend(extra_postargs)
+             self.mkpath(os.path.dirname(output_filename))
+             try:
+-                if target_desc == CCompiler.EXECUTABLE:
+-                    linker = self.linker_exe[:]
++                if target_lang == "c++":
++                    if target_desc == CCompiler.EXECUTABLE:
++                        linker = self.linker_exe_cxx[:]
++                    else:
++                        linker = self.linker_so_cxx[:]
+                 else:
+-                    linker = self.linker_so[:]
+-                if target_lang == "c++" and self.compiler_cxx:
+-                    # skip over environment variable settings if /usr/bin/env
+-                    # is used to set up the linker's environment.
+-                    # This is needed on OSX. Note: this assumes that the
+-                    # normal and C++ compiler have the same environment
+-                    # settings.
+-                    i = 0
+-                    if os.path.basename(linker[0]) == "env":
+-                        i = 1
+-                        while '=' in linker[i]:
+-                            i = i + 1
+-
+-                    linker[i] = self.compiler_cxx[i]
++                    if target_desc == CCompiler.EXECUTABLE:
++                        linker = self.linker_exe[:]
++                    else:
++                        linker = self.linker_so[:]
+ 
+                 if sys.platform == 'darwin':
+                     linker = _osx_support.compiler_fixup(linker, ld_args)
+
diff --git a/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild b/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild
new file mode 100644 (file)
index 0000000..3f06deb
--- /dev/null
@@ -0,0 +1,178 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy-bin/pypy-bin-2.5.1.ebuild,v 1.1 2015/04/12 16:13:22 mgorny Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 pypy )
+inherit eutils multilib pax-utils python-any-r1 versionator
+
+BINHOST="http://dev.gentoo.org/~mgorny/dist/pypy-bin/${PV}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language (binary package)"
+HOMEPAGE="http://pypy.org/"
+SRC_URI="https://bitbucket.org/pypy/pypy/downloads/pypy-${PV}-src.tar.bz2
+       amd64? (
+               jit? ( shadowstack? (
+                       ${BINHOST}/${P}-amd64+bzip2+jit+ncurses+shadowstack.tar.xz
+               ) )
+               jit? ( !shadowstack? (
+                       ${BINHOST}/${P}-amd64+bzip2+jit+ncurses.tar.xz
+               ) )
+               !jit? ( !shadowstack? (
+                       ${BINHOST}/${P}-amd64+bzip2+ncurses.tar.xz
+               ) )
+       )
+       x86? (
+               cpu_flags_x86_sse2? (
+                       jit? ( shadowstack? (
+                               ${BINHOST}/${P}-x86+bzip2+jit+ncurses+shadowstack+sse2.tar.xz
+                       ) )
+                       jit? ( !shadowstack? (
+                               ${BINHOST}/${P}-x86+bzip2+jit+ncurses+sse2.tar.xz
+                       ) )
+                       !jit? ( !shadowstack? (
+                               ${BINHOST}/${P}-x86+bzip2+ncurses+sse2.tar.xz
+                       ) )
+               )
+               !cpu_flags_x86_sse2? (
+                       !jit? ( !shadowstack? (
+                               ${BINHOST}/${P}-x86+bzip2+ncurses.tar.xz
+                       ) )
+               )
+       )"
+
+# Supported variants
+REQUIRED_USE="!jit? ( !shadowstack )
+       x86? ( !cpu_flags_x86_sse2? ( !jit !shadowstack ) )"
+
+LICENSE="MIT"
+SLOT="0/$(get_version_component_range 1-2 ${PV})"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc gdbm +jit shadowstack sqlite cpu_flags_x86_sse2 test tk"
+
+# yep, world would be easier if people started filling subslots...
+RDEPEND="
+       app-arch/bzip2:0
+       dev-libs/expat:0
+       dev-libs/libffi:0
+       dev-libs/openssl:0
+       sys-libs/glibc:2.2
+       sys-libs/ncurses:5
+       sys-libs/zlib:0
+       gdbm? ( sys-libs/gdbm:0= )
+       sqlite? ( dev-db/sqlite:3= )
+       tk? (
+               dev-lang/tk:0=
+               dev-tcltk/tix:0=
+       )
+       !dev-python/pypy:0"
+DEPEND="app-arch/xz-utils
+       doc? ( ${PYTHON_DEPS}
+               dev-python/sphinx )
+       test? ( ${RDEPEND} )"
+PDEPEND="app-admin/python-updater"
+
+S=${WORKDIR}/pypy-${PV}-src
+
+pkg_setup() {
+       use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       epatch "${FILESDIR}/1.9-scripts-location.patch" \
+               "${FILESDIR}/1.9-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
+
+       pushd lib-python/2.7 > /dev/null || die
+       epatch "${FILESDIR}"/2.5.0_all_distutils_cxx.patch
+       popd > /dev/null || die
+
+       epatch_user
+}
+
+src_compile() {
+       # Tadaam! PyPy compiled!
+       mv "${WORKDIR}"/${P}*/{libpypy-c.so,pypy-c} . || die
+       mv "${WORKDIR}"/${P}*/include/*.h include/ || die
+       mv pypy/module/cpyext/include/*.h include/ || die
+       mv pypy/module/cpyext/include/numpy include/ || die
+
+       use doc && emake -C pypy/doc/ html
+       #needed even without jit :( also needed in both compile and install phases
+       pax-mark m pypy-c
+
+       # ctypes config cache
+       # this one we need to do with python2 too...
+       ./pypy-c lib_pypy/ctypes_config_cache/rebuild.py \
+               || die "Failed to rebuild ctypes config cache"
+}
+
+# Doesn't work - pypy missing its own libs
+src_test() {
+       # (unset)
+       local -x PYTHONDONTWRITEBYTECODE
+
+       ./pypy-c ./pypy/test_all.py --pypy=./pypy-c lib-python || die
+}
+
+src_install() {
+       einfo "Installing PyPy ..."
+       insinto "/usr/$(get_libdir)/pypy"
+       doins -r include lib_pypy lib-python pypy-c libpypy-c.so
+       fperms a+x ${INSDESTTREE}/pypy-c ${INSDESTTREE}/libpypy-c.so
+       pax-mark m "${ED%/}${INSDESTTREE}/pypy-c" "${ED%/}${INSDESTTREE}/libpypy-c.so"
+       dosym ../$(get_libdir)/pypy/pypy-c /usr/bin/pypy
+       dodoc README.rst
+
+       if ! use gdbm; then
+               rm -r "${ED%/}${INSDESTTREE}"/lib_pypy/gdbm.py \
+                       "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_gdbm.py || die
+       fi
+       if ! use sqlite; then
+               rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/sqlite3 \
+                       "${ED%/}${INSDESTTREE}"/lib_pypy/_sqlite3.py \
+                       "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_sqlite.py || die
+       fi
+       if ! use tk; then
+               rm -r "${ED%/}${INSDESTTREE}"/lib-python/*2.7/{idlelib,lib-tk} \
+                       "${ED%/}${INSDESTTREE}"/lib_pypy/_tkinter \
+                       "${ED%/}${INSDESTTREE}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+       fi
+
+       # Install docs
+       use doc && dohtml -r pypy/doc/_build/html/
+
+       einfo "Generating caches and byte-compiling ..."
+
+       python_export pypy EPYTHON PYTHON PYTHON_SITEDIR
+       local PYTHON=${ED%/}${INSDESTTREE}/pypy-c
+       local -x LD_LIBRARY_PATH="${ED%/}${INSDESTTREE}"
+
+       echo "EPYTHON='${EPYTHON}'" > epython.py
+       python_domodule epython.py
+
+       # Generate Grammar and PatternGrammar pickles.
+       "${PYTHON}" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" \
+               || die "Generation of Grammar and PatternGrammar pickles failed"
+
+       # Generate cffi cache
+       # Please keep in sync with pypy/tool/release/package.py!
+       "${PYTHON}" -c "import _curses" || die "Failed to import _curses (cffi)"
+       "${PYTHON}" -c "import syslog" || die "Failed to import syslog (cffi)"
+       if use gdbm; then
+               "${PYTHON}" -c "import gdbm" || die "Failed to import gdbm (cffi)"
+       fi
+       if use sqlite; then
+               "${PYTHON}" -c "import _sqlite3" || die "Failed to import _sqlite3 (cffi)"
+       fi
+       if use tk; then
+               "${PYTHON}" -c "import _tkinter" || die "Failed to import _tkinter (cffi)"
+       fi
+
+       # Cleanup temporary objects
+       find "${ED%/}${INSDESTTREE}" -name "_cffi_*.[co]" -delete || die
+       find "${ED%/}${INSDESTTREE}" -type d -empty -delete || die
+
+       # compile the installed modules
+       python_optimize "${ED%/}${INSDESTTREE}"
+}