svn commit: r395726 - in head: databases databases/pypy-gdbm databases/pypy-sqlite3 lang/pypy lang/pypy/files x11-toolkits x11-toolkits/pypy-tkinter
David Naylor
dbn at FreeBSD.org
Mon Aug 31 19:38:28 UTC 2015
Author: dbn
Date: Mon Aug 31 19:38:23 2015
New Revision: 395726
URL: https://svnweb.freebsd.org/changeset/ports/395726
Log:
lang/pypy: update to 2.6.1
Changes:
- Add external cffi ports (a la python):
- databases/pypy-gdbm
- databases/pypy-sqlite3
- x11-toolkits/pypy-tkinter
- Add bsd.pypy.mk for consistency between pypy ports.
- Add bsd.pypy.cffi.mk for consistency with external cffi ports.
- Switch back to using $PREFIX/pypy-X.Y (the '-' separator is required to
differentiate between lang/pypy and lang/pypy3)
- Remove all patches (upstreamed, see announcement below)
ChangeLog:
- Bug Fixes
- Revive non-SSE2 support
- Fixes for detaching _io.Buffer*
- Clear up contention in the garbage collector between trace-me-later and
pinning
- Issues reported with our previous release were resolved after reports from
users on our issue tracker at https://bitbucket.org/pypy/pypy/issues or on
IRC at #pypy.
- New features:
- cffi was updated to version 1.3
- The python stdlib was updated to 2.7.10 from 2.7.9
- vmprof now supports multiple threads
- The translation process builds cffi import libraries for some stdlib
packages, which should prevent confusion when package.py is not used
- better support for gdb debugging
- FreeBSD should be able to translate PyPy "out of the box" with no patches
- Numpy:
- Better support for record dtypes, including the align keyword
- Implement casting and create output arrays accordingly (still missing some
corner cases)
- Support creation of unicode ndarrays
- Better support ndarray.flags
- Support axis argument in more functions
- Refactor array indexing to support ellipses
- Allow the docstrings of built-in numpy objects to be set at run-time
- Support the buffered nditer creation keyword
- Performance improvements:
- Delay recursive calls to make them non-recursive
- Skip loop unrolling if it compiles too much code
- Tweak the heapcache
- Add a list strategy for lists that store both floats and 32-bit integers.
The latter are encoded as nonstandard NaNs. Benchmarks show that the speed
of such lists is now very close to the speed of purely-int or purely-float
lists.
- Simplify implementation of ffi.gc() to avoid most weakrefs
- Massively improve the performance of map() with more than one sequence
argument
Differential Revision: https://reviews.freebsd.org/D3285
Added:
head/databases/pypy-gdbm/
head/databases/pypy-gdbm/Makefile (contents, props changed)
head/databases/pypy-gdbm/pkg-descr (contents, props changed)
head/databases/pypy-sqlite3/
head/databases/pypy-sqlite3/Makefile (contents, props changed)
head/databases/pypy-sqlite3/pkg-descr (contents, props changed)
head/lang/pypy/bsd.pypy.cffi.mk (contents, props changed)
head/lang/pypy/bsd.pypy.mk (contents, props changed)
head/lang/pypy/pkg-message (contents, props changed)
head/x11-toolkits/pypy-tkinter/
head/x11-toolkits/pypy-tkinter/Makefile (contents, props changed)
head/x11-toolkits/pypy-tkinter/pkg-descr (contents, props changed)
Deleted:
head/lang/pypy/files/
Modified:
head/databases/Makefile
head/lang/pypy/Makefile
head/lang/pypy/distinfo
head/lang/pypy/pkg-plist
head/x11-toolkits/Makefile
Modified: head/databases/Makefile
==============================================================================
--- head/databases/Makefile Mon Aug 31 19:31:06 2015 (r395725)
+++ head/databases/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -780,6 +780,8 @@
SUBDIR += py-tarantool
SUBDIR += py-umemcache
SUBDIR += py-whisper
+ SUBDIR += pypy-gdbm
+ SUBDIR += pypy-sqlite3
SUBDIR += pydbx
SUBDIR += pymongo
SUBDIR += pyspatialite
Added: head/databases/pypy-gdbm/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/pypy-gdbm/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,16 @@
+# Created by: David Naylor <dbn at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= gdbm
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= databases python
+
+MAINTAINER= dbn at FreeBSD.org
+COMMENT= PyPy bindings to the GNU dbm library
+
+LIB_DEPENDS= libgdbm.so:${PORTSDIR}/databases/gdbm
+
+CFFI_NAME= ffi
+
+.include "${.CURDIR}/../../lang/pypy/bsd.pypy.cffi.mk"
+.include <bsd.port.mk>
Added: head/databases/pypy-gdbm/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/pypy-gdbm/pkg-descr Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1 @@
+PyPy bindings to the GNU dbm library.
Added: head/databases/pypy-sqlite3/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/pypy-sqlite3/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,16 @@
+# Created by: David Naylor <dbn at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= sqlite3
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= databases python
+
+MAINTAINER= dbn at FreeBSD.org
+COMMENT= Standard PyPy binding to the SQLite3 library
+
+LIB_DEPENDS= libsqlite3.so:${PORTSDIR}/databases/sqlite3
+
+CFFI_NAME= _ffi
+
+.include "${.CURDIR}/../../lang/pypy/bsd.pypy.cffi.mk"
+.include <bsd.port.mk>
Added: head/databases/pypy-sqlite3/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/databases/pypy-sqlite3/pkg-descr Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,8 @@
+SQLite is a library that provides a SQL-language database that
+stores data in disk files without requiring a separate server
+process. pysqlite provides a SQL interface compliant with the DB-API
+2.0 specification described by PEP 249. This means that it should
+be possible to write the first version of your applications using
+SQLite for data storage. If switching to a larger database such as
+PostgreSQL or Oracle is later necessary, the switch should be
+relatively easy.
Modified: head/lang/pypy/Makefile
==============================================================================
--- head/lang/pypy/Makefile Mon Aug 31 19:31:06 2015 (r395725)
+++ head/lang/pypy/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= pypy
-PORTVERSION= 2.6.0
-PORTREVISION= 3
+PORTVERSION= 2.6.1
CATEGORIES= lang python
MASTER_SITES= https://bitbucket.org/pypy/pypy/get/ LOCAL/dbn/pypy
DISTNAME= release-${DISTVERSION}
@@ -12,9 +11,6 @@ DIST_SUBDIR= pypy
MAINTAINER= dbn at FreeBSD.org
COMMENT= Fast, compliant implementation of the Python language
-LICENSE= MIT PSFL
-LICENSE_COMB= multi
-
LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
libffi.so:${PORTSDIR}/devel/libffi
@@ -38,12 +34,10 @@ ALL_TARGET= pypy-c
BUILD_WRKSRC= ${WRKDIR}/build/usession-release-${DISTVERSION}-0/testing_1
MAKE_ENV+= PYPY_LOCALBASE=${LOCALBASE}
USE_LDCONFIG= ${PREFIX}/${PYPY_DIR}/bin
-USES= compiler:c11 gettext-runtime tar:bzip2
-WRKSRC= ${WRKDIR}/pypy-pypy-295ee98b6928
-PYPY_VER= ${DISTVERSION:C|([0-9])\.([0-9]).*|\1\2|}
-PYPY_DIR= pypy${PYPY_VER}
-PLIST_SUB+= PYPY_VER=${PYPY_VER} PYPY_DIR=${PYPY_DIR}
+USES= gettext-runtime tar:bzip2
+WRKSRC= ${WRKDIR}/pypy-pypy-f3ad1e1e1d62
+.include ".${CURDIR}/bsd.pypy.mk"
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MPYPY} || defined(PYTHON_CMD)
Added: head/lang/pypy/bsd.pypy.cffi.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pypy/bsd.pypy.cffi.mk Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,26 @@
+# $FreeBSD$
+
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+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
+
+CFFI_MODULE?= _${PORTNAME}
+
+PYTHON_PORTVERSION= 2.6.1
+PYTHON_PKGNAMEPREFIX= pypy-
+PYTHON_CMD= ${LOCALBASE}/bin/pypy
+
+.include "${.CURDIR}/../../lang/pypy/bsd.pypy.mk"
+
+do-build:
+ ${CP} ${LOCALBASE}/${PYPY_DIR}/lib_pypy/${CFFI_MODULE}_build.py ${WRKDIR}/${PORTNAME}.py
+ (cd ${WRKDIR}; \
+ ${PYTHON_CMD} -c "from ${PORTNAME} import ${CFFI_NAME} as ffi; ffi.compile('${WRKDIR}');")
+
+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}`/
Added: head/lang/pypy/bsd.pypy.mk
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pypy/bsd.pypy.mk Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+LICENSE= MIT PSFL
+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}
Modified: head/lang/pypy/distinfo
==============================================================================
--- head/lang/pypy/distinfo Mon Aug 31 19:31:06 2015 (r395725)
+++ head/lang/pypy/distinfo Mon Aug 31 19:38:23 2015 (r395726)
@@ -1,2 +1,2 @@
-SHA256 (pypy/release-2.6.0.tar.bz2) = 70c5feff73a6f9002b6a156488fe5e0b3981297da5766464bfd2327290bcd577
-SIZE (pypy/release-2.6.0.tar.bz2) = 16682327
+SHA256 (pypy/release-2.6.1.tar.bz2) = cc80e04957b899fe3c5d1b0b36979a4e80b7baf98f4c660c0fca781b6f148327
+SIZE (pypy/release-2.6.1.tar.bz2) = 16828274
Added: head/lang/pypy/pkg-message
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/pypy/pkg-message Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,15 @@
+=====================================================================
+
+Note that some standard Python modules are provided as separate ports
+as they require additional dependencies. They are available as:
+
+gdbm databases/pypy-gdbm
+sqlite3 databases/pypy-sqlite3
+tkinter x11-toolkits/pypy-tkinter
+
+Note that PyPy does not implement the following module that would
+have been provided as a separate port:
+
+bsddb databases/pypy-bsddb
+
+=====================================================================
Modified: head/lang/pypy/pkg-plist
==============================================================================
--- head/lang/pypy/pkg-plist Mon Aug 31 19:31:06 2015 (r395725)
+++ head/lang/pypy/pkg-plist Mon Aug 31 19:38:23 2015 (r395726)
@@ -542,8 +542,8 @@ bin/pypy
%%PYPY_DIR%%/lib-python/2.7/encodings/zlib_codec.py
%%PYPY_DIR%%/lib-python/2.7/ensurepip/__init__.py
%%PYPY_DIR%%/lib-python/2.7/ensurepip/__main__.py
-%%PYPY_DIR%%/lib-python/2.7/ensurepip/_bundled/pip-1.5.6-py2.py3-none-any.whl
-%%PYPY_DIR%%/lib-python/2.7/ensurepip/_bundled/setuptools-7.0-py2.py3-none-any.whl
+%%PYPY_DIR%%/lib-python/2.7/ensurepip/_bundled/pip-6.1.1-py2.py3-none-any.whl
+%%PYPY_DIR%%/lib-python/2.7/ensurepip/_bundled/setuptools-15.2-py2.py3-none-any.whl
%%PYPY_DIR%%/lib-python/2.7/ensurepip/_uninstall.py
%%PYPY_DIR%%/lib-python/2.7/filecmp.py
%%PYPY_DIR%%/lib-python/2.7/fileinput.py
@@ -663,6 +663,7 @@ bin/pypy
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_grep.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_hyperparser.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_idlehistory.py
+%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_io.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_parenmatch.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_pathbrowser.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/idle_test/test_rstrip.py
@@ -678,7 +679,6 @@ bin/pypy
%%PYPY_DIR%%/lib-python/2.7/idlelib/rpc.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/run.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/tabbedpages.py
-%%PYPY_DIR%%/lib-python/2.7/idlelib/testcode.py
%%PYPY_DIR%%/lib-python/2.7/idlelib/textView.py
%%PYPY_DIR%%/lib-python/2.7/ihooks.py
%%PYPY_DIR%%/lib-python/2.7/imaplib.py
@@ -1451,7 +1451,7 @@ bin/pypy
%%PYPY_DIR%%/lib-python/2.7/test/decimaltestdata/tointegral.decTest
%%PYPY_DIR%%/lib-python/2.7/test/decimaltestdata/tointegralx.decTest
%%PYPY_DIR%%/lib-python/2.7/test/decimaltestdata/xor.decTest
-%%PYPY_DIR%%/lib-python/2.7/test/dh512.pem
+%%PYPY_DIR%%/lib-python/2.7/test/dh1024.pem
%%PYPY_DIR%%/lib-python/2.7/test/doctest_aliases.py
%%PYPY_DIR%%/lib-python/2.7/test/double_const.py
%%PYPY_DIR%%/lib-python/2.7/test/empty.vbs
@@ -1881,6 +1881,7 @@ bin/pypy
%%PYPY_DIR%%/lib-python/2.7/test/test_threading_local.py
%%PYPY_DIR%%/lib-python/2.7/test/test_threadsignals.py
%%PYPY_DIR%%/lib-python/2.7/test/test_time.py
+%%PYPY_DIR%%/lib-python/2.7/test/test_timeit.py
%%PYPY_DIR%%/lib-python/2.7/test/test_timeout.py
%%PYPY_DIR%%/lib-python/2.7/test/test_tk.py
%%PYPY_DIR%%/lib-python/2.7/test/test_tokenize.py
Modified: head/x11-toolkits/Makefile
==============================================================================
--- head/x11-toolkits/Makefile Mon Aug 31 19:31:06 2015 (r395725)
+++ head/x11-toolkits/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -204,6 +204,7 @@
SUBDIR += py-wxPython28-unicode
SUBDIR += py-wxPython30
SUBDIR += py-xlib
+ SUBDIR += pypy-tkinter
SUBDIR += qt4-declarative
SUBDIR += qt4-gui
SUBDIR += qt4pas
Added: head/x11-toolkits/pypy-tkinter/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-toolkits/pypy-tkinter/Makefile Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1,17 @@
+# Created by: David Naylor <dbn at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= tkinter
+PORTVERSION= ${PYTHON_PORTVERSION}
+CATEGORIES= x11-toolkits python
+
+MAINTAINER= dbn at FreeBSD.org
+COMMENT= PyPy bindings to the Tk widget set
+
+USES= tk
+
+CFFI_MODULE= _tkinter/tklib
+CFFI_NAME= tkffi
+
+.include "${.CURDIR}/../../lang/pypy/bsd.pypy.cffi.mk"
+.include <bsd.port.mk>
Added: head/x11-toolkits/pypy-tkinter/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-toolkits/pypy-tkinter/pkg-descr Mon Aug 31 19:38:23 2015 (r395726)
@@ -0,0 +1 @@
+PyPy bindings to the Tk widget set.
More information about the svn-ports-all
mailing list