aboutsummaryrefslogtreecommitdiffstats
path: root/lang/pypy
diff options
context:
space:
mode:
authordbn <dbn@FreeBSD.org>2013-05-21 05:13:01 +0800
committerdbn <dbn@FreeBSD.org>2013-05-21 05:13:01 +0800
commit81817b7ee24d0908a14757bd568e0e304bbb8dfa (patch)
tree17429d675bfe522aac440a5cf9343d32e2dffb96 /lang/pypy
parentb4a30f7d5284117d2dcf4682da5c422771e80106 (diff)
downloadfreebsd-ports-gnome-81817b7ee24d0908a14757bd568e0e304bbb8dfa.tar.gz
freebsd-ports-gnome-81817b7ee24d0908a14757bd568e0e304bbb8dfa.tar.zst
freebsd-ports-gnome-81817b7ee24d0908a14757bd568e0e304bbb8dfa.zip
Update lang/pypy to 2.0.1.
Port ChangeLog: * Sqlite3 added as a dependency * DIST_SUBDIR no longer used as upstream now releases with a proper tarball * Added ability to translate with pypy running in restricted memory mode ( faster than python2.7 and uses less memory!) * Added support for pypy modules that use cffi (_sqlite3 and _curses) Approved by: eadler,bdrewery (mentors, implicit)
Diffstat (limited to 'lang/pypy')
-rw-r--r--lang/pypy/Makefile74
-rw-r--r--lang/pypy/distinfo4
-rw-r--r--lang/pypy/files/Makefile4
-rw-r--r--lang/pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.py20
-rw-r--r--lang/pypy/files/patch-lib__pypyX.Y__sysconfig.py8
-rw-r--r--lang/pypy/files/patch-pypy__module__sys__initpath.py8
-rw-r--r--lang/pypy/files/patch-pypy__sandbox__pypy_interactive.py (renamed from lang/pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py)16
-rw-r--r--lang/pypy/files/patch-pypy__translator__platform__freebsd.py61
-rw-r--r--lang/pypy/files/patch-rpython__rtyper__tool__rffi_platform.py (renamed from lang/pypy/files/patch-pypy__rpython__tool__rffi_platform.py)4
-rw-r--r--lang/pypy/files/patch-rpython__translator__cli__sdk.py (renamed from lang/pypy/files/patch-pypy__translator__cli__sdk.py)4
-rw-r--r--lang/pypy/pkg-plist168
11 files changed, 178 insertions, 193 deletions
diff --git a/lang/pypy/Makefile b/lang/pypy/Makefile
index 008d66b678ce..de986be01ba2 100644
--- a/lang/pypy/Makefile
+++ b/lang/pypy/Makefile
@@ -2,11 +2,10 @@
# $FreeBSD$
PORTNAME= pypy
-DISTVERSION= 2.0-beta1
+DISTVERSION= 2.0.1
CATEGORIES= lang python java
-MASTER_SITES= https://bitbucket.org/pypy/pypy/get/
-DISTNAME= release-${DISTVERSION}
-DIST_SUBDIR= pypy
+MASTER_SITES= http://cdn.bitbucket.org/pypy/pypy/downloads/
+DISTNAME= ${PORTNAME}-${DISTVERSION}-src
MAINTAINER= dbn@FreeBSD.org
COMMENT= Fast, compliant implementation of the Python language
@@ -15,18 +14,24 @@ LICENSE= MIT PSFL
LICENSE_COMB= multi
LIB_DEPENDS= expat:${PORTSDIR}/textproc/expat2 \
- ffi:${PORTSDIR}/devel/libffi
+ ffi:${PORTSDIR}/devel/libffi \
+ sqlite3:${PORTSDIR}/databases/sqlite3
CLI_DESC= (BROKEN) Translate a CLI (.NET) based pypy
JVM_DESC= (BROKEN) Translate a JVM (Java) based pypy
-PYPY_DESC= Use pypy to translate (faster but uses more memory)
+PYTHON_DESC= Use Python-2.7 to translate (slowest)
+PYPY_DESC= Use PyPy to translate (fastest, highest memory usage)
+PYPY_MINMEM_DESC= Use PyPy to translate (lowest memory usage)
+PYINST_DESC= Translation method
SANDBOX_DESC= Translate a sandboxed pypy
.if !defined(PYPY_INST)
OPTIONS_DEFINE+= CLI JVM SANDBOX
.endif
LOCALBASE?= /usr/local
.if exists(${LOCALBASE}/bin/pypy)
-OPTIONS_DEFINE+= PYPY
+OPTIONS_SINGLE= PYINST
+OPTIONS_SINGLE_PYINST= PYTHON PYPY PYPY_MINMEM
+OPTIONS_DEFAULT+= PYPY_MINMEM
.endif
MANUAL_PACKAGE_BUILD= runaway process on pointyhat
@@ -39,7 +44,7 @@ MAKE_JOBS_SAFE= yes
MAKEFILE= ${FILESDIR}/Makefile
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
-WRKSRC= ${WRKDIR}/pypy-pypy-fcb6b056f00e
+WRKSRC= ${WRKDIR}/${DISTNAME}
PYPY_VER= ${DISTVERSION:C|([0-9])\.([0-9]).*|\1.\2|}
PYTHON_IMPL_VER= 2.7
@@ -53,6 +58,9 @@ PLIST_SUB+= PYPY_LIBDIR=${PYPY_LIBDIR} \
MAKE_ENV+= DISTVERSION=${DISTVERSION} PYTHON_CMD=${PYTHON_CMD} \
WRKSRC=${WRKSRC} PYPY_LOCALBASE=${LOCALBASE}
+LOCALBASE_REFIX= \
+ lib/pypy2.0/lib_pypy/_sqlite3.py
+
.include <bsd.port.options.mk>
.include "${MASTERDIR}/files/bsd.pypy.inst.mk"
@@ -66,6 +74,8 @@ USE_GCC= yes
.if ${PORT_OPTIONS:MPYPY} || defined(PYTHON_CMD)
PYTHON_CMD?= ${LOCALBASE}/bin/pypy
+.elif ${PORT_OPTIONS:MPYPY_MINMEM}
+PYTHON_CMD?= "${SETENV} PYPY_GC_MAX_DELTA=200MB ${LOCALBASE}/bin/pypy --jit loop_longevity=300"
.else
USE_PYTHON_BUILD= -2.7
.endif
@@ -142,17 +152,23 @@ BROKEN= JVM backend broken, partially supported upstream
.if ${ARCH} == "i386"
PYPY_ARCH= x86_32
PYPY_JITTABLE= YES
+PYPY_BITS= 32
.elif ${ARCH} == "amd64"
PYPY_ARCH= x86_64
PYPY_JITTABLE= YES
+PYPY_BITS= 64
.elif ${ARCH} == "powerpc"
PYPY_ARCH= ppc_32
+PYPY_BITS= 32
.elif ${ARCH} == "powerpc64"
PYPY_ARCH= ppc_64
+PYPY_BITS= 64
.else
PYPY_ARCH= ${ARCH}
+PYPY_BITS= 32
.endif
PLIST_SUB+= PYPY_ARCH="${PYPY_ARCH}"
+PLIST_SUB+= PYPY_BITS="${PYPY_BITS}"
.if !defined(PYPY_JITTABLE)
.for inst in ${PYPY_INST}
@@ -168,22 +184,27 @@ PYPY_${inst}_OPT= 2
# level.
#
.if ${PYPY_ARCH:M*64}
-. if defined(PYTHON_CMD) && ${PYTHON_CMD:M*pypy*}
-# 64bit + pypy = 5.5 GiB
-PYPY_TRANSLATION_MEMORY= 5582872
+. if ${PORT_OPTIONS:MPYPY}
+# 64bit + pypy = 5.9 GiB
+PYPY_TRANSLATION_MEMORY= 6138872
+. elif ${PORT_OPTIONS:MPYPY_MINMEM}
+# 64bit + pypy (minimum memory) = 3.6GiB
+PYPY_TRANSLATION_MEMORY= 3855204
. else
-# 64bit + python = 4.3 GiB
-PYPY_TRANSLATION_MEMORY= 4349620
+# 64bit + python = 4.7 GiB
+PYPY_TRANSLATION_MEMORY= 4957688
. endif
# 64bit system += 366 MiB
PYPY_MINIMUM_MEMORY= $$((${PYPY_TRANSLATION_MEMORY} + 374784))
.else
-. if defined(PYTHON_CMD) && ${PYTHON_CMD:M*pypy*}
-# 32bit + pypy = 2.4GiB
-PYPY_TRANSLATION_MEMORY= 2423888
-. else
-# 32bit + python = 2.1 GiB
-PYPY_TRANSLATION_MEMORY= 2111388
+. if ${PORT_OPTIONS:MPYPY}
+# 32bit + pypy = 2.3GiB
+PYPY_TRANSLATION_MEMORY= 2689508
+. elif ${PORT_OPTIONS:MPYPY_MINMEM}
+# 32bit + pypy (minimum memory) = 2.2GiB
+PYPY_TRANSLATION_MEMORY= 2329256
+# 32bit + python = 2.3 GiB
+PYPY_TRANSLATION_MEMORY= 2372640
. endif
# 32bit system += 168 MiB
PYPY_MINIMUM_MEMORY= $$((${PYPY_TRANSLATION_MEMORY} + 171787))
@@ -239,11 +260,14 @@ pre-fetch:
post-extract:
${MKDIR} ${WRKSRC}/lib
+ ${LN} -s ${WRKSRC}/lib ${WRKDIR}/lib
${MV} ${WRKSRC}/lib-python/${PYTHON_IMPL_VER} ${WRKSRC}/${PYPY_LIBDIR}
${MV} ${WRKSRC}/lib_pypy ${WRKSRC}/${PYPY_LIBDIR}/
post-patch:
- ${FIND} ${WRKSRC}/lib -name '*.orig' -delete
+.for file in ${LOCALBASE_REFIX}
+ ${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/${file}
+.endfor
do-configure:
${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
@@ -257,6 +281,14 @@ post-build:
-${FIND} ${WRKSRC}/${PYPY_LIBDIR} -type d | \
${SETENV} PYTHON_PATH=${WRKSRC} ${XARGS} \
${WRKDIR}/${PYPY_PRIMARY} -m compileall -fl
+.for mod in _sqlite3 _curses
+ ${WRKDIR}/${PYPY_PRIMARY} -c 'import ${mod}'
+.endfor
+ ${FIND} ${WRKSRC}/lib -name '*.orig' -delete -or \
+ -name '*.bak' -delete -or \
+ -name '*.c' -delete -or \
+ -name '*.o' -delete
+ ${FIND} ${WRKSRC}/lib -depth -type d -name tmp | ${XARGS} ${RM} -r
${MV} ${WRKSRC}/include ${WRKSRC}/include~
${MKDIR} ${WRKSRC}/include
${MV} ${WRKSRC}/include~ ${WRKSRC}/${PYPY_INCLUDEDIR}
@@ -266,6 +298,7 @@ do-install:
(cd ${WRKSRC}/${dir}; ${COPYTREE_SHARE} . ${PREFIX}/${dir})
.endfor
.for name in ${PYPY_NAMES:O}
+ ${STRIP_CMD} ${WRKDIR}/${name}
${INSTALL_PROGRAM} ${WRKDIR}/${name} ${PREFIX}/bin/${name}${PYPY_VER}
${ECHO} bin/${name}${PYPY_VER} >> ${TMPPLIST}
.endfor
@@ -288,6 +321,7 @@ pkg-plist: build
${REINPLACE_CMD} -e 's|^${PYPY_LIBDIR}|%%PYPY_LIBDIR%%|g' \
-e 's|^${PYPY_INCLUDEDIR}|%%PYPY_INCLUDEDIR%%|g' \
-e 's|${PYPY_ARCH}|%%PYPY_ARCH%%|g' \
+ -e 's|_${PYPY_BITS}_|_%%PYPY_BITS%%_|g' \
${WRKDIR}/.plist-files-gen
${REINPLACE_CMD} -e 's|^${PYPY_LIBDIR}|@dirrm %%PYPY_LIBDIR%%|g' \
-e 's|^${PYPY_INCLUDEDIR}|@dirrm %%PYPY_INCLUDEDIR%%|g' \
diff --git a/lang/pypy/distinfo b/lang/pypy/distinfo
index 72d84dbed9ae..2c63036e380d 100644
--- a/lang/pypy/distinfo
+++ b/lang/pypy/distinfo
@@ -1,2 +1,2 @@
-SHA256 (pypy/release-2.0-beta1.tar.bz2) = 40d8c91fa639232d7689e2f04cec4b1f153dbbf2ea1a7e7c58dd35724ce37371
-SIZE (pypy/release-2.0-beta1.tar.bz2) = 13653701
+SHA256 (pypy-2.0.1-src.tar.bz2) = d1327bc325545939236ac609ec509548a545f97b1c933dedbe42f2482a130aa0
+SIZE (pypy-2.0.1-src.tar.bz2) = 14809687
diff --git a/lang/pypy/files/Makefile b/lang/pypy/files/Makefile
index f745baff8b7a..07a4d1ef61c5 100644
--- a/lang/pypy/files/Makefile
+++ b/lang/pypy/files/Makefile
@@ -30,9 +30,9 @@ ${PYPY_${inst}_NAME}: build_${PYPY_${inst}_NAME}/usession-release-${DISTVERSION}
.done_translate_${PYPY_${inst}_NAME}:
${RM} -rf build_${PYPY_${inst}_NAME}
${MKDIR} build_${PYPY_${inst}_NAME}
- (cd ${WRKSRC}/pypy/translator/goal; \
+ (cd ${WRKSRC}/pypy/goal; \
/usr/bin/time -l ${SETENV} TMPDIR=${.CURDIR}/build_${PYPY_${inst}_NAME} \
- ${PYTHON_CMD} translate.py --source ${PYPY_${inst}_TRANSLATE_ARGS} -O${PYPY_${inst}_OPT} \
+ ${PYTHON_CMD} ../../rpython/bin/rpython --source ${PYPY_${inst}_TRANSLATE_ARGS} -O${PYPY_${inst}_OPT} \
targetpypystandalone.py ${PYPY_${inst}_OBJSPACE_ARGS} )
${TOUCH} .done_translate_${PYPY_${inst}_NAME}
diff --git a/lang/pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.py b/lang/pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.py
index 07be0492ada8..7d86d2095057 100644
--- a/lang/pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.py
+++ b/lang/pypy/files/patch-lib__pypyX.Y__lib_pypy__ctypes_config_cache__rebuild.py
@@ -1,11 +1,11 @@
---- lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py~ 2012-06-22 11:42:55.000000000 +0200
-+++ lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py 2012-06-22 11:43:12.000000000 +0200
-@@ -6,7 +6,7 @@
- # get the correct path
- import os.path
- this_dir = os.path.dirname(__file__)
--autopath_py = os.path.join(this_dir, '../../pypy/tool/autopath.py')
-+autopath_py = os.path.join(this_dir, '../../../../pypy/tool/autopath.py')
- autopath_py = os.path.abspath(autopath_py)
- execfile(autopath_py, dict(__name__='autopath', __file__=autopath_py))
+--- lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py.orig 2013-04-08 15:26:29.000000000 +0200
++++ lib/pypy2.0/lib_pypy/ctypes_config_cache/rebuild.py 2013-05-06 20:32:36.000000000 +0200
+@@ -3,7 +3,7 @@
+
+ import os, sys
+
+-sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..')))
++sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..')))
+
+ import py
diff --git a/lang/pypy/files/patch-lib__pypyX.Y__sysconfig.py b/lang/pypy/files/patch-lib__pypyX.Y__sysconfig.py
index 1f832abc4eae..d99c95a7ff94 100644
--- a/lang/pypy/files/patch-lib__pypyX.Y__sysconfig.py
+++ b/lang/pypy/files/patch-lib__pypyX.Y__sysconfig.py
@@ -4,10 +4,10 @@
'data' : '{base}',
},
'pypy': {
-- 'stdlib': '{base}/lib-python',
-- 'platstdlib': '{base}/lib-python',
-- 'purelib': '{base}/lib-python',
-- 'platlib': '{base}/lib-python',
+- 'stdlib': '{base}/lib-python/{py_version_short}',
+- 'platstdlib': '{base}/lib-python/{py_version_short}',
+- 'purelib': '{base}/lib-python/{py_version_short}',
+- 'platlib': '{base}/lib-python/{py_version_short}',
- 'include': '{base}/include',
- 'platinclude': '{base}/include',
+ 'stdlib': '{base}/lib/pypy{pypy_version_short}',
diff --git a/lang/pypy/files/patch-pypy__module__sys__initpath.py b/lang/pypy/files/patch-pypy__module__sys__initpath.py
index efb96ffb6141..9f2fd29b21d3 100644
--- a/lang/pypy/files/patch-pypy__module__sys__initpath.py
+++ b/lang/pypy/files/patch-pypy__module__sys__initpath.py
@@ -1,6 +1,6 @@
--- pypy/module/sys/initpath.py.orig 2012-11-27 18:15:02.000000000 +0200
+++ pypy/module/sys/initpath.py 2012-11-27 18:19:45.000000000 +0200
-@@ -91,14 +91,13 @@
+@@ -90,14 +90,13 @@
least contain a directory called ``lib-python/X.Y`` and another one called
``lib_pypy``. If they cannot be found, it raises OSError.
"""
@@ -12,10 +12,10 @@
+ dirname = 'pypy%d.%d' % PYPY_VERSION[:2]
+ lib_python = os.path.join(prefix, 'lib')
python_std_lib = os.path.join(lib_python, dirname)
- checkdir(python_std_lib)
-
+ _checkdir(python_std_lib)
+
- lib_pypy = os.path.join(prefix, 'lib_pypy')
+ lib_pypy = os.path.join(python_std_lib, 'lib_pypy')
- checkdir(lib_pypy)
+ _checkdir(lib_pypy)
importlist = []
diff --git a/lang/pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py b/lang/pypy/files/patch-pypy__sandbox__pypy_interactive.py
index eaa1118280d0..c2d6bc050900 100644
--- a/lang/pypy/files/patch-pypy__translator__sandbox__pypy_interactive.py
+++ b/lang/pypy/files/patch-pypy__sandbox__pypy_interactive.py
@@ -1,13 +1,13 @@
---- pypy/translator/sandbox/pypy_interact.py.orig 2012-06-07 14:24:48.000000000 +0200
-+++ pypy/translator/sandbox/pypy_interact.py 2012-07-02 21:08:19.000000000 +0200
-@@ -24,11 +24,14 @@
+--- pypy/sandbox/pypy_interact.py.orig 2012-06-07 14:24:48.000000000 +0200
++++ pypy/sandbox/pypy_interact.py 2012-07-02 21:08:19.000000000 +0200
+@@ -22,11 +22,14 @@
import sys, os
- import autopath
+ sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..', '..')))
+from pypy.module.sys.version import PYPY_VERSION
- from pypy.translator.sandbox.sandlib import SimpleIOSandboxedProc
- from pypy.translator.sandbox.sandlib import VirtualizedSandboxedProc
- from pypy.translator.sandbox.vfs import Dir, RealDir, RealFile
+ from rpython.translator.sandbox.sandlib import SimpleIOSandboxedProc
+ from rpython.translator.sandbox.sandlib import VirtualizedSandboxedProc
+ from rpython.translator.sandbox.vfs import Dir, RealDir, RealFile
import pypy
LIB_ROOT = os.path.dirname(os.path.dirname(pypy.__file__))
+LIB_ROOT = os.path.join(LIB_ROOT, 'lib')
@@ -15,7 +15,7 @@
class PyPySandboxedProc(VirtualizedSandboxedProc, SimpleIOSandboxedProc):
argv0 = '/bin/pypy-c'
-@@ -58,10 +61,10 @@
+@@ -56,10 +59,10 @@
return Dir({
'bin': Dir({
'pypy-c': RealFile(self.executable),
diff --git a/lang/pypy/files/patch-pypy__translator__platform__freebsd.py b/lang/pypy/files/patch-pypy__translator__platform__freebsd.py
deleted file mode 100644
index bc4836e5be62..000000000000
--- a/lang/pypy/files/patch-pypy__translator__platform__freebsd.py
+++ /dev/null
@@ -1,61 +0,0 @@
---- ./pypy/translator/platform/freebsd.py.orig 2012-11-22 14:52:20.000000000 +0200
-+++ ./pypy/translator/platform/freebsd.py 2013-02-28 19:28:49.000000000 +0200
-@@ -4,23 +4,15 @@
-
- from pypy.translator.platform import posix
-
--def get_env(key, default):
-- if key in os.environ:
-- return os.environ[key]
-- else:
-- return default
--
--def get_env_vector(key, default):
-- string = get_env(key, default)
-- # XXX: handle quotes
-- return string.split()
-+if 'PYPY_LOCALBASE' not in os.environ:
-+ os.environ['PYPY_LOCALBASE'] = os.environ.get('LOCALBASE', '/usr/local')
-
- class Freebsd(posix.BasePosix):
- name = "freebsd"
-
-- link_flags = ['-pthread'] + get_env_vector('LDFLAGS', '')
-+ link_flags = ['-pthread'] + os.environ.get('LDFLAGS', '').split()
- cflags = ['-O3', '-pthread', '-fomit-frame-pointer'
-- ] + get_env_vector('CFLAGS', '')
-+ ] + os.environ.get('CFLAGS', '').split()
- standalone_only = []
- shared_only = []
- so_ext = 'so'
-@@ -28,27 +20,17 @@
-
- def __init__(self, cc=None):
- if cc is None:
-- cc = get_env("CC", "gcc")
-+ cc = os.environ.get('CC', 'cc')
- super(Freebsd, self).__init__(cc)
-
- def _args_for_shared(self, args):
- return ['-shared'] + args
-
-- def _preprocess_include_dirs(self, include_dirs):
-- res_incl_dirs = list(include_dirs)
-- res_incl_dirs.append(os.path.join(get_env("LOCALBASE", "/usr/local"), "include"))
-- return res_incl_dirs
--
-- def _preprocess_library_dirs(self, library_dirs):
-- res_lib_dirs = list(library_dirs)
-- res_lib_dirs.append(os.path.join(get_env("LOCALBASE", "/usr/local"), "lib"))
-- return res_lib_dirs
--
- def _include_dirs_for_libffi(self):
-- return [os.path.join(get_env("LOCALBASE", "/usr/local"), "include")]
-+ return []
-
- def _library_dirs_for_libffi(self):
-- return [os.path.join(get_env("LOCALBASE", "/usr/local"), "lib")]
-+ return []
-
- class Freebsd_64(Freebsd):
- shared_only = ('-fPIC',)
diff --git a/lang/pypy/files/patch-pypy__rpython__tool__rffi_platform.py b/lang/pypy/files/patch-rpython__rtyper__tool__rffi_platform.py
index 8a4540a24484..d8eab77cd863 100644
--- a/lang/pypy/files/patch-pypy__rpython__tool__rffi_platform.py
+++ b/lang/pypy/files/patch-rpython__rtyper__tool__rffi_platform.py
@@ -1,5 +1,5 @@
---- pypy/rpython/tool/rffi_platform.py~ 2011-11-19 09:44:54.000000000 +0200
-+++ pypy/rpython/tool/rffi_platform.py 2011-11-23 20:17:30.000000000 +0200
+--- rpython/rtyper/tool/rffi_platform.py~ 2011-11-19 09:44:54.000000000 +0200
++++ rpython/rtyper/tool/rffi_platform.py 2011-11-23 20:17:30.000000000 +0200
@@ -805,7 +805,9 @@
includes=['gc.h']
else:
diff --git a/lang/pypy/files/patch-pypy__translator__cli__sdk.py b/lang/pypy/files/patch-rpython__translator__cli__sdk.py
index 7b601ed25703..2b8aca7a97ca 100644
--- a/lang/pypy/files/patch-pypy__translator__cli__sdk.py
+++ b/lang/pypy/files/patch-rpython__translator__cli__sdk.py
@@ -1,5 +1,5 @@
---- pypy/translator/cli/sdk.py~ 2012-06-11 12:24:05.000000000 +0200
-+++ pypy/translator/cli/sdk.py 2012-06-11 12:24:42.000000000 +0200
+--- rpython/translator/cli/sdk.py~ 2012-06-11 12:24:05.000000000 +0200
++++ rpython/translator/cli/sdk.py 2012-06-11 12:24:42.000000000 +0200
@@ -47,7 +47,7 @@
class MonoSDK(AbstractSDK):
diff --git a/lang/pypy/pkg-plist b/lang/pypy/pkg-plist
index a5098d383e09..d02f0db3e1b2 100644
--- a/lang/pypy/pkg-plist
+++ b/lang/pypy/pkg-plist
@@ -4,6 +4,7 @@
%%PYPY_INCLUDEDIR%%/boolobject.h
%%PYPY_INCLUDEDIR%%/bufferobject.h
%%PYPY_INCLUDEDIR%%/bytesobject.h
+%%PYPY_INCLUDEDIR%%/ceval.h
%%PYPY_INCLUDEDIR%%/code.h
%%PYPY_INCLUDEDIR%%/compile.h
%%PYPY_INCLUDEDIR%%/complexobject.h
@@ -1449,6 +1450,8 @@
%%PYPY_LIBDIR%%/lib2to3/tests/test_util.pyc
%%PYPY_LIBDIR%%/lib_pypy/__init__.py
%%PYPY_LIBDIR%%/lib_pypy/__init__.pyc
+%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g178e1b25x1fd01a91.pypy-20.so
+%%PYPY_LIBDIR%%/lib_pypy/__pycache__/_cffi__g85535e98x310af836.pypy-20.so
%%PYPY_LIBDIR%%/lib_pypy/_codecs_cn.py
%%PYPY_LIBDIR%%/lib_pypy/_codecs_cn.pyc
%%PYPY_LIBDIR%%/lib_pypy/_codecs_hk.py
@@ -1488,9 +1491,12 @@
%%PYPY_LIBDIR%%/lib_pypy/_ctypes/structure.pyc
%%PYPY_LIBDIR%%/lib_pypy/_ctypes/union.py
%%PYPY_LIBDIR%%/lib_pypy/_ctypes/union.pyc
-%%PYPY_LIBDIR%%/lib_pypy/_ctypes_test.c
%%PYPY_LIBDIR%%/lib_pypy/_ctypes_test.py
%%PYPY_LIBDIR%%/lib_pypy/_ctypes_test.pyc
+%%PYPY_LIBDIR%%/lib_pypy/_curses.py
+%%PYPY_LIBDIR%%/lib_pypy/_curses.pyc
+%%PYPY_LIBDIR%%/lib_pypy/_curses_panel.py
+%%PYPY_LIBDIR%%/lib_pypy/_curses_panel.pyc
%%PYPY_LIBDIR%%/lib_pypy/_elementtree.py
%%PYPY_LIBDIR%%/lib_pypy/_elementtree.pyc
%%PYPY_LIBDIR%%/lib_pypy/_functools.py
@@ -1499,8 +1505,6 @@
%%PYPY_LIBDIR%%/lib_pypy/_marshal.pyc
%%PYPY_LIBDIR%%/lib_pypy/_md5.py
%%PYPY_LIBDIR%%/lib_pypy/_md5.pyc
-%%PYPY_LIBDIR%%/lib_pypy/_minimal_curses.py
-%%PYPY_LIBDIR%%/lib_pypy/_minimal_curses.pyc
%%PYPY_LIBDIR%%/lib_pypy/_pypy_interact.py
%%PYPY_LIBDIR%%/lib_pypy/_pypy_interact.pyc
%%PYPY_LIBDIR%%/lib_pypy/_pypy_irc_topic.py
@@ -1523,29 +1527,80 @@
%%PYPY_LIBDIR%%/lib_pypy/_subprocess.pyc
%%PYPY_LIBDIR%%/lib_pypy/_testcapi.py
%%PYPY_LIBDIR%%/lib_pypy/_testcapi.pyc
-%%PYPY_LIBDIR%%/lib_pypy/_testcapimodule.c
%%PYPY_LIBDIR%%/lib_pypy/cPickle.py
%%PYPY_LIBDIR%%/lib_pypy/cPickle.pyc
%%PYPY_LIBDIR%%/lib_pypy/cStringIO.py
%%PYPY_LIBDIR%%/lib_pypy/cStringIO.pyc
-%%PYPY_LIBDIR%%/lib_pypy/conftest.py
-%%PYPY_LIBDIR%%/lib_pypy/conftest.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi.egg-info
+%%PYPY_LIBDIR%%/lib_pypy/cffi/__init__.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/__init__.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/__init__.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/__init__.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/_ast_gen.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/_ast_gen.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/_build_tables.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/_build_tables.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/_c_ast.cfg
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ast_transforms.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ast_transforms.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_ast.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_ast.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_generator.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_generator.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_lexer.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_lexer.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_parser.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/c_parser.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/lextab.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/lextab.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/__init__.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/__init__.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/cpp.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/cpp.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/ctokens.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/ctokens.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/lex.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/lex.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/yacc.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply/yacc.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/plyparser.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/plyparser.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/yacctab.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/yacctab.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/api.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/api.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/backend_ctypes.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/backend_ctypes.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/commontypes.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/commontypes.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/cparser.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/cparser.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/ffiplatform.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/ffiplatform.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/gc_weakref.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/gc_weakref.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/model.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/model.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/vengine_cpy.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/vengine_cpy.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/vengine_gen.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/vengine_gen.pyc
+%%PYPY_LIBDIR%%/lib_pypy/cffi/verifier.py
+%%PYPY_LIBDIR%%/lib_pypy/cffi/verifier.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/__init__.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/__init__.pyc
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_%%PYPY_ARCH%%_.py
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_%%PYPY_ARCH%%_.pyc
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_%%PYPY_BITS%%_.py
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_%%PYPY_BITS%%_.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_cache.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_locale_cache.pyc
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_%%PYPY_ARCH%%_.py
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_%%PYPY_ARCH%%_.pyc
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_%%PYPY_BITS%%_.py
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_%%PYPY_BITS%%_.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_cache.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_resource_cache.pyc
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_%%PYPY_ARCH%%_.py
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_%%PYPY_ARCH%%_.pyc
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_%%PYPY_BITS%%_.py
+%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_%%PYPY_BITS%%_.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_cache.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/_syslog_cache.pyc
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/autopath.py
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/autopath.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/dumpcache.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/dumpcache.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/locale.ctc.py
@@ -1556,8 +1611,6 @@
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/resource.ctc.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/syslog.ctc.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/syslog.ctc.pyc
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/test/test_cache.py
-%%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/test/test_cache.pyc
%%PYPY_LIBDIR%%/lib_pypy/ctypes_support.py
%%PYPY_LIBDIR%%/lib_pypy/ctypes_support.pyc
%%PYPY_LIBDIR%%/lib_pypy/datetime.py
@@ -1590,56 +1643,26 @@
%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/arrayprint.pyc
%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/fromnumeric.py
%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/fromnumeric.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/multiarray.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/multiarray.pyc
%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/numeric.py
%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/numeric.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/numerictypes.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/numerictypes.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/shape_base.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/shape_base.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/umath.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/core/umath.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/__init__.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/__init__.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/function_base.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/function_base.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/shape_base.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/shape_base.pyc
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/twodim_base.py
+%%PYPY_LIBDIR%%/lib_pypy/numpypy/lib/twodim_base.pyc
%%PYPY_LIBDIR%%/lib_pypy/pwd.py
%%PYPY_LIBDIR%%/lib_pypy/pwd.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/__init__.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/__init__.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/hack___pypy__.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/hack___pypy__.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/inprogress_test_binascii_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/inprogress_test_binascii_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/no_test_pickle_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/no_test_pickle_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_collections.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_collections.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_coroutine.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_coroutine.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_datetime.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_datetime.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_dbm_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_dbm_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_defaultdict.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_defaultdict.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_deque_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_deque_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_exception_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_exception_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_grp_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_grp_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_marshal_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_marshal_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_md5_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_md5_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_os_wait.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_os_wait.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_pickle_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_pickle_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_resource.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_resource.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_sha_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_sha_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_site_extra.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_site_extra.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_stackless.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_stackless.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_stackless_pickling.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_stackless_pickling.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_structseq.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_structseq.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_syslog.py
-%%PYPY_LIBDIR%%/lib_pypy/pypy_test/test_syslog.pyc
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/__init__.py
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/__init__.pyc
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/cmdrepl.py
@@ -1680,18 +1703,6 @@
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/readline.pyc
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/simple_interact.py
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/simple_interact.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/test/test_functional.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/test/test_functional.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/__init__.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/__init__.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/basic.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/basic.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/bugs.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/bugs.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/infrastructure.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/infrastructure.pyc
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/wishes.py
-%%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests/wishes.pyc
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/unicodedata_.py
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/unicodedata_.pyc
%%PYPY_LIBDIR%%/lib_pypy/pyrepl/unix_console.py
@@ -3769,15 +3780,16 @@
@dirrm %%PYPY_LIBDIR%%/multiprocessing
@dirrm %%PYPY_LIBDIR%%/msilib
@dirrm %%PYPY_LIBDIR%%/logging
-@dirrm %%PYPY_LIBDIR%%/lib_pypy/pyrepl/tests
-@dirrm %%PYPY_LIBDIR%%/lib_pypy/pyrepl/test
@dirrm %%PYPY_LIBDIR%%/lib_pypy/pyrepl
-@dirrm %%PYPY_LIBDIR%%/lib_pypy/pypy_test
+@dirrm %%PYPY_LIBDIR%%/lib_pypy/numpypy/lib
@dirrm %%PYPY_LIBDIR%%/lib_pypy/numpypy/core
@dirrm %%PYPY_LIBDIR%%/lib_pypy/numpypy
-@dirrm %%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache/test
@dirrm %%PYPY_LIBDIR%%/lib_pypy/ctypes_config_cache
+@dirrm %%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser/ply
+@dirrm %%PYPY_LIBDIR%%/lib_pypy/cffi/_pycparser
+@dirrm %%PYPY_LIBDIR%%/lib_pypy/cffi
@dirrm %%PYPY_LIBDIR%%/lib_pypy/_ctypes
+@dirrm %%PYPY_LIBDIR%%/lib_pypy/__pycache__
@dirrm %%PYPY_LIBDIR%%/lib_pypy
@dirrm %%PYPY_LIBDIR%%/lib2to3/tests/data/fixers/myfixes
@dirrm %%PYPY_LIBDIR%%/lib2to3/tests/data/fixers