Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Dec 2015 06:57:30 +0000 (UTC)
From:      David Naylor <dbn@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r403361 - head/lang/pypy
Message-ID:  <201512090657.tB96vUgs065755@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.options.mk>
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512090657.tB96vUgs065755>