diff options
author | wiz <wiz@pkgsrc.org> | 2013-05-04 23:50:52 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2013-05-04 23:50:52 +0000 |
commit | e1d352cdb3d683fdd4e98d4366b9e22f84da3af7 (patch) | |
tree | 7660143c0e4de3281685781f943d89fa81ba9db1 | |
parent | 5f6ab2326b228a1363965e306a3ed327d0a18de8 (diff) | |
download | pkgsrc-e1d352cdb3d683fdd4e98d4366b9e22f84da3af7.tar.gz |
Update to 0.19:
0.19 (2013-04-19)
=================
Features added
--------------
* New directives ``c_string_type`` and ``c_string_encoding`` to more easily
and automatically convert between C strings and the different Python string
types.
* The extension type flag ``Py_TPFLAGS_HAVE_VERSION_TAG`` is enabled by default
on extension types and can be disabled using the ``type_version_tag`` compiler
directive.
* EXPERIMENTAL support for simple Cython code level line tracing. Enabled by
the "linetrace" compiler directive.
* Cython implemented functions make their argument and return type annotations
available through the ``__annotations__`` attribute (PEP 3107).
* Access to non-cdef module globals and Python object attributes is faster.
* ``Py_UNICODE*`` coerces from and to Python unicode strings. This is
helpful when talking to Windows APIs, which use compatible wchar_t
arrays for strings. Note that the ``Py_UNICODE`` type is otherwise
deprecated as of CPython 3.3.
* ``isinstance(obj, basestring)`` is optimised. In Python 3 it only tests
for instances of ``str`` (i.e. Py2 ``unicode``).
* The ``basestring`` builtin is mapped to ``str`` (i.e. Py2 ``unicode``) when
compiling the generated C code under Python 3.
* Closures use freelists, which can speed up their creation quite substantially.
This is also visible for short running generator expressions, for example.
* A new class decorator ``@cython.freelist(N)`` creates a static freelist of N
instances for an extension type, thus avoiding the costly allocation step if
possible. This can speed up object instantiation by 20-30% in suitable
scenarios. Note that freelists are currently only supported for base types,
not for types that inherit from others.
* Fast extension type instantiation using the ``Type.__new__(Type)`` idiom has
gained support for passing arguments. It is also a bit faster for types defined
inside of the module.
* The Python2-only dict methods ``.iter*()`` and ``.view*()`` (requires Python 2.7)
are automatically mapped to the equivalent keys/values/items methods in Python 3
for typed dictionaries.
* 2-value slicing of unknown objects passes the correct slice when the ``getitem``
protocol is used instead of the ``getslice`` protocol (especially in Python 3),
i.e. ``None`` values for missing bounds instead of ``[0,maxsize]``. It is also
a bit faster in some cases, e.g. for constant bounds. This fixes trac ticket 636.
* Slicing unicode strings, lists and tuples is faster.
* list.append() is faster on average.
* ``raise Exception() from None`` suppresses the exception context in Py3.3.
* Py3 compatible ``exec(tuple)`` syntax is supported in Py2 code.
* Keyword arguments are supported for cdef functions.
* External C++ classes can be declared nogil. Patch by John Stumpo. This fixes
trac ticket 805.
Bugs fixed
----------
* Cascaded assignments of None values to extension type variables failed with
a ``TypeError`` at runtime.
* The ``__defaults__`` attribute was not writable for Cython implemented
functions.
* Default values of keyword-only arguments showed up in ``__defaults__`` instead
of ``__kwdefaults__`` (which was not implemented). Both are available for
Cython implemented functions now, as specified in Python 3.x.
* ``yield`` works inside of ``with gil`` sections. It previously lead to a crash.
This fixes trac ticket 803.
* Static methods without explicitly named positional arguments (e.g. having only
``*args``) crashed when being called. This fixes trac ticket 804.
* ``dir()`` without arguments previously returned an unsorted list, which now
gets sorted as expected.
* ``dict.items()``, ``dict.keys()`` and ``dict.values()`` no longer return lists
in Python 3.
* Exiting from an ``except-as`` clause now deletes the exception in Python 3 mode.
* The declarations of ``frexp()`` and ``ldexp()`` in ``math.pxd`` were incorrect.
-rw-r--r-- | devel/py-cython/Makefile | 5 | ||||
-rw-r--r-- | devel/py-cython/PLIST | 11 | ||||
-rw-r--r-- | devel/py-cython/distinfo | 8 |
3 files changed, 14 insertions, 10 deletions
diff --git a/devel/py-cython/Makefile b/devel/py-cython/Makefile index b9b240c1722..e2d1206925d 100644 --- a/devel/py-cython/Makefile +++ b/devel/py-cython/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.13 2013/02/03 16:35:51 wiz Exp $ -# +# $NetBSD: Makefile,v 1.14 2013/05/04 23:50:52 wiz Exp $ -DISTNAME= Cython-0.18 +DISTNAME= Cython-0.19 PKGNAME= ${PYPKGPREFIX}-${DISTNAME:S/Cy/cy/} CATEGORIES= lang python MASTER_SITES= http://cython.org/release/ diff --git a/devel/py-cython/PLIST b/devel/py-cython/PLIST index 0dc59435dc7..335b060b8a8 100644 --- a/devel/py-cython/PLIST +++ b/devel/py-cython/PLIST @@ -1,6 +1,6 @@ -@comment $NetBSD: PLIST,v 1.8 2013/02/03 16:35:51 wiz Exp $ -bin/cygdb${PYVERSSUFFIX} -bin/cython${PYVERSSUFFIX} +@comment $NetBSD: PLIST,v 1.9 2013/05/04 23:50:52 wiz Exp $ +bin/cygdb2.7 +bin/cython2.7 ${PYSITELIB}/Cython/Build/BuildExecutable.py ${PYSITELIB}/Cython/Build/BuildExecutable.pyc ${PYSITELIB}/Cython/Build/BuildExecutable.pyo @@ -149,6 +149,9 @@ ${PYSITELIB}/Cython/Compiler/Tests/TestTreePath.pyo ${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.py ${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.pyc ${PYSITELIB}/Cython/Compiler/Tests/TestUtilityLoad.pyo +${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.py +${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.pyc +${PYSITELIB}/Cython/Compiler/Tests/TestVisitor.pyo ${PYSITELIB}/Cython/Compiler/Tests/__init__.py ${PYSITELIB}/Cython/Compiler/Tests/__init__.pyc ${PYSITELIB}/Cython/Compiler/Tests/__init__.pyo @@ -266,6 +269,7 @@ ${PYSITELIB}/Cython/Includes/cpython/buffer.pxd ${PYSITELIB}/Cython/Includes/cpython/bytes.pxd ${PYSITELIB}/Cython/Includes/cpython/cobject.pxd ${PYSITELIB}/Cython/Includes/cpython/complex.pxd +${PYSITELIB}/Cython/Includes/cpython/datetime.pxd ${PYSITELIB}/Cython/Includes/cpython/dict.pxd ${PYSITELIB}/Cython/Includes/cpython/exc.pxd ${PYSITELIB}/Cython/Includes/cpython/float.pxd @@ -415,6 +419,7 @@ ${PYSITELIB}/Cython/Utility/ObjectHandling.c ${PYSITELIB}/Cython/Utility/Optimize.c ${PYSITELIB}/Cython/Utility/Overflow.c ${PYSITELIB}/Cython/Utility/Printing.c +${PYSITELIB}/Cython/Utility/Profile.c ${PYSITELIB}/Cython/Utility/StringTools.c ${PYSITELIB}/Cython/Utility/TestCyUtilityLoader.pyx ${PYSITELIB}/Cython/Utility/TestCythonScope.pyx diff --git a/devel/py-cython/distinfo b/devel/py-cython/distinfo index a41445b7eab..270d815975b 100644 --- a/devel/py-cython/distinfo +++ b/devel/py-cython/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.7 2013/02/03 16:35:51 wiz Exp $ +$NetBSD: distinfo,v 1.8 2013/05/04 23:50:52 wiz Exp $ -SHA1 (Cython-0.18.tar.gz) = 03e18d5551ece9b4e3a43d4d96ad9f98c5cf6c43 -RMD160 (Cython-0.18.tar.gz) = 79b994498cd0ec327793615ed7be8c8af9e08997 -Size (Cython-0.18.tar.gz) = 1317041 bytes +SHA1 (Cython-0.19.tar.gz) = 1edaa0e3cf9d445988313212f0ea4538c3324c86 +RMD160 (Cython-0.19.tar.gz) = 4778b01c800d29dd51c895aef603fe749ae7655b +Size (Cython-0.19.tar.gz) = 1382384 bytes SHA1 (patch-aa) = b66269a12ff43be9b7ea980d5245b5fdbbe41e64 SHA1 (patch-ab) = de923488eb3f08f7e048c35c57bd60cbfb2b4c53 SHA1 (patch-ac) = 79b421be9b4b72c57df9907533c4732fec9458f9 |