Hey, Here's an update to PyPy-5.3.0.
Items of note: * Distfile naming convention has changed. * Updated the comments on making a new bootstrap. You only need the no-bootstrap target if the old bootstrap wont work any more. * I got the vmprof patches merged upstream: https://bitbucket.org/pypy/pypy/pull-requests/456/make-vmprof-work-on-openbsd/diff * Resource usage: 7057.77 real 6263.98 user 480.57 sys 4221380 maximum resident set size * pypy(82246): mmap W^X violation I raised this on pypy-dev: https://mail.python.org/pipermail/pypy-dev/2016-June/014489.html And I spoke to another developer, who was concerned that the constant re-mapping may cause a slowdown. I may have a go at this perhaps at g2k16 and benchmark the slowdown. If it's not too bad, I can add a compile time switch to turn on re-mapping. Until then, we will have to live with W+X. * Bootstrap tarball: http://theunixzoo.co.uk/random/pypy-bootstrap-amd64-5.3.0.tar.xz Would you mind hosting this Stuart? Comments? OK? Index: Makefile =================================================================== RCS file: /home/edd/cvsync/ports/lang/pypy/Makefile,v retrieving revision 1.23 diff -u -p -r1.23 Makefile --- Makefile 9 May 2016 11:18:00 -0000 1.23 +++ Makefile 10 Jun 2016 11:40:53 -0000 @@ -7,15 +7,20 @@ COMMENT = fast implementation of the Py # To update PyPy to a new version: # * Bump ${V} but set ${BOOTSTRAP_V} to the old ${V} (keeping # any bootstrap version suffix intact, e.g. "-1") -# * FLAVOR=no_bootstrap make makesum -# * FLAVOR=no_bootstrap make plist (fix anything along the way) -# * FLAVOR=no_bootstrap make package +# * make makesum +# * make plist (fix anything along the way) +# * make package # * Set BOOTSTRAP_V back to ${V} in the port Makefile -# * make bootstrap && make makesum (note, FLAVOR no longer set) +# * make bootstrap && make makesum # * Try the build using the bootstrap -V = 5.0.1 -BOOTSTRAP_V = ${V}-1 -DISTNAME = pypy-${V}-src +# +# If the old bootstrap no longer works (e.g. due to an ABI change), then +# You can use the no_bootstrap FLAVOR to make a new bootstrap. This uses +# CPython to build PyPy instead. Note this is slower. + +V = 5.3.0 +BOOTSTRAP_V = ${V} +DISTNAME = pypy2-v${V}-src PKGNAME = pypy-${V} BOOTSTRAP-amd64 = pypy-bootstrap-amd64-${BOOTSTRAP_V}.tar.xz @@ -58,8 +63,6 @@ BUILD_DEPENDS = textproc/py-sphinx \ ${MODTK_BUILD_DEPENDS} RUN_DEPENDS = ${MODTK_RUN_DEPENDS} \ databases/gdbm - -WRKDIST = ${WRKDIR}/pypy-${V}-src post-extract: @if [ `ulimit -d` -lt $$((5*1024*1024)) ]; then \ Index: distinfo =================================================================== RCS file: /home/edd/cvsync/ports/lang/pypy/distinfo,v retrieving revision 1.15 diff -u -p -r1.15 distinfo --- distinfo 8 May 2016 09:56:01 -0000 1.15 +++ distinfo 10 Jun 2016 09:29:57 -0000 @@ -1,4 +1,4 @@ -SHA256 (pypy/pypy-5.0.1-src.tar.bz2) = FXPJKE0+wjbI5u87lUdTky3/KUYsVLWIW3YdHuaLbgU= -SHA256 (pypy/pypy-bootstrap-amd64-5.0.1-1.tar.xz) = ak3ZaYTohXPaCLc8NXgPHLYPbxvt6sz8K4bI5cwkVe0= -SIZE (pypy/pypy-5.0.1-src.tar.bz2) = 17282149 -SIZE (pypy/pypy-bootstrap-amd64-5.0.1-1.tar.xz) = 22774236 +SHA256 (pypy/pypy-bootstrap-amd64-5.3.0.tar.xz) = edy2uGOHyc3D9NndGeSZ86szEvpiJmFSQdAC/wtLBpg= +SHA256 (pypy/pypy2-v5.3.0-src.tar.bz2) = QULrj0A4ELyIpJEXkrtaUC4VLflYBuM+aQUMgozRYNU= +SIZE (pypy/pypy-bootstrap-amd64-5.3.0.tar.xz) = 21976516 +SIZE (pypy/pypy2-v5.3.0-src.tar.bz2) = 17361429 Index: patches/patch-rpython_rlib_rvmprof_src_vmprof_config_h =================================================================== RCS file: /home/edd/cvsync/ports/lang/pypy/patches/patch-rpython_rlib_rvmprof_src_vmprof_config_h,v retrieving revision 1.1 diff -u -p -r1.1 patch-rpython_rlib_rvmprof_src_vmprof_config_h --- patches/patch-rpython_rlib_rvmprof_src_vmprof_config_h 19 Apr 2016 11:14:54 -0000 1.1 +++ patches/patch-rpython_rlib_rvmprof_src_vmprof_config_h 5 Jun 2016 15:47:42 -0000 @@ -1,14 +1,18 @@ -$OpenBSD: patch-rpython_rlib_rvmprof_src_vmprof_config_h,v 1.1 2016/04/19 11:14:54 edd Exp $ ---- rpython/rlib/rvmprof/src/vmprof_config.h.orig Fri Mar 18 17:52:25 2016 -+++ rpython/rlib/rvmprof/src/vmprof_config.h Tue Apr 5 14:43:56 2016 -@@ -1,6 +1,10 @@ +$OpenBSD$ +--- rpython/rlib/rvmprof/src/vmprof_config.h.orig Sun Jun 5 16:45:04 2016 ++++ rpython/rlib/rvmprof/src/vmprof_config.h Sun Jun 5 16:47:15 2016 +@@ -1,10 +1,14 @@ +#if !defined(__OpenBSD__) #define HAVE_SYS_UCONTEXT_H +#endif - #if defined(__FreeBSD__) || defined(__APPLE__) - #define PC_FROM_UCONTEXT uc_mcontext.mc_rip + #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) + #ifdef __i386__ + #define PC_FROM_UCONTEXT uc_mcontext.mc_eip + #else + #define PC_FROM_UCONTEXT uc_mcontext.mc_rip + #endif +#elif defined(__OpenBSD__) +#define PC_FROM_UCONTEXT sc_rip - #else - #define PC_FROM_UCONTEXT uc_mcontext.gregs[REG_RIP] - #endif + #elif defined( __APPLE__) + #if ((ULONG_MAX) == (UINT_MAX)) + #define PC_FROM_UCONTEXT uc_mcontext->__ss.__eip Index: patches/patch-rpython_rlib_rvmprof_src_vmprof_getpc_h =================================================================== RCS file: /home/edd/cvsync/ports/lang/pypy/patches/patch-rpython_rlib_rvmprof_src_vmprof_getpc_h,v retrieving revision 1.1 diff -u -p -r1.1 patch-rpython_rlib_rvmprof_src_vmprof_getpc_h --- patches/patch-rpython_rlib_rvmprof_src_vmprof_getpc_h 19 Apr 2016 11:14:54 -0000 1.1 +++ patches/patch-rpython_rlib_rvmprof_src_vmprof_getpc_h 5 Jun 2016 15:47:39 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-rpython_rlib_rvmprof_src_vmprof_getpc_h,v 1.1 2016/04/19 11:14:54 edd Exp $ ---- rpython/rlib/rvmprof/src/vmprof_getpc.h.orig Tue Apr 5 14:40:47 2016 -+++ rpython/rlib/rvmprof/src/vmprof_getpc.h Tue Apr 5 14:41:21 2016 -@@ -66,6 +66,8 @@ +--- rpython/rlib/rvmprof/src/vmprof_getpc.h.orig Sun Apr 24 05:08:33 2016 ++++ rpython/rlib/rvmprof/src/vmprof_getpc.h Sun Jun 5 16:43:26 2016 +@@ -65,6 +65,8 @@ #elif defined(HAVE_CYGWIN_SIGNAL_H) #include <cygwin/signal.h> typedef ucontext ucontext_t; Index: pkg/PLIST =================================================================== RCS file: /home/edd/cvsync/ports/lang/pypy/pkg/PLIST,v retrieving revision 1.10 diff -u -p -r1.10 PLIST --- pkg/PLIST 19 Apr 2016 11:14:54 -0000 1.10 +++ pkg/PLIST 10 Jun 2016 09:25:36 -0000 @@ -8,10 +8,20 @@ pypy/include/ pypy/include/PyPy.h pypy/include/Python.h pypy/include/README +pypy/include/_numpypy/ +pypy/include/_numpypy/numpy/ +pypy/include/_numpypy/numpy/__multiarray_api.h +pypy/include/_numpypy/numpy/arrayobject.h +pypy/include/_numpypy/numpy/ndarraytypes.h +pypy/include/_numpypy/numpy/npy_3kcompat.h +pypy/include/_numpypy/numpy/npy_common.h +pypy/include/_numpypy/numpy/old_defines.h pypy/include/abstract.h pypy/include/boolobject.h pypy/include/bufferobject.h +pypy/include/bytearrayobject.h pypy/include/bytesobject.h +pypy/include/cStringIO.h pypy/include/ceval.h pypy/include/code.h pypy/include/compile.h @@ -28,16 +38,11 @@ pypy/include/import.h pypy/include/intobject.h pypy/include/listobject.h pypy/include/longintrepr.h +pypy/include/longobject.h +pypy/include/memoryobject.h pypy/include/methodobject.h pypy/include/missing.h pypy/include/modsupport.h -pypy/include/numpy/ -pypy/include/numpy/__multiarray_api.h -pypy/include/numpy/arrayobject.h -pypy/include/numpy/ndarraytypes.h -pypy/include/numpy/npy_3kcompat.h -pypy/include/numpy/npy_common.h -pypy/include/numpy/old_defines.h pypy/include/object.h pypy/include/patchlevel.h pypy/include/pycapsule.h @@ -49,6 +54,7 @@ pypy/include/pymem.h pypy/include/pyport.h pypy/include/pypy_decl.h pypy/include/pypy_macros.h +pypy/include/pypy_numpy.h pypy/include/pypy_structmember_decl.h pypy/include/pysignals.h pypy/include/pystate.h @@ -3093,6 +3099,9 @@ pypy/lib_pypy/_pypy_testcapi.py pypy/lib_pypy/_pypy_testcapi.pyc pypy/lib_pypy/_pypy_wait.py pypy/lib_pypy/_pypy_wait.pyc +pypy/lib_pypy/_resource_build.py +pypy/lib_pypy/_resource_build.pyc +pypy/lib_pypy/_resource_cffi.pypy-41.so pypy/lib_pypy/_scproxy.py pypy/lib_pypy/_scproxy.pyc pypy/lib_pypy/_sha.py @@ -3220,24 +3229,7 @@ pypy/lib_pypy/cffi/vengine_gen.pyc pypy/lib_pypy/cffi/verifier.py pypy/lib_pypy/cffi/verifier.pyc pypy/lib_pypy/ctypes_config_cache/ -pypy/lib_pypy/ctypes_config_cache/__init__.py -pypy/lib_pypy/ctypes_config_cache/__init__.pyc -pypy/lib_pypy/ctypes_config_cache/_locale_64_.py -pypy/lib_pypy/ctypes_config_cache/_locale_64_.pyc -pypy/lib_pypy/ctypes_config_cache/_locale_cache.py -pypy/lib_pypy/ctypes_config_cache/_locale_cache.pyc -pypy/lib_pypy/ctypes_config_cache/_resource_64_.py -pypy/lib_pypy/ctypes_config_cache/_resource_64_.pyc -pypy/lib_pypy/ctypes_config_cache/_resource_cache.py -pypy/lib_pypy/ctypes_config_cache/_resource_cache.pyc -pypy/lib_pypy/ctypes_config_cache/dumpcache.py -pypy/lib_pypy/ctypes_config_cache/dumpcache.pyc -pypy/lib_pypy/ctypes_config_cache/locale.ctc.py -pypy/lib_pypy/ctypes_config_cache/locale.ctc.pyc -pypy/lib_pypy/ctypes_config_cache/rebuild.py -pypy/lib_pypy/ctypes_config_cache/rebuild.pyc -pypy/lib_pypy/ctypes_config_cache/resource.ctc.py -pypy/lib_pypy/ctypes_config_cache/resource.ctc.pyc +pypy/lib_pypy/ctypes_config_cache/.empty pypy/lib_pypy/ctypes_support.py pypy/lib_pypy/ctypes_support.pyc pypy/lib_pypy/datetime.py -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
