Commits

松井 鉄史 committed 6d29211

dev-python/pypy: remove (unmaintained)

  • Participants
  • Parent commits 85c1938

Comments (0)

Files changed (11)

dev-python/pypy/ChangeLog

-# ChangeLog for dev-python/pypy
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/ChangeLog,v 1.14 2012/02/14 02:16:51 floppym Exp $
-
-  14 Feb 2012; Mike Gilbert <floppym@gentoo.org> pypy-1.7-r2.ebuild,
-  pypy-1.8.ebuild:
-  Adjust memory requirements.
-
-  12 Feb 2012; Mike Gilbert <floppym@gentoo.org> -pypy-1.7.ebuild,
-  pypy-1.7-r2.ebuild, pypy-1.8.ebuild:
-  Rename 1.7 tarball as well. Override src_unpack to avoid having to hardcode S.
-  Drop old version.
-
-  12 Feb 2012; Mike Gilbert <floppym@gentoo.org> pypy-1.8.ebuild:
-  Rename source tarball.
-
-*pypy-1.8 (12 Feb 2012)
-
-  12 Feb 2012; Dirkjan Ochtman <djc@gentoo.org> +pypy-1.8.ebuild, metadata.xml:
-  Version bump to 1.8. Some test failures, but seems to be okay.
-
-  02 Feb 2012; Mike Gilbert <floppym@gentoo.org> pypy-1.7-r2.ebuild:
-  Add sqlite USE flag, patch by Arfrever. Make several variables local.
-
-*pypy-1.7-r2 (01 Feb 2012)
-
-  01 Feb 2012; Mike Gilbert <floppym@gentoo.org> +pypy-1.7-r2.ebuild,
-  -pypy-1.7-r1.ebuild,
-  files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch:
-  Updated patch from Arfrever.
-
-*pypy-1.7-r1 (30 Jan 2012)
-
-  30 Jan 2012; Mike Gilbert <floppym@gentoo.org>
-  +files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch, +files/
-  pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patc
-  h, +pypy-1.7-r1.ebuild:
-  Apply patches from Arfrever to resolve bug 397523.
-
-  15 Jan 2012; Markos Chandras <hwoarang@gentoo.org> pypy-1.7.ebuild:
-  Don't call use() in global scope. Patch by Arfrever.
-
-  13 Dec 2011; Nirbheek Chauhan <nirbheek@gentoo.org> pypy-1.7.ebuild,
-  metadata.xml:
-  Remove USE=stackless, which is not optional any longer. Add the ~x86 keyword.
-  Add myself as co-maintainer.
-
-  30 Nov 2011; Dirkjan Ochtman <djc@gentoo.org> pypy-1.7.ebuild:
-  Fix problems resulting from earlier failing ${S}.
-
-  30 Nov 2011; Dirkjan Ochtman <djc@gentoo.org> -files/1.5-patches.patch,
-  -pypy-1.5.ebuild:
-  Remove old version.
-
-*pypy-1.7 (30 Nov 2011)
-
-  30 Nov 2011; Dirkjan Ochtman <djc@gentoo.org> +files/1.7-patches.patch,
-  +files/1.7-scripts-location.patch, +pypy-1.7.ebuild:
-  Version bump to 1.7 (bugs fixed: 379791, 383063, 373487).
-
-  24 Jun 2011; Dirkjan Ochtman <djc@gentoo.org> pypy-1.5.ebuild:
-  Fix bug 372641, bug 372639, bug 372517.
-
-*pypy-1.5 (06 Jun 2011)
-
-  06 Jun 2011; Dirkjan Ochtman <djc@gentoo.org> +files/1.5-patches.patch,
-  +pypy-1.5.ebuild, +metadata.xml:
-  Initial version of pypy (bug 300301).
-

dev-python/pypy/Manifest

-AUX 1.7-patches.patch 1842 RMD160 ee42ff2383477353cf0230a8567b22d87a4b4d56 SHA1 4fa9f1ac91b3b5466e21d8d58dbc9f09b1fd90dd SHA256 1417373a73221b65dcccdee1539a7a11018384ea3f7908cacc2e07b525ebe291
-AUX 1.7-scripts-location.patch 412 RMD160 811c3cc38370f97274f8ec5cc36f34b3e79dae56 SHA1 c03fa9679443ed9461829745f5bb00cfecd3eb22 SHA256 abc39fbbf69d1d6b478a4a16626950e8e0b607fb05c6e1e1c10618c59fccdda9
-AUX 1.8-elf-metadata-26a8d3fc57a7.patch 569 RMD160 de5a440cb41ab0249141304c12f9a35af1565c87 SHA1 57daa224b13ec3e6cf7f23d02d896527137dca6b SHA256 8c695811ca9eae7d3b81674e8de255dc84e242972041ca54093a3d96f40fe34b
-AUX 1.8-sext-instructions-02dc2f6160ee.patch 1100 RMD160 c1f83411a70af07c0987ac51c81806de70a5d991 SHA1 8430932adfaadf903a1ad5a4635644157e04ee78 SHA256 599af03fb41902cb00b6c1768febd921276efbdc7b550d010676cc210f7564bb
-AUX pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch 18064 RMD160 8e86cff09340448f3e49ccc626efa40e9463273a SHA1 533cad04bc8d96e2ba1a09e8249a3efd97e46b1d SHA256 43cbabdf5f7b094eb969c754bb6513fa324b1fadb40b37d78bd1ad47194d787a
-AUX pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch 569 RMD160 540aa0881ea1fef56cea3734fa09f5c3366d5bb0 SHA1 5f4939129a9a56c9f9da0e82851f675fd7c73209 SHA256 55ea809a5f3e264b1905b06aa3af78aae149451e7d74a98d11e87629ab69493e
-AUX pypy-1.8-darwin.patch 720 RMD160 53d3805149d26511458eebce69f860754ab238d3 SHA1 6a7bfec1e7825600e3ea6c4600049215b02b3940 SHA256 1693a876a8ac6c8505c069466192f667184589e305a694473d4d49bb661de51b
-DIST pypy-1.8.tar.bz2 14927806 RMD160 70fe569b466357ee64685c8ce15278d24862c711 SHA1 4ff684619671d6076879eff88343184d7656c699 SHA256 ac98ad6d884207f8325ff4c783104ebea57a3fcddfef32abcdf97fd4307b6287
-EBUILD pypy-1.8-r1.ebuild 3435 RMD160 bcb875aac019248176264d79dc3ec47dc3b2fb75 SHA1 713c2e5378c5124b2d8e0c2c81f70f3e452c59d3 SHA256 508c1f16a9d4098ae31d622d9413d4b23c5aa9fad425157619d7dc0fdfbb1c01
-MISC ChangeLog 2539 RMD160 4f0266bb6d39b4a905545809ebc809cba79b5c59 SHA1 41f46efd8a911842e13eda9def2a99016d7dce2c SHA256 b01f8503970e21dfab4433b20a0012c6c6aab3bba44390bccbd34325185f7f32
-MISC metadata.xml 507 RMD160 ebf6143dae73a70cc62880c10dc1f1c3f82cc1dd SHA1 a8bf12cdeebfd1d30a86075b97be027b138435c8 SHA256 b91eb636cbd78badac8a97a95615ff89c33077e0627aa0732394de54f26a018c

dev-python/pypy/files/1.7-patches.patch

---- pypy-pypy-release-1.7/pypy/translator/goal/translate.py.bak	2011-11-29 14:23:55.000000000 +0100
-+++ pypy-pypy-release-1.7/pypy/translator/goal/translate.py	2011-11-29 14:24:16.000000000 +0100
-@@ -255,8 +255,6 @@
-             log.event("batch mode, not calling interactive helpers")
-             return
-         
--        log.event("start debugger...")
--
-         if translateconfig.view:
-             try:
-                 t1 = drv.hint_translator
-@@ -266,8 +264,6 @@
-             page = graphpage.TranslatorPage(t1, translateconfig.huge)
-             page.display_background()
- 
--        pdb_plus_show.start(tb)
--
-     try:
-         drv = driver.TranslationDriver.from_targetspec(targetspec_dic, config, args,
-                                                        empty_translator=t,
---- pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py.bak	2011-11-29 14:22:29.000000000 +0100
-+++ pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py	2011-11-29 14:22:55.000000000 +0100
-@@ -1694,6 +1694,7 @@
-             }
-             """
-         elif self.format in ('elf64', 'darwin64'):
-+            print >> output, "\t.section .note.GNU-stack,\"\",%progbits"
-             print >> output, "\t.text"
-             print >> output, "\t.globl %s" % _globalname('pypy_asm_stackwalk')
-             _variant(elf64='.type pypy_asm_stackwalk, @function',
---- pypy-pypy-release-1.7/pypy/rlib/ropenssl.py.bak	2011-11-29 14:19:10.000000000 +0100
-+++ pypy-pypy-release-1.7/pypy/rlib/ropenssl.py	2011-11-29 14:19:42.000000000 +0100
-@@ -159,6 +159,7 @@
-              lltype.Void)
- 
- if HAVE_OPENSSL_RAND:
-+    eci.includes = eci.includes + ('openssl/rand.h',)
-     ssl_external('RAND_add', [rffi.CCHARP, rffi.INT, rffi.DOUBLE], lltype.Void)
-     ssl_external('RAND_status', [], rffi.INT)
-     ssl_external('RAND_egd', [rffi.CCHARP], rffi.INT)

dev-python/pypy/files/1.7-scripts-location.patch

---- pypy-pypy-release-1.7/lib-python/modified-2.7/distutils/command/install.py
-+++ pypy-pypy-release-1.7/lib-python/modified-2.7/distutils/command/install.py
-@@ -87,7 +87,7 @@
-         'purelib': '$base/site-packages',
-         'platlib': '$base/site-packages',
-         'headers': '$base/include',
--        'scripts': '$base/bin',
-+        'scripts': '/usr/bin',
-         'data'   : '$base',
-         },
-     }

dev-python/pypy/files/1.8-elf-metadata-26a8d3fc57a7.patch

---- pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py.bak	2011-11-29 14:22:29.000000000 +0100
-+++ pypy-pypy-release-1.7/pypy/translator/c/gcc/trackgcroot.py	2011-11-29 14:22:55.000000000 +0100
-@@ -1694,6 +1694,7 @@
-             }
-             """
-         elif self.format in ('elf64', 'darwin64'):
-+            print >> output, "\t.section .note.GNU-stack,\"\",%progbits"
-             print >> output, "\t.text"
-             print >> output, "\t.globl %s" % _globalname('pypy_asm_stackwalk')
-             _variant(elf64='.type pypy_asm_stackwalk, @function',

dev-python/pypy/files/1.8-sext-instructions-02dc2f6160ee.patch

---- pypy/translator/c/gcc/trackgcroot.py.old	2012-02-15 14:11:38.551479431 -0800
-+++ pypy/translator/c/gcc/trackgcroot.py	2012-02-15 00:55:20.082136135 -0800
-@@ -471,8 +471,8 @@
-         return []
- 
-     IGNORE_OPS_WITH_PREFIXES = dict.fromkeys([
--        'cmp', 'test', 'set', 'sahf', 'lahf', 'cltd', 'cld', 'std',
--        'rep', 'movs', 'lods', 'stos', 'scas', 'cwtl', 'cwde', 'prefetch',
-+        'cmp', 'test', 'set', 'sahf', 'lahf', 'cld', 'std',
-+        'rep', 'movs', 'lods', 'stos', 'scas', 'cwde', 'prefetch',
-         # floating-point operations cannot produce GC pointers
-         'f',
-         'cvt', 'ucomi', 'comi', 'subs', 'subp' , 'adds', 'addp', 'xorp',
-@@ -485,6 +485,8 @@
-         'bswap', 'bt', 'rdtsc',
-         'punpck', 'pshufd', 'pcmp', 'pand', 'psllw', 'pslld', 'psllq',
-         'paddq', 'pinsr',
-+        # sign-extending moves should not produce GC pointers
-+        'cbtw', 'cwtl', 'cwtd', 'cltd', 'cltq', 'cqto',
-         # zero-extending moves should not produce GC pointers
-         'movz', 
-         # locked operations should not move GC pointers, at least so far

dev-python/pypy/files/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch

---- lib-python/modified-2.7/distutils/ccompiler.py
-+++ lib-python/modified-2.7/distutils/ccompiler.py
-@@ -27,10 +27,16 @@
-     varies across Unices and is stored in Python's Makefile.
-     """
-     if compiler.compiler_type == "unix":
--        (cc, cxx, opt, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \
--            _sysconfig.get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
--                                       'CCSHARED', 'LDSHARED', 'SO', 'AR',
--                                       'ARFLAGS')
-+        cc = ' '.join(compiler.compiler)
-+        cxx = ' '.join(compiler.compiler_cxx)
-+        ldshared = ' '.join(compiler.linker_so)
-+        ldcxxshared = ' '.join(compiler.linker_so_cxx)
-+        ar = compiler.archiver[0]
-+
-+        cflags = ''
-+        cxxflags = ''
-+        ccshared = '-fPIC'
-+        ar_flags = compiler.archiver[1]
- 
-         if 'CC' in os.environ:
-             cc = os.environ['CC']
-@@ -38,19 +44,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:
-@@ -59,17 +73,19 @@
-             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
--
- class CCompiler:
-     """Abstract base class to define the interface that must be implemented
-     by real compiler classes.  Also has some utility methods used by
---- lib-python/modified-2.7/distutils/cygwinccompiler.py
-+++ lib-python/modified-2.7/distutils/cygwinccompiler.py
-@@ -135,9 +135,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, shared_option)))
- 
-         # cygwin and mingw32 need different sets of libraries
-         if self.gcc_version == "2.91.57":
-@@ -163,8 +167,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
- 
-@@ -325,10 +333,15 @@
-         self.set_executables(compiler='gcc -mno-cygwin -O -Wall',
-                              compiler_so='gcc -mno-cygwin -mdll -O -Wall',
-                              compiler_cxx='g++ -mno-cygwin -O -Wall',
-+                             compiler_so_cxx='g++ -mno-cygwin -mdll -O -Wall',
-                              linker_exe='gcc -mno-cygwin',
-                              linker_so='%s -mno-cygwin %s %s'
-                                         % (self.linker_dll, shared_option,
--                                           entry_point))
-+                                           entry_point),
-+                             linker_exe_cxx='g++ -mno-cygwin',
-+                             linker_so_cxx='%s -mno-cygwin %s %s'
-+                                            % (self.linker_dll, shared_option,
-+                                               entry_point))
-         # Maybe we should also append -mthreads, but then the finished
-         # dlls need another dll (mingwm10.dll see Mingw32 docs)
-         # (-mthreads: Support thread-safe exception handling on `Mingw32')
---- lib-python/modified-2.7/distutils/emxccompiler.py
-+++ lib-python/modified-2.7/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
- 
---- lib-python/modified-2.7/distutils/sysconfig_cpython.py
-+++ lib-python/modified-2.7/distutils/sysconfig_cpython.py
-@@ -149,9 +149,12 @@
-     varies across Unices and is stored in Python's Makefile.
-     """
-     if compiler.compiler_type == "unix":
--        (cc, cxx, opt, cflags, ccshared, ldshared, so_ext) = \
--            get_config_vars('CC', 'CXX', 'OPT', 'CFLAGS',
--                            'CCSHARED', 'LDSHARED', 'SO')
-+        (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext) = \
-+            get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED',
-+                            'LDCXXSHARED', 'SO')
-+
-+        cflags = ''
-+        cxxflags = ''
- 
-         if 'CC' in os.environ:
-             cc = os.environ['CC']
-@@ -159,28 +162,40 @@
-             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']
- 
-         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_exe=cc,
-+            linker_so_cxx=ldcxxshared,
-+            linker_exe_cxx=cxx)
- 
-         compiler.shared_lib_extension = so_ext
- 
-@@ -506,7 +521,7 @@
-                 for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED',
-                         # a number of derived variables. These need to be
-                         # patched up as well.
--                        'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
-+                        'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
-                     flags = _config_vars[key]
-                     flags = re.sub('-arch\s+\w+\s', ' ', flags)
-                     flags = re.sub('-isysroot [^ \t]*', ' ', flags)
-@@ -525,7 +540,7 @@
-                     for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED',
-                         # a number of derived variables. These need to be
-                         # patched up as well.
--                        'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
-+                        'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
- 
-                         flags = _config_vars[key]
-                         flags = re.sub('-arch\s+\w+\s', ' ', flags)
-@@ -549,7 +564,7 @@
-                         for key in ('LDFLAGS', 'BASECFLAGS', 'LDSHARED',
-                              # a number of derived variables. These need to be
-                              # patched up as well.
--                            'CFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
-+                            'CFLAGS', 'CXXFLAGS', 'PY_CFLAGS', 'BLDSHARED'):
- 
-                             flags = _config_vars[key]
-                             flags = re.sub('-isysroot\s+\S+(\s|$)', ' ', flags)
---- lib-python/modified-2.7/distutils/sysconfig_pypy.py
-+++ lib-python/modified-2.7/distutils/sysconfig_pypy.py
-@@ -114,13 +114,56 @@
-     optional C speedup components.
-     """
-     if compiler.compiler_type == "unix":
--        compiler.compiler_so.extend(['-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 "CFLAGS" in os.environ:
--            cflags = os.environ["CFLAGS"]
--            compiler.compiler.append(cflags)
--            compiler.compiler_so.append(cflags)
--            compiler.linker_so.append(cflags)
- 
- 
- from sysconfig_cpython import (
---- lib-python/modified-2.7/distutils/unixccompiler.py
-+++ lib-python/modified-2.7/distutils/unixccompiler.py
-@@ -114,14 +114,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' : ["cc"],
--                   '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":
-@@ -186,11 +189,18 @@
- 
-     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 = _darwin_compiler_fixup(compiler_so, cc_args + extra_postargs)
-+            compiler_so_cxx = _darwin_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
- 
-@@ -247,23 +257,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 = _darwin_compiler_fixup(linker, ld_args)

dev-python/pypy/files/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch

---- lib-python/modified-2.7/distutils/unixccompiler.py
-+++ lib-python/modified-2.7/distutils/unixccompiler.py
-@@ -297,7 +297,7 @@
-         # this time, there's no way to determine this information from
-         # the configuration data stored in the Python installation, so
-         # we use this hack.
--        compiler = os.path.basename(sysconfig.get_config_var("CC"))
-+        compiler = os.path.basename(self.compiler[0])
-         if sys.platform[:6] == "darwin":
-             # MacOSX's linker doesn't understand the -R flag at all
-             return "-L" + dir

dev-python/pypy/files/pypy-1.8-darwin.patch

---- pypy/translator/platform/darwin.py.orig	2012-02-10 03:27:19.000000000 +0900
-+++ pypy/translator/platform/darwin.py	2012-02-14 23:29:12.000000000 +0900
-@@ -61,8 +61,8 @@
- 
- class Darwin_i386(Darwin):
-     name = "darwin_i386"
--    link_flags = ('-arch', 'i386')
--    cflags = ('-arch', 'i386', '-O3', '-fomit-frame-pointer')
-+    link_flags = ()
-+    cflags = ('-O3', '-fomit-frame-pointer')
- 
- class Darwin_PowerPC(Darwin):#xxx fixme, mwp
-     name = "darwin_powerpc"
-@@ -71,5 +71,5 @@
- 
- class Darwin_x86_64(Darwin):
-     name = "darwin_x86_64"
--    link_flags = ('-arch', 'x86_64')
--    cflags = ('-arch', 'x86_64', '-O3', '-fomit-frame-pointer')
-+    link_flags = ()
-+    cflags = ('-O3', '-fomit-frame-pointer')

dev-python/pypy/metadata.xml

-<?xml version="1.0" encoding="utf-8"?>
-<pkgmetadata>
-  <herd>python</herd>
-  <maintainer>
-    <email>djc@gentoo.org</email>
-  </maintainer>
-  <maintainer>
-    <email>nirbheek@gentoo.org</email>
-  </maintainer>
-  <use>
-    <flag name="jit">Enable the JIT compiler</flag>
-    <flag name="sandbox">Enable sandboxing functionality</flag>
-    <flag name="stackless">Enable running with stackless features</flag>
-    <flag name="shadowstack">Use a shadow stack for finding GC roots</flag>
-  </use>
-</pkgmetadata>

dev-python/pypy/pypy-1.8-r1.ebuild

-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/pypy/pypy-1.8-r1.ebuild,v 1.2 2012/02/16 13:53:54 djc Exp $
-
-EAPI="4"
-
-inherit eutils toolchain-funcs check-reqs python versionator
-
-DESCRIPTION="PyPy is a fast, compliant alternative implementation of the Python language"
-HOMEPAGE="http://pypy.org/"
-SRC_URI="https://bitbucket.org/pypy/pypy/get/release-${PV}.tar.bz2 -> ${P}.tar.bz2"
-SLOTVER=$(get_version_component_range 1-2 ${PV})
-
-LICENSE="MIT"
-SLOT="${SLOTVER}"
-PYTHON_ABI="2.7-pypy-${SLOTVER}"
-KEYWORDS="~x86-macos"
-IUSE="bzip2 doc examples +jit ncurses sandbox shadowstack sqlite ssl +xml"
-
-RDEPEND=">=sys-libs/zlib-1.1.3
-		virtual/libffi
-		virtual/libintl
-		dev-libs/expat
-		bzip2? ( app-arch/bzip2 )
-		ncurses? ( sys-libs/ncurses )
-		sqlite? ( dev-db/sqlite:3 )
-		ssl? ( dev-libs/openssl )"
-DEPEND="${RDEPEND}"
-PDEPEND="app-admin/python-updater"
-
-DOC="README LICENSE"
-
-pkg_pretend() {
-	CHECKREQS_MEMORY="2G"
-	use amd64 && CHECKREQS_MEMORY="4G"
-	check-reqs_pkg_pretend
-}
-
-src_unpack() {
-	default
-	mv pypy-pypy-* "${S}" || die
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PV}-elf-metadata-26a8d3fc57a7.patch"
-	epatch "${FILESDIR}/${PV}-sext-instructions-02dc2f6160ee.patch"
-	epatch "${FILESDIR}/1.7-scripts-location.patch"
-	epatch "${FILESDIR}/pypy-1.7-distutils.unixccompiler.UnixCCompiler.runtime_library_dir_option.patch"
-	epatch "${FILESDIR}/pypy-1.7-distutils-fix_handling_of_executables_and_flags.patch"
-
-	epatch "${FILESDIR}/${P}-darwin.patch"
-	ffih=$(find "${EPREFIX}"/usr/ -name ffi.h -print | head -n 1)
-	ffiinclude=$(dirname "${ffih}")
-	sed -i -e "s|/usr/lib|${EPREFIX}/usr/lib|" \
-		-e "s|/usr/include/ffi|${ffiinclude}|" \
-		pypy/translator/platform/darwin.py || die "sed failed"
-
-}
-
-src_compile() {
-	local conf
-	if use jit; then
-		conf="-Ojit"
-	else
-		conf="-O2"
-	fi
-	if use shadowstack; then
-		conf+=" --gcrootfinder=shadowstack"
-	fi
-	if use sandbox; then
-		conf+=" --sandbox"
-	fi
-
-	conf+=" ./pypy/translator/goal/targetpypystandalone.py"
-	# Avoid linking against libraries disabled by use flags
-	local optional_use=("bzip2" "ncurses" "ssl")
-	local optional_mod=("bz2" "_minimal_curses" "_ssl")
-	for ((i = 0; i < ${#optional_use[*]}; i++)); do
-		if use ${optional_use[$i]};	then
-			conf+=" --withmod-${optional_mod[$i]}"
-		else
-			conf+=" --withoutmod-${optional_mod[$i]}"
-		fi
-	done
-
-	local translate_cmd="$(PYTHON -2) ./pypy/translator/goal/translate.py --batch $conf"
-	echo ${_BOLD}"${translate_cmd}"${_NORMAL}
-	${translate_cmd} || die "compile error"
-}
-
-src_install() {
-	local INSPATH="/usr/$(get_libdir)/pypy${SLOT}"
-	insinto ${INSPATH}
-	doins -r include lib_pypy lib-python pypy-c
-	fperms a+x ${INSPATH}/pypy-c
-	dosym ../$(get_libdir)/pypy${SLOT}/pypy-c /usr/bin/pypy-c${SLOT}
-
-	if ! use sqlite; then
-		rm -fr "${ED}${INSPATH}/lib-python/2.7/sqlite3"
-		rm -fr "${ED}${INSPATH}/lib-python/modified-2.7/sqlite3"
-		rm -f "${ED}${INSPATH}/lib_pypy/_sqlite3.py"
-	fi
-
-	# Generate Grammar and PatternGrammar pickles.
-	PYTHONPATH="${ED}${INSPATH}/lib_pypy/__extensions__:${ED}${INSPATH}/lib_pypy:${ED}${INSPATH}/lib-python/modified-2.7:${ED}${INSPATH}/lib-python/2.7" "${ED}${INSPATH}/pypy-c" -c "import lib2to3.pygram, lib2to3.patcomp; lib2to3.patcomp.PatternCompiler()" || die "Generation of Grammar and PatternGrammar pickles failed"
-}
-
-src_test() {
-	$(PYTHON -2) ./pypy/test_all.py --pypy=./pypy-c lib-python
-}