svn commit: r418864 - in head: databases/pypy-gdbm lang/pypy

David Naylor dbn at FreeBSD.org
Thu Jul 21 06:02:06 UTC 2016


Author: dbn
Date: Thu Jul 21 06:02:04 2016
New Revision: 418864
URL: https://svnweb.freebsd.org/changeset/ports/418864

Log:
  lang/pypy: update to 5.3.1.
  
   - Fix LICENSE for databases/pypy-gdbm (GPLv2+).
   - Add support for a slave port (i.e. the upcoming pypy3):
     - Allow select variables to be overridden by slave port.
     - Allow slave port to have its own distinfo and pkg-plist files.
     - Depend on lang/pypy if translating with PYPY or PYPY_MINMEM options.
   - Strip bundled cffi .so files.
  
  ChangeLog:
   - Highlighted changes
     - Major improvements in the C-API compatibility layer
     - Complete support for lxml
     - Passing 95%+ of numpy's test suite
     - Scipy and matplotlib builds and runs
     - cffi updated to 1.7
   - New features:
     - Merge a major expansion of the C-API support in cpyext, also expand cpyext
       tests to allow running them after translation as well as untranslated
     - Instead of ?GIL not held when a CPython C extension module calls PyXxx?, we
       now silently acquire/release the GIL. Helps with C extension modules that
       call some PyXxx() functions without holding the GIL (arguably, they are
       theoretically buggy).
     - Support command line -v to trace import statements
     - Revive traceviewer, a tool to use pygame to view traces
   - Numpy via our internal _numpypy module:
     - Implement ufunc.outer
     - Move PyPy-specific numpypy headers to a subdirectory (also changed the repo
       accordingly)
   - Performance improvements:
     - Use bitstrings to compress lists of descriptors that are attached to an
       EffectInfo
     - Remove most of the _ovf, _zer and _val operations from RPython. Kills quite
       some code internally, and allows the JIT to do better optimizations: for
       example, app-level code like x / 2 or x % 2 can now be turned into x >> 1
       or x & 1, even if x is possibly negative.
     - Rework the way registers are moved/spilled in before_call()
   - Internal refactorings:
     - Refactor code to better support Python3-compatible syntax
     - Reduce the size of generated C sources during translation by eliminating
       many many unused struct declarations (Issue #2281)
     - Reduce the size of generated code by using the same function objects in all
       generated subclasses
     - Share cpyext Py* function wrappers according to the signature, shrinking
       the translated libpypy.so by about 10% (without the JIT)

Modified:
  head/databases/pypy-gdbm/Makefile
  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/databases/pypy-gdbm/Makefile
==============================================================================
--- head/databases/pypy-gdbm/Makefile	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/databases/pypy-gdbm/Makefile	Thu Jul 21 06:02:04 2016	(r418864)
@@ -8,6 +8,8 @@ CATEGORIES=	databases python
 MAINTAINER=	python at FreeBSD.org
 COMMENT=	PyPy bindings to the GNU dbm library
 
+LICENSE=	GPLv2+
+
 LIB_DEPENDS=	libgdbm.so:databases/gdbm
 
 CFFI_NAME=	ffi

Modified: head/lang/pypy/Makefile
==============================================================================
--- head/lang/pypy/Makefile	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/lang/pypy/Makefile	Thu Jul 21 06:02:04 2016	(r418864)
@@ -1,11 +1,11 @@
 # Created by: David Naylor <naylor.b.david at gmail.com>
 # $FreeBSD$
 
-PORTNAME=	pypy
-PORTVERSION=	5.1.1	# Also update bsd.pypy.cffi.mk
+PORTNAME?=	pypy
+PORTVERSION?=	5.3.1	# Also update bsd.pypy.cffi.mk
 CATEGORIES=	lang python
 MASTER_SITES=	https://bitbucket.org/pypy/pypy/downloads/
-DISTVERSIONSUFFIX=	-src
+DISTNAME?=	${PORTNAME}2-v${PORTVERSION}-src
 
 MAINTAINER=	python at FreeBSD.org
 COMMENT=	Fast, compliant implementation of the Python language
@@ -28,26 +28,34 @@ PYPY_DESC=	Use PyPy to translate (fastes
 PYPY_MINMEM_DESC=	Use PyPy to translate (lowest memory usage)
 TRANS_DESC=	Translation method
 LOCALBASE?=	/usr/local
-.if exists(${LOCALBASE}/bin/pypy)
+.if exists(${LOCALBASE}/bin/pypy) || ${PORTNAME} != pypy
 OPTIONS_DEFAULT=	PYPY_MINMEM
 OPTIONS_SINGLE_TRANS+=	PYPY PYPY_MINMEM
 .else
 OPTIONS_SLAVE=	PYTHON
 .endif
 
-CONFLICTS_INSTALL=	pypy3-[0-9]*
+CONFLICTS_INSTALL?=	pypy3-[0-9]*
 
 ALL_TARGET=	pypy-c
-BUILD_WRKSRC=	${WRKDIR}/build/usession-release-${PORTVERSION:C/0\.0/0/}-0/testing_1
+BUILD_WRKSRC?=	${WRKDIR}/build/usession-release-pypy2.7-v${PORTVERSION}-0/testing_1
 MAKE_ENV+=	PYPY_LOCALBASE=${LOCALBASE}
 USE_LDCONFIG=	${PREFIX}/${PYPY_DIR}/bin
 USES=		gettext-runtime gmake tar:bzip2
 
+.if ${PORTNAME} != pypy
+PYPY_BUILD_DEPENDS=	pypy:lang/pypy
+PYPY_MINMEM_DEPENDS=	pypy:lang/pypy
+.endif
 PYPY_VARS=	PYTHON_CMD=${LOCALBASE}/bin/pypy
 PYPY_MINMEM_VARS=	PYTHON_CMD="${SETENV} PYPY_GC_MAX_DELTA=200MB ${LOCALBASE}/bin/pypy --jit loop_longevity=300"
 PYTHON_USES=	python:2,build
 
-.include ".${CURDIR}/bsd.pypy.mk"
+DISTINFO_FILE=	${.CURDIR}/distinfo
+MASTERDIR?=	${.CURDIR}
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/bsd.pypy.mk"
 .include <bsd.port.options.mk>
 
 .if ${ARCH} == "i386" || ${ARCH} == "armv6"
@@ -75,6 +83,9 @@ do-install:
 		--without-gdbm --without-sqlite3 --without-tk
 	${EXTRACT_CMD} -C ${STAGEDIR}${PREFIX} -xf ${WRKDIR}/build/${PYPY_DIR}.tar.bz2
 	${LN} -fs ../${PYPY_DIR}/bin/pypy ${STAGEDIR}${PREFIX}/bin/pypy
+.for cffi in curses resource audioop syslog pwdgrp
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/${PYPY_DIR}/lib_pypy/_${cffi}_cffi.pypy-${PYPY_CFFI_VER}.so
+.endfor
 
 do-test:
 	# See https://bitbucket.org/pypy/buildbot/src/default/bot2/pypybuildbot/builds.py?at=default#builds.py-386

Modified: head/lang/pypy/bsd.pypy.cffi.mk
==============================================================================
--- head/lang/pypy/bsd.pypy.cffi.mk	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/lang/pypy/bsd.pypy.cffi.mk	Thu Jul 21 06:02:04 2016	(r418864)
@@ -10,7 +10,7 @@ PLIST_FILES=	%%PYPY_DIR%%/lib_pypy/${CFF
 
 CFFI_MODULE?=	_${PORTNAME}
 
-PYTHON_PORTVERSION=	5.1.1
+PYTHON_PORTVERSION?=	5.3.1
 PYTHON_PKGNAMEPREFIX=	pypy-
 PYTHON_CMD=	${LOCALBASE}/bin/pypy
 

Modified: head/lang/pypy/bsd.pypy.mk
==============================================================================
--- head/lang/pypy/bsd.pypy.mk	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/lang/pypy/bsd.pypy.mk	Thu Jul 21 06:02:04 2016	(r418864)
@@ -1,7 +1,9 @@
 # $FreeBSD$
 
+.if !defined(LICENSE)
 LICENSE=	MIT PSFL
 LICENSE_COMB=	multi
+.endif
 
 USES+=		compiler:c11
 

Modified: head/lang/pypy/distinfo
==============================================================================
--- head/lang/pypy/distinfo	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/lang/pypy/distinfo	Thu Jul 21 06:02:04 2016	(r418864)
@@ -1,2 +1,3 @@
-SHA256 (pypy-5.1.1-src.tar.bz2) = ca3d943d7fbd78bb957ee9e5833ada4bb8506ac99a41b7628790e286a65ed2be
-SIZE (pypy-5.1.1-src.tar.bz2) = 17328934
+TIMESTAMP = 1468993501
+SHA256 (pypy2-v5.3.1-src.tar.bz2) = 31a52bab584abf3a0f0defd1bf9a29131dab08df43885e7eeddfc7dc9b71836e
+SIZE (pypy2-v5.3.1-src.tar.bz2) = 17361760

Modified: head/lang/pypy/pkg-plist
==============================================================================
--- head/lang/pypy/pkg-plist	Thu Jul 21 04:55:25 2016	(r418863)
+++ head/lang/pypy/pkg-plist	Thu Jul 21 06:02:04 2016	(r418864)
@@ -6,10 +6,18 @@ bin/pypy
 %%PYPY_DIR%%/include/PyPy.h
 %%PYPY_DIR%%/include/Python.h
 %%PYPY_DIR%%/include/README
+%%PYPY_DIR%%/include/_numpypy/numpy/__multiarray_api.h
+%%PYPY_DIR%%/include/_numpypy/numpy/arrayobject.h
+%%PYPY_DIR%%/include/_numpypy/numpy/ndarraytypes.h
+%%PYPY_DIR%%/include/_numpypy/numpy/npy_3kcompat.h
+%%PYPY_DIR%%/include/_numpypy/numpy/npy_common.h
+%%PYPY_DIR%%/include/_numpypy/numpy/old_defines.h
 %%PYPY_DIR%%/include/abstract.h
 %%PYPY_DIR%%/include/boolobject.h
 %%PYPY_DIR%%/include/bufferobject.h
+%%PYPY_DIR%%/include/bytearrayobject.h
 %%PYPY_DIR%%/include/bytesobject.h
+%%PYPY_DIR%%/include/cStringIO.h
 %%PYPY_DIR%%/include/ceval.h
 %%PYPY_DIR%%/include/code.h
 %%PYPY_DIR%%/include/compile.h
@@ -26,15 +34,11 @@ bin/pypy
 %%PYPY_DIR%%/include/intobject.h
 %%PYPY_DIR%%/include/listobject.h
 %%PYPY_DIR%%/include/longintrepr.h
+%%PYPY_DIR%%/include/longobject.h
+%%PYPY_DIR%%/include/memoryobject.h
 %%PYPY_DIR%%/include/methodobject.h
 %%PYPY_DIR%%/include/missing.h
 %%PYPY_DIR%%/include/modsupport.h
-%%PYPY_DIR%%/include/numpy/__multiarray_api.h
-%%PYPY_DIR%%/include/numpy/arrayobject.h
-%%PYPY_DIR%%/include/numpy/ndarraytypes.h
-%%PYPY_DIR%%/include/numpy/npy_3kcompat.h
-%%PYPY_DIR%%/include/numpy/npy_common.h
-%%PYPY_DIR%%/include/numpy/old_defines.h
 %%PYPY_DIR%%/include/object.h
 %%PYPY_DIR%%/include/patchlevel.h
 %%PYPY_DIR%%/include/pycapsule.h
@@ -2084,7 +2088,7 @@ bin/pypy
 %%PYPY_DIR%%/lib_pypy/_pypy_testcapi.py
 %%PYPY_DIR%%/lib_pypy/_pypy_wait.py
 %%PYPY_DIR%%/lib_pypy/_resource_build.py
-%%PYPY_DIR%%/lib_pypy/_resource_cffi.pypy-41.so
+%%PYPY_DIR%%/lib_pypy/_resource_cffi.pypy-%%PYPY_CFFI_VER%%.so
 %%PYPY_DIR%%/lib_pypy/_scproxy.py
 %%PYPY_DIR%%/lib_pypy/_sha.py
 %%PYPY_DIR%%/lib_pypy/_sha256.py


More information about the svn-ports-head mailing list