From owner-svn-ports-all@freebsd.org Wed Dec 9 06:57:32 2015 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26F819D45B3; Wed, 9 Dec 2015 06:57:32 +0000 (UTC) (envelope-from dbn@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DB35B1D61; Wed, 9 Dec 2015 06:57:31 +0000 (UTC) (envelope-from dbn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tB96vVDR065761; Wed, 9 Dec 2015 06:57:31 GMT (envelope-from dbn@FreeBSD.org) Received: (from dbn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tB96vUgs065755; Wed, 9 Dec 2015 06:57:30 GMT (envelope-from dbn@FreeBSD.org) Message-Id: <201512090657.tB96vUgs065755@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dbn set sender to dbn@FreeBSD.org using -f From: David Naylor Date: Wed, 9 Dec 2015 06:57:30 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r403361 - head/lang/pypy X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Dec 2015 06:57:32 -0000 Author: dbn Date: Wed Dec 9 06:57:30 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) Modified: 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 Modified: head/lang/pypy/Makefile ============================================================================== --- head/lang/pypy/Makefile Wed Dec 9 06:27:20 2015 (r403360) +++ head/lang/pypy/Makefile Wed Dec 9 06:57:30 2015 (r403361) @@ -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-r 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 @@ -48,13 +48,6 @@ PYTHON_CMD?= ${SETENV} PYPY_GC_MAX_DELTA 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 Modified: head/lang/pypy/bsd.pypy.cffi.mk ============================================================================== --- head/lang/pypy/bsd.pypy.cffi.mk Wed Dec 9 06:27:20 2015 (r403360) +++ head/lang/pypy/bsd.pypy.cffi.mk Wed Dec 9 06:57:30 2015 (r403361) @@ -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}`/ Modified: head/lang/pypy/bsd.pypy.mk ============================================================================== --- head/lang/pypy/bsd.pypy.mk Wed Dec 9 06:27:20 2015 (r403360) +++ head/lang/pypy/bsd.pypy.mk Wed Dec 9 06:57:30 2015 (r403361) @@ -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} Modified: head/lang/pypy/distinfo ============================================================================== --- head/lang/pypy/distinfo Wed Dec 9 06:27:20 2015 (r403360) +++ head/lang/pypy/distinfo Wed Dec 9 06:57:30 2015 (r403361) @@ -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 Modified: head/lang/pypy/pkg-plist ============================================================================== --- head/lang/pypy/pkg-plist Wed Dec 9 06:27:20 2015 (r403360) +++ head/lang/pypy/pkg-plist Wed Dec 9 06:57:30 2015 (r403361) @@ -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