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)
This commit is contained in:
David Naylor 2016-07-21 06:02:04 +00:00
parent df09d83a48
commit bce7563401
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=418864
6 changed files with 37 additions and 17 deletions

View File

@ -8,6 +8,8 @@ CATEGORIES= databases python
MAINTAINER= python@FreeBSD.org
COMMENT= PyPy bindings to the GNU dbm library
LICENSE= GPLv2+
LIB_DEPENDS= libgdbm.so:databases/gdbm
CFFI_NAME= ffi

View File

@ -1,11 +1,11 @@
# Created by: David Naylor <naylor.b.david@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@FreeBSD.org
COMMENT= Fast, compliant implementation of the Python language
@ -28,26 +28,34 @@ PYPY_DESC= Use PyPy to translate (fastest, highest memory usage)
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

View File

@ -10,7 +10,7 @@ PLIST_FILES= %%PYPY_DIR%%/lib_pypy/${CFFI_MODULE}_cffi.pypy-%%PYPY_CFFI_VER%%.so
CFFI_MODULE?= _${PORTNAME}
PYTHON_PORTVERSION= 5.1.1
PYTHON_PORTVERSION?= 5.3.1
PYTHON_PKGNAMEPREFIX= pypy-
PYTHON_CMD= ${LOCALBASE}/bin/pypy

View File

@ -1,7 +1,9 @@
# $FreeBSD$
.if !defined(LICENSE)
LICENSE= MIT PSFL
LICENSE_COMB= multi
.endif
USES+= compiler:c11

View File

@ -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

View File

@ -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