Created attachment 163421 [details] pypy-patch This patch updates the port to latest version and changes PYPY_VER to PYPY_CFFI_VER as it turns out that value isnt used to store pypy version but instead to store CFFI's backward compability with pypy (currently to 2.6, therefore keeping it 26). Since I couldnt find a way to calculate this value out of the sources/pypy version, I turned it to static value instead of regexp. Build logs: http://pd.valinor.palantiri.org/data/latest-per-pkg/pypy/4.0.1/ Also, given the maintainer's lack of responsiveness, I'd suggest moving pypy port maintainer from dbn@ to python@.
I'm busy testing the patch.
A commit references this bug: Author: dbn Date: Wed Dec 9 06:57:31 UTC 2015 New revision: 403361 URL: https://svnweb.freebsd.org/changeset/ports/403361 Log: lang/pypy: update to 4.0.1 Changes: - Remove plist-sub PYPY_BITS - Switch PYPY_VER to PYPY_CFFI_VER Change Log: - Highlighted features: - Update cffi to 1.3.1. - Update Python implementation to 2.7.10. - New vectorisation optimisations added to the JIT. To enable add --jit vec=1 (or --jit vec_all=1 for all vectorisation optimisations). - Improved JIT warmup time of ~20%. - Reduced memory consumption by ~20%. - Numpy's ndarray and numeric dtypes are almost feature complete. - Numpy's linalg, random and fft have been implemented as cffi modules using the same underlying libraries as upstream. - Bug Fixes - Fix a bug when unrolling double loops in JITted code - Fix multiple memory leaks in the ssl module, one of which affected CPython as well (thanks to Alex Gaynor for pointing those out) - Use pkg-config to find ssl headers on OS-X - Fix a crash on non-linux when running more than 20 threads - In cffi, ffi.new_handle() is more cpython compliant - Accept unicode in functions inside the _curses cffi backend exactly like cpython - Fix a segfault in itertools.islice() - Fix ndarray.copy() for upstream compatability when copying non-contiguous arrays - Fix assumption that lltype.UniChar is unsigned - Fix a subtle bug with stacklets on shadowstack - Improve support for the cpython capi in cpyext (our capi compatibility layer). Fixing these issues inspired some thought about cpyext in general, stay tuned for more improvements - When loading dynamic libraries, in case of a certain loading error, retry loading the library assuming it is actually a linker script, like on Arch and Gentoo - New features - Internal cleanup of RPython class handling - Support stackless and greenlets on PPC machines - Improve debug logging in subprocesses: use PYPYLOG=jit:log.%d for example to have all subprocesses write the JIT log to a file called ?log.%d?, with ?%d? replaced with the subprocess? PID. - Support PyOS_double_to_string in our cpyext capi compatibility layer - Add an optimization pass to vectorize loops using x86 SIMD intrinsics. - Support __stdcall on Windows in CFFI - Improve debug logging when using PYPYLOG=??? - Deal with platforms with no RAND_egd() in OpenSSL - Numpy - Improve support for __array_interface__ - Propagate most NAN mantissas through float16-float32-float64 conversions - Add support for ndarray.ctypes - Fast path for mixing numpy scalars and floats - Add support for creating Fortran-ordered ndarrays - Fix casting failures in linalg (by extending ufunc casting) - Recognize and disallow (for now) pickling of ndarrays with objects embedded in them - Performance improvements and refactorings - Improvements in slicing byte arrays - Improvements in enumerate() - Silence some warnings while translating - Reuse hashed keys across dictionaries and sets - Refactor JIT interals to improve warmup time by 20% or so at the cost of a minor regression in JIT speed - Recognize patterns of common sequences in the JIT backends and optimize them - Make the garbage collecter more incremental over external_malloc() calls - Share guard resume data where possible which reduces memory usage - Fast path for zip(list, list) - Reduce the number of checks in the JIT for lst[a:] - Move the non-optimizable part of callbacks outside the JIT - Factor in field immutability when invalidating heap information - Unroll itertools.izip_longest() with two sequences - Minor optimizations after analyzing output from vmprof and trace logs - Remove many class attributes in rpython classes - Handle getfield_gc_pure* and getfield_gc_* uniformly in heap.py - Improve simple trace function performance by lazily calling fast2locals and locals2fast only if truly necessary Submitted by: robak@ PR: 204743 (with modification) Changes: head/lang/pypy/Makefile head/lang/pypy/bsd.pypy.cffi.mk head/lang/pypy/bsd.pypy.mk head/lang/pypy/distinfo head/lang/pypy/pkg-plist
Thank you for your PR. I see we are missing a math/pypy-numpy port... ;-)
A commit references this bug: Author: dbn Date: Sun Dec 13 13:16:32 UTC 2015 New revision: 403664 URL: https://svnweb.freebsd.org/changeset/ports/403664 Log: lang/pypy: unbreak build on i386 and armv6 - Add back PYPY_BITS as it is required to define the names of two files, depending if pypy is translated for 32 or 64 bit systems [1]. - Change maintainership to python@ [2][3][4] Reported by: pkg-fallout [1] Approved by: koobs@ [2] PR: 204743 [3] Submitted by: robak@ [4] Changes: head/databases/pypy-gdbm/Makefile head/databases/pypy-sqlite3/Makefile head/lang/pypy/Makefile head/lang/pypy/pkg-plist head/x11-toolkits/pypy-tkinter/Makefile