From owner-svn-ports-all@freebsd.org Thu Jul 21 06:02:06 2016 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 7213AB9D843; Thu, 21 Jul 2016 06:02:06 +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 49964142B; Thu, 21 Jul 2016 06:02:06 +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 u6L625Ut005150; Thu, 21 Jul 2016 06:02:05 GMT (envelope-from dbn@FreeBSD.org) Received: (from dbn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u6L624gi005144; Thu, 21 Jul 2016 06:02:04 GMT (envelope-from dbn@FreeBSD.org) Message-Id: <201607210602.u6L624gi005144@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dbn set sender to dbn@FreeBSD.org using -f From: David Naylor Date: Thu, 21 Jul 2016 06:02:04 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r418864 - in head: databases/pypy-gdbm 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.22 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: Thu, 21 Jul 2016 06:02:06 -0000 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@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 # $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 (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 .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