diff options
author | dbn <dbn@FreeBSD.org> | 2015-12-09 14:57:30 +0800 |
---|---|---|
committer | dbn <dbn@FreeBSD.org> | 2015-12-09 14:57:30 +0800 |
commit | c7f609d40c7b826bc744ed1c5b69bdcda232ab13 (patch) | |
tree | 28413d79a4716c8d3915607f13007d9afae974d7 /lang | |
parent | 6c6f5a7c1397d43d7db232ca4ea81cf2ef88d3e8 (diff) | |
download | freebsd-ports-gnome-c7f609d40c7b826bc744ed1c5b69bdcda232ab13.tar.gz freebsd-ports-gnome-c7f609d40c7b826bc744ed1c5b69bdcda232ab13.tar.zst freebsd-ports-gnome-c7f609d40c7b826bc744ed1c5b69bdcda232ab13.zip |
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)
Diffstat (limited to 'lang')
-rw-r--r-- | lang/pypy/Makefile | 14 | ||||
-rw-r--r-- | lang/pypy/bsd.pypy.cffi.mk | 6 | ||||
-rw-r--r-- | lang/pypy/bsd.pypy.mk | 4 | ||||
-rw-r--r-- | lang/pypy/distinfo | 4 | ||||
-rw-r--r-- | lang/pypy/pkg-plist | 12 |
5 files changed, 16 insertions, 24 deletions
diff --git a/lang/pypy/Makefile b/lang/pypy/Makefile index 6aa63fa96607..4f48a4a31691 100644 --- a/lang/pypy/Makefile +++ b/lang/pypy/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= pypy -PORTVERSION= 2.6.1 +PORTVERSION= 4.0.1 # Also update bsd.pypy.cffi.mk CATEGORIES= lang python MASTER_SITES= https://bitbucket.org/pypy/pypy/get/ LOCAL/dbn/pypy DISTNAME= release-${DISTVERSION} @@ -35,7 +35,7 @@ BUILD_WRKSRC= ${WRKDIR}/build/usession-release-${DISTVERSION}-0/testing_1 MAKE_ENV+= PYPY_LOCALBASE=${LOCALBASE} USE_LDCONFIG= ${PREFIX}/${PYPY_DIR}/bin USES= gettext-runtime tar:bzip2 -WRKSRC= ${WRKDIR}/pypy-pypy-f3ad1e1e1d62 +WRKSRC= ${WRKDIR}/pypy-pypy-5f8302b8bf9f .include ".${CURDIR}/bsd.pypy.mk" .include <bsd.port.options.mk> @@ -48,13 +48,6 @@ PYTHON_CMD?= ${SETENV} PYPY_GC_MAX_DELTA=200MB ${LOCALBASE}/bin/pypy --jit loop_ USES+= python:2,build .endif -.if ${ARCH} == "i386" || ${ARCH} == "armv6" -PYPY_BITS= 32 -.elif ${ARCH} == "amd64" -PYPY_BITS= 64 -.endif -PLIST_SUB+= PYPY_BITS="${PYPY_BITS}" - pre-build: if [ ! -f ${BUILD_WRKSRC}/Makefile ]; then \ ${RM} -r ${WRKDIR}/build; \ @@ -93,8 +86,7 @@ regression-test: build pkg-plist: build ${TAR} -tf ${WRKDIR}/build/${PYPY_DIR}.tar.bz2 > ${WRKDIR}/.plist-files-gen ${REINPLACE_CMD} -e 's|^${PYPY_DIR}|%%PYPY_DIR%%|g' \ - -e 's|-${PYPY_VER}|-%%PYPY_VER%%|g' \ - -e 's|_${PYPY_BITS}_|_%%PYPY_BITS%%_|g' \ + -e 's|-${PYPY_CFFI_VER}|-%%PYPY_CFFI_VER%%|g' \ -e '/\/$$/d' \ ${WRKDIR}/.plist-files-gen ${ECHO} bin/pypy > ${WRKDIR}/pkg-plist diff --git a/lang/pypy/bsd.pypy.cffi.mk b/lang/pypy/bsd.pypy.cffi.mk index 1c699af8757f..f74c29fe13de 100644 --- a/lang/pypy/bsd.pypy.cffi.mk +++ b/lang/pypy/bsd.pypy.cffi.mk @@ -6,11 +6,11 @@ DISTFILES= BUILD_DEPENDS+= pypy:${PORTSDIR}/lang/pypy RUN_DEPENDS+= pypy:${PORTSDIR}/lang/pypy -PLIST_FILES= %%PYPY_DIR%%/lib_pypy/${CFFI_MODULE}_cffi.pypy-%%PYPY_VER%%.so +PLIST_FILES= %%PYPY_DIR%%/lib_pypy/${CFFI_MODULE}_cffi.pypy-%%PYPY_CFFI_VER%%.so CFFI_MODULE?= _${PORTNAME} -PYTHON_PORTVERSION= 2.6.1 +PYTHON_PORTVERSION= 4.0.1 PYTHON_PKGNAMEPREFIX= pypy- PYTHON_CMD= ${LOCALBASE}/bin/pypy @@ -23,4 +23,4 @@ do-build: do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ - ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.pypy-${PYPY_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ + ${INSTALL_LIB} ${WRKDIR}/${CFFI_MODULE}_cffi.pypy-${PYPY_CFFI_VER}.so ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/`dirname ${CFFI_MODULE}`/ diff --git a/lang/pypy/bsd.pypy.mk b/lang/pypy/bsd.pypy.mk index 1ce86441ee36..a723b8581a8c 100644 --- a/lang/pypy/bsd.pypy.mk +++ b/lang/pypy/bsd.pypy.mk @@ -6,5 +6,5 @@ LICENSE_COMB= multi USES+= compiler:c11 PYPY_DIR= pypy-${PORTVERSION:C|([0-9])\.([0-9]).*|\1.\2|} -PYPY_VER= ${PORTVERSION:C|([0-9])\.([0-9]).*|\1\2|} -PLIST_SUB+= PYPY_DIR=${PYPY_DIR} PYPY_VER=${PYPY_VER} +PYPY_CFFI_VER= 26 +PLIST_SUB+= PYPY_DIR=${PYPY_DIR} PYPY_CFFI_VER=${PYPY_CFFI_VER} diff --git a/lang/pypy/distinfo b/lang/pypy/distinfo index fffc8c6bb7b3..9726f9a04dd0 100644 --- a/lang/pypy/distinfo +++ b/lang/pypy/distinfo @@ -1,2 +1,2 @@ -SHA256 (pypy/release-2.6.1.tar.bz2) = cc80e04957b899fe3c5d1b0b36979a4e80b7baf98f4c660c0fca781b6f148327 -SIZE (pypy/release-2.6.1.tar.bz2) = 16828274 +SHA256 (pypy/release-4.0.1.tar.bz2) = 743928a65a3a8731a1403003729f4a5cbefeaf7841e9eb677bd2b547e98df1bc +SIZE (pypy/release-4.0.1.tar.bz2) = 17022282 diff --git a/lang/pypy/pkg-plist b/lang/pypy/pkg-plist index bf540bf0089a..e7215cc16f3e 100644 --- a/lang/pypy/pkg-plist +++ b/lang/pypy/pkg-plist @@ -2041,7 +2041,7 @@ bin/pypy %%PYPY_DIR%%/lib-python/2.7/zipfile.py %%PYPY_DIR%%/lib_pypy/__init__.py %%PYPY_DIR%%/lib_pypy/_audioop_build.py -%%PYPY_DIR%%/lib_pypy/_audioop_cffi.pypy-%%PYPY_VER%%.so +%%PYPY_DIR%%/lib_pypy/_audioop_cffi.pypy-%%PYPY_CFFI_VER%%.so %%PYPY_DIR%%/lib_pypy/_codecs_cn.py %%PYPY_DIR%%/lib_pypy/_codecs_hk.py %%PYPY_DIR%%/lib_pypy/_codecs_iso2022.py @@ -2066,7 +2066,7 @@ bin/pypy %%PYPY_DIR%%/lib_pypy/_ctypes_test.py %%PYPY_DIR%%/lib_pypy/_curses.py %%PYPY_DIR%%/lib_pypy/_curses_build.py -%%PYPY_DIR%%/lib_pypy/_curses_cffi.pypy-%%PYPY_VER%%.so +%%PYPY_DIR%%/lib_pypy/_curses_cffi.pypy-%%PYPY_CFFI_VER%%.so %%PYPY_DIR%%/lib_pypy/_curses_panel.py %%PYPY_DIR%%/lib_pypy/_elementtree.py %%PYPY_DIR%%/lib_pypy/_ffi.py @@ -2075,7 +2075,7 @@ bin/pypy %%PYPY_DIR%%/lib_pypy/_marshal.py %%PYPY_DIR%%/lib_pypy/_md5.py %%PYPY_DIR%%/lib_pypy/_pwdgrp_build.py -%%PYPY_DIR%%/lib_pypy/_pwdgrp_cffi.pypy-%%PYPY_VER%%.so +%%PYPY_DIR%%/lib_pypy/_pwdgrp_cffi.pypy-%%PYPY_CFFI_VER%%.so %%PYPY_DIR%%/lib_pypy/_pypy_interact.py %%PYPY_DIR%%/lib_pypy/_pypy_irc_topic.py %%PYPY_DIR%%/lib_pypy/_pypy_testcapi.py @@ -2089,7 +2089,7 @@ bin/pypy %%PYPY_DIR%%/lib_pypy/_structseq.py %%PYPY_DIR%%/lib_pypy/_subprocess.py %%PYPY_DIR%%/lib_pypy/_syslog_build.py -%%PYPY_DIR%%/lib_pypy/_syslog_cffi.pypy-%%PYPY_VER%%.so +%%PYPY_DIR%%/lib_pypy/_syslog_cffi.pypy-%%PYPY_CFFI_VER%%.so %%PYPY_DIR%%/lib_pypy/_testcapi.py %%PYPY_DIR%%/lib_pypy/_testcapimodule.c %%PYPY_DIR%%/lib_pypy/_tkinter/__init__.py @@ -2145,9 +2145,9 @@ bin/pypy %%PYPY_DIR%%/lib_pypy/cffi/vengine_gen.py %%PYPY_DIR%%/lib_pypy/cffi/verifier.py %%PYPY_DIR%%/lib_pypy/ctypes_config_cache/__init__.py -%%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_locale_%%PYPY_BITS%%_.py +%%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_locale_64_.py %%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_locale_cache.py -%%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_resource_%%PYPY_BITS%%_.py +%%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_resource_64_.py %%PYPY_DIR%%/lib_pypy/ctypes_config_cache/_resource_cache.py %%PYPY_DIR%%/lib_pypy/ctypes_config_cache/dumpcache.py %%PYPY_DIR%%/lib_pypy/ctypes_config_cache/locale.ctc.py |