From b13f941a9ab0d484e5093209b11247db31dfb6eddd69119882e485f09be85746 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Mon, 5 Sep 2011 14:38:00 +0000 Subject: [PATCH] Accepting request 80647 from devel:languages:python Replaces python-cython OBS-URL: https://build.opensuse.org/request/show/80647 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Cython?expand=0&rev=1 --- Cython-0.15.tar.gz | 3 + cython-3.2.2.tar.gz | 3 - python-Cython-rpmlintrc | 4 - python-Cython.changes | 2686 +-------------------------------------- python-Cython.spec | 111 +- 5 files changed, 35 insertions(+), 2772 deletions(-) create mode 100644 Cython-0.15.tar.gz delete mode 100644 cython-3.2.2.tar.gz delete mode 100644 python-Cython-rpmlintrc diff --git a/Cython-0.15.tar.gz b/Cython-0.15.tar.gz new file mode 100644 index 0000000..e7c02bc --- /dev/null +++ b/Cython-0.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:059775c832014d5e2550e0293fd1bfdc9330ebc98b844a86d4ae6251fde8fee7 +size 1543419 diff --git a/cython-3.2.2.tar.gz b/cython-3.2.2.tar.gz deleted file mode 100644 index 07f97de..0000000 --- a/cython-3.2.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3add3d483acc73129a61d105389344d792c17e7c1cee24863f16416bd071634 -size 3275797 diff --git a/python-Cython-rpmlintrc b/python-Cython-rpmlintrc deleted file mode 100644 index 8055173..0000000 --- a/python-Cython-rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -addFilter('devel-file-in-non-devel-package .*/Cython/.*') -addFilter('devel-dependency python39-devel') -addFilter('devel-dependency python310-devel') -addFilter('devel-dependency python311-devel') diff --git a/python-Cython.changes b/python-Cython.changes index c641254..519299c 100644 --- a/python-Cython.changes +++ b/python-Cython.changes @@ -1,2685 +1,3 @@ -------------------------------------------------------------------- -Fri Dec 12 10:31:50 UTC 2025 - Dirk Müller - -- update to 3.2.2: - * The C-API declarations were updated to include the new - PyDict_*Ref() functions. (Github issue :issue:`7291`) - * Iteration over literal sequences and strings in generators - generated invalid C code since 3.2.0. This was a regression - due to the C array iteration optimisation in :issue:`6926`, - which is now disabled inside of generators. (Github issue - :issue:`7342`) - * Calling special methods of known exception types failed with - an AttributeError. (Github issue :issue:`7342`) - * Calling the unbound __mul__ special method of builtin - collections with subtypes failed. (Github issue - :issue:`7340`) - * C string literals could generate invalid "const to non-const" - casts in the C code. (Github issue :issue:`7346`) - * yield is no longer allowed inside of a - cython.critical_section, but is now allowed while holding a - cython.pymutex. (Github issue :issue:`7317`) - * Under lock congestion, acquiring the GIL could crash in - Python 3.11, part 2. This bug was introduced in Cython 3.2.0. - (Github issue :issue:`7312`) - * The new py_safe_* functions in libc.threads triggered C - compiler warnings. (Github issue :issue:`7356`) - * Cython now leaves markers about its utility code dependencies - in the generated C code to help debugging "unused function" C - compiler warnings. (Github issue :issue:`7294`) - * Relative imports could fail if the shared utility module is - used. This bug was introduced in Cython 3.2.0. (Github issue - :issue:`7290`) - * Under lock congestion, acquiring the GIL could crash in - Python 3.11. This bug was introduced in Cython 3.2.0. (Github - issue :issue:`7312`) - * Using the shared utility module left an unused C function in - user modules with memoryviews. To make debugging this kind of - issue easier, Cython now leaves "used by …" markers in the - generated C files that indicate why a specific piece of - utility code was included. This bug was introduced in Cython - 3.2.0. (Github issue :issue:`7293`) - * Code using the pre-import scope failed with an undefined - name. This bug was introduced in Cython 3.2.0. (Github issue - :issue:`7304`) - * Includes all fixes as of Cython 3.1.7. - * Builtin exception types are now inferred. (Github issue - :issue:`6908`) - * The list of known, inferred and optimised Python builtins was - updated. range is now considered a type. ascii, bin, format, - hex, oct were added as functions. (Github issue - :issue:`6931`) - * The f-string syntax was extended according to PEP-701. - (Github issue :issue:`5452`) - * t-strings are implemented according to PEP-750. The - implementation backports the template classes but prefers - existing backports if installed separately. (Github issue - :issue:`6811`) - * Unknown return type annotations with -> are no longer - rejected but produce warnings. This allows better integration - with Python type hints that are not always usable for Cython. - -> None is also allowed now. Patch by jpe. (Github issue - :issue:`6946`) - * The runtime Python dispatch for fused functions is - substantially faster. (Github issues :issue:`1385`, - :issue:`6996`) - * Freelists (via cdef class decorator and for internally used - types such as async) are now also used in the Limited API and - with extension type specs enabled. (Github issue - :issue:`7151`) - * Module imports now quickly check for an already imported - module to speed up reimports. Patch by Lysandros Nikolaou. - (Github issue :issue:`7035`) - * Type checks on PEP-604 union types (int | None) are optimised - into separate checks. (Github issue :issue:`6935`) - * Assignments to the PEP-604 union type float | None allow any - suitable Python number as input and convert it to a Python - float automatically. (Github issue :issue:`5750`) - * Item type inference was improved for looping over literals. - (Github issue :issue:`6912`) - * Looping over literal sequences and strings now uses efficient - C array looping if possible. (Github issue :issue:`6926`) - * Releasing the GIL from an unknown lock state is more - efficient. (Github issue :issue:`6847`) - * cython.critical_section(PyMutex) now works, as with Python - objects. (Github issue :issue:`6847`) - * bool(c_int/float/ptr) avoid passing through Python objects. - (Github issue :issue:`7015`) - * Variables assigned inside of prange loops can now be - initialised outside of the loop. (Github issue :issue:`7178`) - * Unused exceptions in except clauses are detected in some more - cases to avoid their normalisation. (Github issue - :issue:`7021`) - * Mixed operations on C integers with Python ints use less code - and are more streamlined for Py3.12+. (Github issue - :issue:`7244`) - * Some object constants are now marked as immortal to speed up - their reference counting in recent CPython versions. This - can be configured with the CYTHON_IMMORTAL_CONSTANTS C macro. - (Github issue :issue:`7118`) - * Further improvements were made to reduce the size of the - resulting extension modules. (Github issue :issue:`6983`, - :issue:`7199`, :issue:`7220`, :issue:`7238`, :issue:`7255`, - :issue:`7265`) - * Several improvements were made in freethreaded Python code. - (Github issues :issue:`6936`, :issue:`6939`, :issue:`6949`, - :issue:`6984`, :issue:`7011`, :issue:`7066`, :issue:`7114`, - :issue:`7200`) - * Several improvements were made for the Limited API. (Github - issues :issue:`6959`, :issue:`6991`) - * Several improvements were made for the GraalPython support. - Patch by Michael Šimáček. (Github issue :issue:`7074`) - * Some GIL-safe C-API wrappers were added to the libc/libcpp - declarations. (Github issue :issue:`6829`, :issue:`6993`) - * String and number constants use less storage space in the - module. (Github issues :issue:`6971`, :issue:`6978`, - :issue:`6986`) - * The managed dict/weakref support in CPython 3.12+ is used for - internal types to benefit from future CPython optimisations - here. (Github issue :issue:`6891`) - * Using NaN as exception return value is supported. (Github - issues :issue:`6900`, :issue:`6903`) - * Declarations for C++ condition variables were added. (Github - issue :issue:`6836`) - * The annotated source HTML page shows alternating +/− markers - to open/close lines. Patch by Kamil Monicz. (Github issue - :issue:`7099`) - * cython --embed gained a new option --embed-modules=… to list - further extension modules that will be statically linked into - the generated extension module, to get them initialised on - application start. (Github issue :issue:`2849`) - * The setup.py script of Cython now allows passing the desired - Limited API version like --cython-limited-api=3.11. (Github - issue :issue:`7228`) - * Unicode 16.0.0 is used to parse identifiers. (Github issue - :issue:`6836`) - * Special float exception values could generate invalid C code. - (Github issues :issue:`6900`, :issue:`6903`) - * References to the Python bool type could generate invalid C - code. (Github issue :issue:`6902`) - * Using cython.pymutex in an extension type declared as public - or api generated invalid C code missing the required PyMutex - declarations. (Github issues :issue:`6992`, :issue:`6995`) - * Cython's type sharing across modules suffered from race - conditions if multiple modules tried to initialise and share - their types concurrently. This is due to an underlying - CPython issue and cannot easily be worked around completely. - In the common case that module dicts are plain Python dict - objects, however, Cython now uses a .setdefault() equivalent - for thread-safe type sharing. See - https://github.com/python/cpython/issues/137422 (Github issue - :issue:`7076`) - * Cython incorrectly called PyList_GetItemRef() in PyPy and - GraalPython before Py3.13. (Github issue :issue:`7269`) - * Iterating over temporary memoryviews could crash Cython. - (Github issue :issue:`7005`) - * Type casts on constants as part of numeric expressions could - crash Cython. (Github issue :issue:`6779`) - * Long code bodies in with statements could crash Cython. - (Github issue :issue:`7122`) - * Vectorcalls could use needless temp assignments for self. - (Github issue :issue:`6909`) - * Indexing bytes failed to optimise in some cases. (Github - issue :issue:`6997`) - * Optimised C integer formatting in f-strings failed to apply - to typedef types. (Github issue :issue:`7170`) - * In auto-pickling, trying to unpickle an object that has no - __dict__ from object pickle data that includes instance dict - state is now an error. (Github issue :issue:`7222`) - * The type objects of heap types were not always correctly - decrefed on deallocation. (Github issue :issue:`7145`) - * Pure mode type aliases like p_int or ulong leaked into some C - type contexts, risking to conflict with user declarations. - (Github issues :issue:`6922`, :issue:`6339`) - * Boolean (emptyness) tests on builtin containers could fail to - handle (unlikely) errors. (Github issue :issue:`7090`) - * The return type of bytes.join() was sometimes inferred as - plain object. (Github issue :issue:`6987`) - * Type inference could fail to understand prange() arguments. - (Github issue :issue:`6974`) - * embedsignatures failed if lambda was used in function default - arguments. (Github issue :issue:`6880`) - * An internal C function was not marked as static and leaked a - linker symbol. (Github issue :issue:`6957`) - * PyType_FromModuleAndSpec was incorrectly used in Limited API - code before Py3.10. (Github issue :issue:`7181`) - * Conversion code for memoryview dtypes from and to Python - objects generated C warnings about incorrect const / non- - const casting code. (Github issue :issue:`7219`) - * Cython's tools and frontend scripts now use python3 instead - of just python in their shebang line. Patch by Matti Picus. - (Github issue :issue:`7053`) - * Extension arguments defined for the shared code module were - ignored in cythonize(). (Github issue :issue:`7251`) - * Failures while following package attributes in import - pkg.module as … were not handled. - * Trying to instantiate internal types used by Cython is now - prohibited. (Github issue :issue:`7263`) - * The setup.py script in the Demos/ subdirectory failed to - build. (Github issue :issue:`7228`) - * The cygdb program failed to work with virtualenvs on Windows. - Patch by Merlin. (Github issue :issue:`7268`) - * Includes all fixes as of Cython 3.1.6. - * Some lesser used platforms (Windows ARM/i686, macOS x86_64, - Linux i686, musllinux) now use Py3.9 abi3 binary wheels - instead of Python version specific wheels. We also added an - abi3 wheel for armv7l. (Github issues :issue:`7227`, - :issue:`7248`, :issue:`7250`) - * Usages of Py_TPFLAGS_HAVE_FINALIZE were removed. The - constant remains available as cimport from cpython.object for - legacy reasons. (Github issue :issue:`6423`) - * Using cython.pymutex in an extension type declared as public - or api generated invalid C code missing the required PyMutex - declarations. (Github issues :issue:`6992`, :issue:`6995`) - * 3.2.0b2 generated incorrect pointer casts in the cimport - importing code. (Github issue :issue:`7268`) - * Cython's type sharing across modules suffered from race - conditions if multiple modules tried to initialise and share - their types concurrently. This is due to an underlying - CPython issue and cannot easily be worked around completely. - In the common case that module dicts are plain Python dict - objects, however, Cython now uses a .setdefault() equivalent - for thread-safe type sharing. See - https://github.com/python/cpython/issues/137422 (Github issue - :issue:`7076`) - * Cython incorrectly called PyList_GetItemRef() in PyPy and - GraalPython before Py3.13. (Github issue :issue:`7269`) - * The code generated for importing and exporting cimports - across modules uses less space. (Github issues :issue:`7255`, - :issue:`7265`) - * Iteration over memoryviews could loop indefinitely in 3.2b1 - when encountering a continue statement. (Github issue - :issue:`7259`) - * Extension arguments defined for the shared code module were - ignored in cythonize(). (Github issue :issue:`7251`) - * Failures while following package attributes in import - pkg.module as … were not handled. - * Trying to instantiate internal types used by Cython is now - prohibited. (Github issue :issue:`7263`) - * Includes all fixes as of Cython 3.1.6. - * The musllinux platform is now served with an abi3 Cython - wheel instead of Python specific ones. (Github issue - :issue:`7250`) - * Builtin exception types are now inferred. (Github issue - :issue:`6908`) - * The list of known, inferred and optimised Python builtins was - updated. range is now considered a type. ascii, bin, format, - hex, oct were added as functions. (Github issue - :issue:`6931`) - * The f-string syntax was extended according to PEP-701. - (Github issue :issue:`5452`) - * t-strings are implemented according to PEP-750. The - implementation backports the template classes but prefers - existing backports if installed separately. (Github issue - :issue:`6811`) - * Unknown return type annotations with -> are no longer - rejected but produce warnings. This allows better integration - with Python type hints that are not always usable for Cython. - -> None is also allowed now. Patch by jpe. (Github issue - :issue:`6946`) - * The runtime Python dispatch for fused functions is - substantially faster. (Github issues :issue:`1385`, - :issue:`6996`) - * Freelists (via cdef class decorator and for internally used - types such as async) are now also used in the Limited API and - with extension type specs enabled. (Github issue - :issue:`7151`) - * Module imports now quickly check for an already imported - module to speed up reimports. Patch by Lysandros Nikolaou. - (Github issue :issue:`7035`) - * Type checks on PEP-604 union types (int | None) are optimised - into separate checks. (Github issue :issue:`6935`) - * Assignments to the PEP-604 union type float | None allow any - suitable Python number as input and convert it to a Python - float automatically. (Github issue :issue:`5750`) - * Item type inference was improved for looping over literals. - (Github issue :issue:`6912`) - * Looping over literal sequences and strings now uses efficient - C array looping if possible. (Github issue :issue:`6926`) - * Releasing the GIL from an unknown lock state is more - efficient. (Github issue :issue:`6847`) - * cython.critical_section(PyMutex) now works, as with Python - objects. (Github issue :issue:`6847`) - * bool(c_int/float/ptr) avoid passing through Python objects. - (Github issue :issue:`7015`) - * Variables assigned inside of prange loops can now be - initialised outside of the loop. (Github issue :issue:`7178`) - * Unused exceptions in except clauses are detected in some more - cases to avoid their normalisation. (Github issue - :issue:`7021`) - * Mixed operations on C integers with Python ints use less code - and are more streamlined for Py3.12+. (Github issue - :issue:`7244`) - * Some object constants are now marked as immortal to speed up - their reference counting in recent CPython versions. This - can be configured with the CYTHON_IMMORTAL_CONSTANTS C macro. - (Github issue :issue:`7118`) - * Further improvements were made to reduce the size of the - resulting extension modules. (Github issue :issue:`6983`, - :issue:`7199`, :issue:`7220`, :issue:`7238`) - * Several improvements were made in freethreaded Python code. - (Github issues :issue:`6936`, :issue:`6939`, :issue:`6949`, - :issue:`6984`, :issue:`7011`, :issue:`7066`, :issue:`7114`, - :issue:`7200`) - * Several improvements were made for the Limited API. (Github - issues :issue:`6959`, :issue:`6991`) - * Several improvements were made for the GraalPython support. - Patch by Michael Šimáček. (Github issue :issue:`7074`) - * Some GIL-safe C-API wrappers were added to the libc/libcpp - declarations. (Github issue :issue:`6829`, :issue:`6993`) - * String and number constants use less storage space in the - module. (Github issues :issue:`6971`, :issue:`6978`, - :issue:`6986`) - * The managed dict/weakref support in CPython 3.12+ is used for - internal types to benefit from future CPython optimisations - here. (Github issue :issue:`6891`) - * Using NaN as exception return value is supported. (Github - issues :issue:`6900`, :issue:`6903`) - * Declarations for C++ condition variables were added. (Github - issue :issue:`6836`) - * The annotated source HTML page shows alternating +/− markers - to open/close lines. Patch by Kamil Monicz. (Github issue - :issue:`7099`) - * cython --embed gained a new option --embed-modules=… to list - further extension modules that will be statically linked into - the generated extension module, to get them initialised on - application start. (Github issue :issue:`2849`) - * The setup.py script of Cython now allows passing the desired - Limited API version like --cython-limited-api=3.11. (Github - issue :issue:`7228`) - * Unicode 16.0.0 is used to parse identifiers. (Github issue - :issue:`6836`) - * Special float exception values could generate invalid C code. - (Github issues :issue:`6900`, :issue:`6903`) - * References to the Python bool type could generate invalid C - code. (Github issue :issue:`6902`) - * Unicode characters formatted from C integers with - f"{value:c}" could result in invalid Python string objects - since Cython 3.1.0. (Github issue :issue:`7240`) - * Vectorcalls could use needless temp assignments for self. - (Github issue :issue:`6909`) - * Iterating over temporary memoryviews could crash Cython. - (Github issue :issue:`7005`) - * Type casts on constants as part of numeric expressions could - crash Cython. (Github issue :issue:`6779`) - * Long code bodies in with statements could crash Cython. - (Github issue :issue:`7122`) - * Indexing bytes failed to optimise in some cases. (Github - issue :issue:`6997`) - * Optimised C integer formatting in f-strings failed to apply - to typedef types. (Github issue :issue:`7170`) - * In auto-pickling, trying to unpickle an object that has no - __dict__ from object pickle data that includes instance dict - state is now an error. (Github issue :issue:`7222`) - * The type objects of heap types were not always correctly - decrefed on deallocation. (Github issue :issue:`7145`) - * Pure mode type aliases like p_int or ulong leaked into some C - type contexts, risking to conflict with user declarations. - (Github issues :issue:`6922`, :issue:`6339`) - * Boolean (emptyness) tests on builtin containers could fail to - handle (unlikely) errors. (Github issue :issue:`7090`) - * The return type of bytes.join() was sometimes inferred as - plain object. (Github issue :issue:`6987`) - * Type inference could fail to understand prange() arguments. - (Github issue :issue:`6974`) - * embedsignatures failed if lambda was used in function default - arguments. (Github issue :issue:`6880`) - * An internal C function was not marked as static and leaked a - linker symbol. (Github issue :issue:`6957`) - * PyType_FromModuleAndSpec was incorrectly used in Limited API - code before Py3.10. (Github issue :issue:`7181`) - * Conversion code for memoryview dtypes from and to Python - objects generated C warnings about incorrect const / non- - const casting code. (Github issue :issue:`7219`) - * cythonize (program and function) now uses - concurrent.futures.ProcessPoolExecutor instead of - multiprocessing.Pool to fix a hang on build failures in - parallel builds. A possible work-around is to disable - parallel builds. Patch by Sviatoslav Sydorenko. (Github - issue :issue:`7183`) - * Cython's tools and frontend scripts now use python3 instead - of just python in their shebang line. Patch by Matti Picus. - (Github issue :issue:`7053`) - * The setup.py script in the Demos/ subdirectory failed to - build. (Github issue :issue:`7228`) - * Includes all fixes as of Cython 3.1.5. - * Some lesser used platforms (Windows ARM/i686, macOS x86_64, - Linux i686) now use Py3.9 abi3 binary wheels instead of - Python version specific wheels. We also added a abi3 wheel - for armv7l. (Github issues :issue:`7227`, :issue:`7248`) - * Usages of Py_TPFLAGS_HAVE_FINALIZE were removed. The - constant remains available as cimport from cpython.object for - legacy reasons. (Github issue :issue:`6423`) - * Some internal C symbols were not declared as static, - preventing static linking of multiple modules. Patch by Yury - Popov. (Github issue :issue:`7310`) - * Accidentally using except + in C mode did not raise a compile - error but generated invalid C code leading to obscure error - messages. Patch by user202729. (Github issue :issue:`6560`) - * Unicode characters formatted from C integers with padding, as - in f"{value:XXc}", could result in invalid Python string - objects since Cython 3.1.0. Also, lone surrogates failed to - format in this way. (Github issue :issue:`7298`) - * Assigning nested structs from a list of structs (item by - item) could crash Cython. (Github issue :issue:`7308`) - * Cython incorrectly called PyList_GetItemRef() in PyPy and - GraalPython before Py3.13. (Github issue :issue:`7269`) - * Trying to instantiate internal types used by Cython is now - prohibited. (Github issue :issue:`7263`) - * Unicode characters formatted from C integers with - f"{value:c}" could result in invalid Python string objects - since Cython 3.1.0. (Github issue :issue:`7240`) - * cythonize (program and function) now uses - concurrent.futures.ProcessPoolExecutor instead of - multiprocessing.Pool to fix a hang on build failures in - parallel builds. A possible work-around is to disable - parallel builds. Patch by Sviatoslav Sydorenko. (Github - issue :issue:`7183`) - * Conversion from C++ strings longer than PY_SSIZE_T_MAX did - not validate the length. - * Some non-Limited API code was incorrectly used in generated - header files. (Github issue :issue:`7157`) - * Optimised unpacking of Python integers in expressions uses a - slightly safer scheme. (Github issue :issue:`7134`) - * Empty return statements were not always reported when - tracing. (Github issue :issue:`7022`) - * Value conversion errors when tracing C return statements no - longer fail the trace but fall back to reporting None returns - instead. (Github issue :issue:`6503`) - -------------------------------------------------------------------- -Mon Sep 22 12:31:13 UTC 2025 - Markéta Machová - -- Update to 3.1.4 - * Declarations for the new PyUnstable_*() refcounting C-API functions in Py3.14 - were added. - * The monitoring code could crash on tracing. - * Initialising the monitoring code could fail with a CPython exception. - * Optimised integer shifting triggered undefined behaviour in C. - * Deallocating objects that inherit from external types defined in pxd files - could run into an infinite loop. - * A reference to metaclasses could be leaked on instantiation. - * (Unlikely) error handling during empty builtin container tests was ineffective. - * Generated *_api.h files used potentially unknown Cython configuration macros. - * cythonize() avoids parallel compiler runs on systems using spawn() in - multiprocessing. - * The @cython.ufunc decorator was missing in type checker stubs. - -------------------------------------------------------------------- -Wed Aug 13 12:01:11 UTC 2025 - Markéta Machová - -- Update to 3.1.3 - * Some method calls with 0 or 1 argument failed to use PyObject_VectorCallMethod(). - * Walrus assignments of literal Python integers could generate invalid C code. - * cython.pythread_type_lock (also used as fallback for cython.pymutex) could stall - on heavily contended locks. - * C string arrays (not pointers) always coerced to the Python default string type, - even on explicit casts to other string types. - * Unterminated \N{} character escapes in strings could unrail the parser. - * An internal C function was not marked as static and leaked a linker symbol. - * Some Unicode letters were not recognised as lexically valid name parts. - * Compatibility with PyPy3.8 was lost by accident. - * The Linux binary wheels of 3.1.2 used SSSE3 CPU instructions which are not - available on some CPUs. -- Convert to libalternatives on SLE-16-based and newer systems only - -------------------------------------------------------------------- -Mon Jul 14 10:19:55 UTC 2025 - ecsos - -- Update top 3.1.2 - * Attribute lookups failed on the ``bool`` builtin type. - (Github issue :issue:`6905`) - * Type checks on or-ed union types could incorrectly return false. - (Github issue :issue:`6420`) - * Negative list indexing could accidentally wrap around twice in PyPy and the Limited API. - * Iterating over literal sequences with starred (unpacked) items could infer a wrong - type for the loop variable and fail to assign the values. - (Github issue :issue:`6924`) - * Calls to C functions taking exception types failed to check for a `None` argument. - (Github issue :issue:`6420`) - * Fused functions had an incorrect ``__module__`` attribute. - (Github issue :issue:`6897`) - * The type of Cython implemented functions had an incorrect ``__module__`` attribute. - (Github issue :issue:`6841`) - * Errors while indexing into ``bytearray`` or ``str`` in ``nogil`` sections could crash. - (Github issue :issue:`6947`) - * ``bytearray.append()`` could silently accept some invalid character numbers. - * The C++11 ```` header was included regardless of the C++ version. - (Github issue :issue:`6896`) - * ``PyDict_GetItemStringRef()`` was accidentally used in older Limited API versions. - (Github issue :issue:`6914`) - * ``abort()`` was used but not always available in the Limited API. - (Github issue :issue:`6918`) - * Some dependencies were missing from the ``depfile``. - (Github issue :issue:`6938`) - * Embedded function signatures were not always separated from the existing docstring. - (Github issue :issue:`6904`) - * ``numpy.math`` was missing from ``Cython/Includes/`` and could not be cimported. - (Github issue :issue:`6859`) - * Some tests were adapted for NumPy 2.x. - (Github issue :issue:`6898`) - * Some C compiler warnings were fixed. - (Github issue :issue:`6870`) - * ``Cython.Build`` was not officially exposing the ``cythonize`` function. - (Github issue :issue:`6934`) -- Changes from 3.1.1 - * A reference leak in the async delegation code was fixed. - (Github issues :issue:`6850`, :issue:`6878`) - * Conditional if-else expressions mixing Python and C (numeric) types could end up - inferring an overly tight result type, thus leading to unexpected type conversions, - runtime exceptions on assignment, or incorrect "temporary assignment" compile errors. - (Github issue :issue:`6854`) - * Some Limited API issues were resolved. - (Github issue :issue:`6862`) - * Large C ``long long`` values could be truncated when passed into PyPy. - (Github issue :issue:`6890`) - * ``callable()`` incorrectly reported ``False`` in PyPy for classes with metaclasses. - Patch by Anatolii Aniskovych. (Github issue :issue:`6892`) - * The signature of fused functions was no longer introspectable in Cython 3.1.0. - (Github issue :issue:`6855`) - * Coroutines could generate invalid C with line tracing enabled. - (Github issue :issue:`6865`) - * Code using ``complex()`` could generate invalid C code missing type declarations. - (Github issue :issue:`6860`) - * Code using e.g. ``list[int | None]`` outside of variable/argument annotations failed to compile. - (Github issue :issue:`6856`) - * Code using ctuples in a ``const`` context could generate invalid C. - (Github issue :issue:`6864`) - * Accessing special methods on cpdef enums failed to compile. - * Some C compiler warnings were resolved. - Patches by Daniel Larraz. (Github issues :issue:`6876`, :issue:`3172`, :issue:`6873`, :issue:`6877`) - * Re-establish support for PyPy 3.8. - (Github issue :issue:`6867`) -- Changes from 3.1.0 - - See https://github.com/cython/cython/releases/tag/3.1.0-1 - -------------------------------------------------------------------- -Tue Apr 1 11:44:25 UTC 2025 - Markéta Machová - -- Make the dist-info name case-insensitive - -------------------------------------------------------------------- -Tue Mar 25 01:11:31 UTC 2025 - Steve Kowalik - -- Lowercase metadata directory name. - -------------------------------------------------------------------- -Wed Feb 19 09:54:43 UTC 2025 - John Paul Adrian Glaubitz - -- Update to 3.0.12 - * Release 3.0.11 introduced some incorrect ``noexcept`` warnings. - (Github issue :issue:`6335`) - * Conditional assignments to variables using the walrus operator - could crash. (Github issue :issue:`6094`) - * Dict assignments to struct members with reserved C names could generate - invalid C code. - * Fused ctuples with the same entry types but different sizes could - fail to compile. (Github issue :issue:`6328`) - * In Py3, `pyximport` was not searching `sys.path` when looking for - importable source files. (Github issue :issue:`5615`) - * Using `& 0` on integers produced with `int.from_bytes()` could read - invalid memory on Python 3.10. (Github issue :issue:`6480`) - * Modules could fail to compile in PyPy 3.11 due to missing CPython - specific header files. Patch by Matti Picus. (Github issue :issue:`6482`) - * Minor fix in C++ ``partial_sum()`` declaration. - -------------------------------------------------------------------- -Sat Aug 31 11:48:36 UTC 2024 - Dirk Müller - -- update to 3.0.11: - * The C++11 emplace* methods were added to libcpp.deque. Patch - by Somin An. (Github issue :issue:`6159`) - * The exception check value of functions declared in pxd files - was not always applied in 3.0.10. (Github issue - :issue:`6122`) - * A crash on exception deallocations was fixed. (Github issue - :issue:`6022`) - * A crash was fixed when assigning a zero-length slice to a - memoryview. Patch by Michael Man. (Github issue - :issue:`6227`) - * libcpp.optional.value() could crash if it raised a C++ - exception. Patch by Alexander Condello. (Github issue - :issue:`6190`) - * The return type of str() was mishandled, leading to crashes - with language_level=3. (Github issue :issue:`6166`) - * bytes.startswith/endswith() failed for non-bytes substrings - (e.g. bytearray). (Github issue :issue:`6168`) - * Fused ctuples crashed Cython. (Github issue :issue:`6068`) - * A compiler crash was fixed when using extension types in - fused types. (Github issue :issue:`6204`) - * The module cleanup code was incorrect for globally defined - memory view slices. (Github issue :issue:`6276`) - * Some adaptations were made to enable compilation in Python - 3.13. (Github issues :issue:`5997`, :issue:`6182`, - :issue:`6251`) - -------------------------------------------------------------------- -Tue Apr 2 09:50:48 UTC 2024 - Dirk Müller - -- update to 3.0.10: - * Cython generated incorrect self-casts when directly calling - final methods of subtypes. - * Internal C names generated from C function signatures could - become too long for MSVC. - * The noexcept warnings could be misleading in some cases. - * The @cython.ufunc implementation could generate incomplete C - code. - * The libcpp.complex declarations could result in incorrect C++ - code. Patch by Raffi Enficiaud. - * Several tests were adapted to work with both NumPy 1.x and - 2.0. Patch by Matti Picus. - * C compiler warnings when the freelist implementation is - disabled (e.g. on PyPy) were fixed. It can now be disabled - explicitly with the C macro guard CYTHON_USE_FREELISTS=0. - * Some C macro guards for feature flags were missing from the - NOGIL Python configuration. - * Some recently added builtins were unconditionally looked up - at module import time (if used by user code) that weren't - available on all Python versions and could thus fail the - import. - * A performance hint regarding exported pxd declarations was - improved. - -------------------------------------------------------------------- -Mon Mar 18 10:56:20 UTC 2024 - Dirk Müller - -- update to 3.0.9: - * Assigning const values to non-const variables now issues a - warning. - * Using noexcept on a function returning Python objects now - issues a warning. - * Some C-API usage was updated for the upcoming CPython 3.13. - Patches by Victor Stinner et al. - * The deprecated Py_UNICODE type is no longer used, unless - required by user code. - * std::string.replace() declarations were added to - libcpp.string. Patch by Kieran Geary. - * Cython generates incorrect (but harmless) self-casts when - directly calling final methods of subtypes. Lacking a better - solution, the errors that recent gcc versions produce have - been silenced for the time being. Original patch by Michał - Górny. - * Unused variable warnings about clineno were fixed when C - lines in tracebacks are disabled. - * Subclass deallocation of extern classes could crash if the - base class uses GC. Original patch by Jason Fried. - * Type checks for Python memoryview could use an invalid C - function. Patch by Xenia Lu. - * Calling final fused functions could generate invalid C code. - * Declaring extern enums multiple times could generate invalid - C code. - * pyximport used relative paths incorrectly. Patch by Stefano - Rivera. - * Running Cython with globbing characters ([]*?) in the module - search path could fail. - * Literal strings that include braces could change the C code - indentation. - * The "enum class not importable" warning is now only issued - once per enum type. - -------------------------------------------------------------------- -Sun Jan 14 15:30:24 UTC 2024 - Dirk Müller - -- update to 3.0.8: - * Using const together with defined fused types could fail to - compile. (Github issue :issue:`5230`) - * A "use after free" bug was fixed in parallel sections. - (Github issue :issue:`5922`) - * Several types were not available as cython.* types in pure - Python code. - * The generated code is now correct C89 again, removing some - C++ style // comments and C99-style declaration-after-code - code ordering. This is still relevant for some ols C - compilers, specifically ones that match old Python 2.7 - installations. - -------------------------------------------------------------------- -Tue Jan 2 22:01:07 UTC 2024 - Dirk Müller - -- require setuptools - -------------------------------------------------------------------- -Thu Dec 21 16:15:20 UTC 2023 - Dirk Müller - -- update to 3.0.7: - * In the iterator of generator expressions, ``await`` and - ``yield`` were not correctly analysed. - * ``cpdef`` enums with the same name cimported from different - modules could lead to invalid C code. - * Some declarations in ``cpython.unicode`` were fixed and - extended. - * Compiling fused types used in pxd files could crash Cython in - Python 3.11+. - * Source files with non-ASCII file names could crash Cython. - * Includes all bug-fixes and features from the 0.29 maintenance - branch - -------------------------------------------------------------------- -Mon Nov 27 08:49:57 UTC 2023 - Dirk Müller - -- update to 3.0.6: - * Features added - * Fused def function dispatch is a bit faster. - * Declarations for the ``wchar`` PyUnicode API were added. - * The Python "nogil" fork is now also detected with the new - ``Py_GIL_DISABLED`` macro. - * Patch by Hugo van Kemenade (Github issue :issue:`583652`) - * Bugs fixed - * Comparing dataclasses could give different results than - Python. - * ``float(std::string)`` generated invalid C code. - * Using ``cpdef`` functions with ``cimport_from_pyx`` failed. - * A crash was fixed when string-formatting a Python value - fails. - * On item access, Cython could try the sequence protocol before - the mapping protocol - * in some cases if an object supports both. - * A C compiler warning was resolved. - * Complex numbers failed to compile in MSVC with C11. - * Patch by Lysandros Nikolaou. (Github issue :issue:`5809`) - * Some issues with the Limited API and with PyPy were resolved. - * A C++ issue in Python 3.13 was resolved. - * Several directives are now also available (as no-ops) in - Python code. - * An error message was corrected. - -------------------------------------------------------------------- -Mon Nov 20 12:09:27 UTC 2023 - Dirk Müller - -- avoid obsoletes on provides as we now had a version update - -------------------------------------------------------------------- -Fri Nov 10 13:13:54 UTC 2023 - Dirk Müller - -- update to 3.0.5: - * Preliminary support for CPython 3.13a1 was added to allow - early testing. - * Bugs fixed - * A compiler crash was fixed. - * A typo in the ``always_allow_keywords`` directive for Python - code was fixed. - * Some C compiler warnings were resolved. - -------------------------------------------------------------------- -Wed Oct 18 06:15:17 UTC 2023 - Daniel Garcia Moreno - -- update to version 3.0.4: - * Features added - - A new compiler directive show_performance_hints was added to - disable the newly added performance hint output. (Github issue - :issue:`5748`) - * Bugs fixed - - `cythonize` required ``distutils even for operations that did not - build binaries. (Github issue :issue:`5751`) - - A regression in 3.0.3 was fixed that prevented calling inline - functions from another inline function in .pxd files. (Github - issue :issue:`5748`) - - Some C compiler warnings were resolved. Patch by Pierre Jolivet. - (Github issue :issue:`5756`) - -------------------------------------------------------------------- -Tue Oct 17 08:57:05 UTC 2023 - Daniel Garcia Moreno - -- update to version 3.0.3: - * Features added - - More warnings were added to help users migrate and avoid bugs. - (Github issue #5650) - - A warning-like category for performance hints was added that - bypasses -Werror. (Github issue #5673) - - FastGIL now uses standard thread_local in C++. (Github issue - #5640) - - reference_wrapper was added to libcpp.functional. Patch by Vyas - Ramasubramani. (Github issue #5671) - - The cythonize command now supports the --cplus option known from - the cython command. (Github issue #5736) - * Bug fixed - - Performance regressions where the GIL was needlessly acquired - were fixed. (Github issues #5670, #5700) - - A reference leak for exceptions in Python 3.12 was resolved. - Patch by Eric Johnson. (Github issue #5724) - - fastcall calls with keyword arguments generated incorrect C - code. (Github issue #5665) - - Assigning the type converted result of a conditional (if-else) - expression to int or bool variables could lead to incorrect C - code. (Github issue #5731) - - Early (unlikely) failures in Python function wrappers no longer - set a traceback in order to simplify the C code flow. Being - mostly memory allocation errors, they probably would never have - created a traceback anyway. (Github issue #5681) - - Relative cimports from packages with __init__.py files could - fail. (Github issue #5715) - - Several issues with the Limited API support were resolved. - (Github issues #5641, #5648, #5689) - - The code generated for special-casing both Cython functions and - PyCFunctions was cleaned up to avoid calling C-API functions - that were not meant for the other type respectively. This could - previously trigger assertions in CPython debug builds and now - also plays better with the Limited API. (Github issues #4804, - #5739) - - Fix some C compiler warnings. Patches by Ralf Gommers, Oleksandr - Pavlyk, Sebastian Koslowski et al. (Github issues #5651, #5663, - #5668, #5717, #5726, #5734) - - Generating gdb debugging information failed when using generator - expressions. Patch by Oleksandr Pavlyk. (Github issue #5552) - - Passing a setuptools.Extension into cythonize() instead of a - distutils.Extension could make it miss the matching extensions. - - cython -M needlessly required distutils, which made it fail in - Python 3.12. (Github issue #5681) - * Other changes - - The visible deprecation warning for DEF was removed again since - it proved difficult for some users to migrate away from it. The - statement is still meant to be removed at some point (and thus, - like IF, should not be used in new code), but the time for - sunset is probably not around the corner. (Github issue #4310) - - The np_pythran option raise a DeprecationWarning if it receives - other values than True and False. This will eventually be - disallowed (in line with all other boolean options). - -------------------------------------------------------------------- -Sun Aug 27 21:37:49 UTC 2023 - Arun Persaud - -- update to version 3.0.2: - * Bugs fixed - + Using None as default value for arguments annotated as int could - crash Cython. (Github issue :issue:`5643`) - + Default values of fused types that include complex could - generate invalid C code with -DCYTHON_CCOMPLEX=0. (Github issue - :issue:`5644`) - + Using C++ enum class types in extension type method signatures - could generate invalid C code. (Github issue :issue:`5637`) - -- changes from version 3.0.1: - * Features added - + The error messages regarding exception declarations were - improved in order to give better help about possible reasons and - fixes. (Github issue :issue:`5547`) - * Bugs fixed - + Memory view types in Python argument annotations no longer - accept None. They now require an explicit Optional[] or a None - default value in order to allow None to be passed. This was an - oversight in the 3.0.0 release and is a BACKWARDS INCOMPATIBLE - change. However, since it only applies to code using Python - syntax, it probably only applies to newly written code that was - written for Cython 3.0 and can easily be adapted. In most cases, - we expect that this change will avoid bugs in user code rather - than produce problems. (Github issue :issue:`5612`) - + nogil functions using parallel code could freeze when called - with the GIL held. (Github issues :issue:`5564`, :issue:`5573`) - + Relative cimports could end up searching globally and find the - same package installed elsewhere, potentially in another - version. (Github issue :issue:`5511`) - + Attribute lookups on known standard library modules could - accidentally search in the module namespace instead. (Github - issue :issue:`5536`) - + Using constructed C++ default arguments could generate invalid - C++ code. (Github issue :issue:`5553`) - + libcpp.memory.make_unique() was lacking C++ exception - handling. (Github issue :issue:`5560`) - + Some non-public and deprecated CAPI usages were replaced by - public (and thus more future proof) API code. - + Many issues with the Limited API support were resolved. Patches - by Lisandro Dalcin et al. (Github issues :issue:`5549`, - :issue:`5550`, :issue:`5556`, :issue:`5605`, :issue:`5617`) - + Some C compiler warnings were resolved. Patches by Matti Picus - et al. (Github issues :issue:`5557`, :issue:`5555`) - + Large Python integers are now stored in hex instead of decimal - strings to work around security limits in Python and generally - speed up their Python object creation. - + NULL could not be used as default for fused type pointer - arguments. (Github issue :issue:`5554`) - + C functions that return pointer types now return NULL as default - exception value. Previously, calling code wasn't aware of this - and always tested for raised exceptions. (Github issue - :issue:`5554`) - + Untyped literal default arguments in fused functions could - generate invalid C code. (Github issue :issue:`5614`) - + C variables declared as const could generate invalid C code when - used in closures, generator expressions, ctuples, etc. (Github - issues :issue:`5558`, :issue:`5333`) - + Enums could not refer to previously defined enums in their - definition. (Github issue :issue:`5602`) - + The Python conversion code for anonymous C enums conflicted with - regular int conversion. (Github issue :issue:`5623`) - + Using memory views for property methods (and other special - methods) could lead to refcounting problems. (Github issue - :issue:`5571`) - + Star-imports could generate code that tried to assign to - constant C macros like PY_SSIZE_T_MAX and PY_SSIZE_T_MIN. Patch - by Philipp Wagner. (Github issue :issue:`5562`) - + CYTHON_USE_TYPE_SPECS can now be (explicitly) enabled in PyPy. - + The template parameter "delimeters" in the Tempita Template - class was corrected to "delimiters". The old spelling is still - available in the main template API but now issues a - DeprecationWarning. (Github issue :issue:`5608`) - + The cython --version output is now less likely to reach both - stdout and stderr. Patch by Eli Schwartz. (Github issue - :issue:`5504`) - + The sdist was missing the Shadow.pyi stub file. - -------------------------------------------------------------------- -Wed Jul 19 12:23:38 UTC 2023 - Matej Cepl - -- Update to the official release of 3.0.0: - - The complete list is seriously long, so I would relegate you - to https://github.com/cython/cython/blob/master/CHANGES.rst - - The implemented PEPs are: - - PEP-3131: Supporting Non-ASCII Identifiers - - PEP-479: generator_stop (enabled by default for language_level=3) - - PEP-487: Simpler customisation of class creation - - PEP-563: Postponed Evaluation of Annotations - - PEP-570: Positional-Only Parameters - - PEP-572: Assignment Expressions (a.k.a. the walrus operator :=) - - PEP-590: Vectorcall protocol - - PEP-614: Relaxing Grammar Restrictions On Decorators - - Cython supports all released versions of Python from 2.7 to - 3.11 (and some experimental parts of 3.12) inclusive. - -------------------------------------------------------------------- -Mon Jul 10 19:03:16 UTC 2023 - Matej Cepl - -- Clean up SPEC file. - -------------------------------------------------------------------- -Sat Jul 8 20:26:51 UTC 2023 - Arun Persaud - -- update to version 0.29.36: - * Async generators lost their return value in PyPy. (Github issue - :issue:`5465`) - * The outdated C macro _PyGC_FINALIZED() is no longer used in - Py3.9+. - * The deprecated Py_OptimizeFlag is no longer used in Python - 3.9+. (Github issue :issue:`5343`) - * Using the global __debug__ variable but not assertions could lead - to compile errors. - * The broken HTML template support was removed from Tempita. (Github - issue :issue:`3309`) - -------------------------------------------------------------------- -Sat May 27 21:05:03 UTC 2023 - Dirk Müller - -- update to 0.29.35: - * A garbage collection enabled subtype of a non-GC extension - type could call into the deallocation function of the - super type with GC tracking enabled. This could lead - to crashes during deallocation if GC was triggered on the - type at the same time. - * Some C compile failures and crashes in CPython 3.12 were - resolved. - * ``except + nogil`` was syntactically not allowed. - * ``except +nogil`` (i.e. defining a C++ exception handling - function called ``nogil``) is now disallowed to prevent typos. - * A C compile failure in PyPy 3.10 was resolved. - * Cython modules now use PEP-489 multi-phase init by default in - PyPy 3.9 and later. - * API header files generated by different Cython versions can - now be included in the same C file. - * Function signatures containing a type like `tuple[()]` could - not be printed. - -------------------------------------------------------------------- -Fri Apr 21 12:20:26 UTC 2023 - Dirk Müller - -- add sle15_python_module_pythons (jsc#PED-68) - -------------------------------------------------------------------- -Thu Apr 13 22:40:49 UTC 2023 - Matej Cepl - -- Make calling of %{sle15modernpython} optional. - -------------------------------------------------------------------- -Mon Apr 3 19:58:40 UTC 2023 - Dirk Müller - -- update to 0.29.34: - * A refence leak of the for-loop list/tuple iterable was - resolved if the for-loop's ``else:`` branch executes - a ``break`` for an outer loop. - * Some C compile failures in CPython 3.12 were resolved. - * Some old usages of the deprecated Python ``imp`` module were - replaced with ``importlib``. - * Patch by Matúš Valo. (Github issue :issue:`5300`) - * Some issues with ``depfile`` generation were resolved. - * Patches by Eli Schwartz. (Github issues :issue:`5279`, - :issue:`5291`) - -------------------------------------------------------------------- -Sat Jan 7 12:27:04 UTC 2023 - Dirk Müller - -- update to 0.29.33: - * The ``cythonize`` and ``cython`` commands have a new option ``-M`` / - ``--depfile`` to generate ``.dep`` dependency files for the - compilation unit. This can be used by external build tools to - track these dependencies. - * ``const`` fused types could not be used with memory views. - * ``wstr`` usage was removed in Python 3.12 and later (PEP-623). - * A type check assertion for Cython functions failed in debug Python - builds. - * Fixed various compiler warnings. - * Fixed error when calculating complex powers of negative numbers. - * Corrected a small mis-formatting of exception messages on Python 2. - * The ``PyUnicode_AsUTF8AndSize()`` C-API function was missing from the - CPython declarations. - * A performance problem in the compiler was resolved when nesting - conditional expressions. - * Test suite problems with recent NumPy and CPython versions were - resolved. - * Other changes - * The undocumented, untested and apparently useless syntax - ``from somemodule cimport class/struct/union somename`` was deprecated - in anticipation of its removal in Cython 3. The type - modifier is not needed here and a plain ``cimport`` of the name will do. - * Properly disable generation of descriptor docstrings on PyPy since they - cause crashes. - It was previously disabled, but only accidentally via a typo. - * The ``cpow`` directive of Cython 3.0 is available as a no-op. - -------------------------------------------------------------------- -Wed Oct 26 01:33:21 UTC 2022 - Steve Kowalik - -- Remove leftover Python 2 gubbins. -- Stop using handrolled macros for install and update-alternatives, - switch to the provided ones. -- Update package names in rpmlintrc. - -------------------------------------------------------------------- -Tue Aug 2 11:51:50 UTC 2022 - Otto Hollmann - -- Update to 0.29.32: - - Bugs fixed: - * Revert "Using memoryview typed arguments in inner functions is now - rejected as unsupported." - * from module import * failed in 0.29.31 when using memoryviews -- Changes from 0.29.31: - - Features added: - * A new argument --module-name was added to the cython command to provide - the (one) exact target module name from the command line. - - Bugs fixed: - * Use importlib.util.find_spec() instead of the deprecated - importlib.find_loader() function when setting up the package path at - import-time. - * Require the C compiler to support the two-arg form of va_start on - Python 3.10 and higher. - * Make fused_type subscriptable in Shadow.py. - * Fix the incorrect code generation of the target type in bytearray loops. - * Atomic refcounts for memoryviews were not used on some GCC versions by - accident. - * Silence some GCC -Wconversion warnings in C utility code. - * Tuple multiplication was ignored in expressions such as [*(1,) * 2]. - * Calling append methods on extension types could fail to find the method in - some cases. - * Ensure that object buffers (e.g. ndarray[object, ndim=1]) containing NULL - pointers are safe to use, returning None instead of the NULL pointer. - * Using memoryview typed arguments in inner functions is now rejected as - unsupported. - * Compilation could fail on systems (e.g. FIPS) that block MD5 checksums at - runtime. - * Experimental adaptations for the CPython "nogil" fork was added. Note that - there is no official support for this in Cython 0.x. - -------------------------------------------------------------------- -Wed May 18 08:35:39 UTC 2022 - Paolo Stivanin - -- update to 0.29.30: - * Avoid acquiring the GIL at the end of nogil functions. This change - was backported in order to avoid generating wrong C code that - would trigger C compiler warnings with tracing support enabled. - * Function definitions in finally: clauses were not correctly generated. - * A case where C-API functions could be called with a live exception - set was fixed. - * Cython now correctly generates Python methods for both the provided - regular and reversed special numeric methods of extension types. - * The C union type in pure Python mode mishandled some field names. - -------------------------------------------------------------------- -Sun Mar 20 20:33:02 UTC 2022 - Dirk Müller - -- update to 0.29.28: - * Due to backwards incompatible changes in CPython 3.11a4, the feature flags - ``CYTHON_FAST_THREAD_STATE`` and ``CYTHON_USE_EXC_INFO_STACK`` are now disabled - in Python 3.11 and later. They are enabled again in Cython 3.0. - Patch by David Woods. (Github issue #4610) - * A C compiler warning in older PyPy versions was resolved. - Patch by Matti Picus. (Github issue #4236) - -------------------------------------------------------------------- -Wed Feb 2 17:54:50 UTC 2022 - Matej Cepl - -- Make the running the test suite conditional (default - off). Seven hours of running it is just too much. - -------------------------------------------------------------------- -Mon Jan 31 20:31:01 UTC 2022 - Matej Cepl - -- Enable running of the test suite. - -------------------------------------------------------------------- -Mon Jan 31 13:46:21 UTC 2022 - Paolo Stivanin - -- update to 0.29.27: - * The ``cythonize`` command has a new option ``-M`` to generate ``.dep`` dependency - files for the compilation unit. This can be used by external build tools to track - these dependencies. - * Calls to ``range()`` with more than three arguments did not fail. - * Some C compiler warnings about missing type struct initialisers in Py3.10 were resolved. - * Cython no longer warns about using OpenMP 3.0 features since they are now - considered generally available. - -------------------------------------------------------------------- -Tue Jan 4 15:59:48 UTC 2022 - Dirk Müller - -- update to 0.29.26: - * An incompatibility with CPython 3.11.0a3 was resolved. - * The ``in`` operator failed on literal lists with starred - expressions. - * A C compiler warning in PyPy about a missing struct field - initialisation was resolved. - -------------------------------------------------------------------- -Mon Dec 6 20:16:04 UTC 2021 - Dirk Müller - -- update to 0.29.25: - * Several incompatibilities with CPython 3.11 were resolved. - * Some C compiler warnings were resolved. - * C++ ``std::move()`` should only be used automatically in MSVC versions that support it. - * The ``Py_hash_t`` type failed to accept arbitrary "index" values. - * Avoid copying unaligned 16-bit values since some platforms require them to be aligned. - Use memcpy() instead to let the C compiler decide how to do it. - * Cython crashed on invalid truthiness tests on C++ types without ``operator bool``. - * The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect. - -------------------------------------------------------------------- -Wed Jul 14 08:28:08 UTC 2021 - Paolo Stivanin - -- Update to 0.29.24: - * Inline functions in pxd files that used memory views could lead to invalid - C code if the module that imported from them does not use memory views. - * Several declarations in ``libcpp.string`` were added and corrected. - * Pickling unbound Cython compiled methods failed. - * The tracing code was adapted to work with CPython 3.10. - * The optimised ``in`` operator failed on unicode strings in Py3.9 and later - that were constructed from an external ``wchar_t`` source. - Also, related C compiler warnings about deprecated C-API usage were resolved. - * Some compiler crashes were resolved. - * An incorrect warning about 'unused' generator expressions was removed. - * The attributes ``gen.gi_frame`` and ``coro.cr_frame`` of Cython compiled - generators and coroutines now return an actual frame object for introspection, - instead of ``None``. -- Drop cython_use_imgmath.patch - -------------------------------------------------------------------- -Wed Apr 21 21:19:17 UTC 2021 - Dirk Müller - -- update to 0.29.23: - * Some problems with Python 3.10 were resolved. - Patches by Victor Stinner and David Woods. (Github issues #4046, #4100) - * An incorrect "optimisation" was removed that allowed changes to a keyword - dict to leak into keyword arguments passed into a function. - Patch by Peng Weikang. (Github issue #3227) - * Multiplied str constants could end up as bytes constants with language_level=2. - Patch by Alphadelta14 and David Woods. (Github issue #3951) - * ``PY_SSIZE_T_CLEAN`` does not get defined any more if it is already defined. - Patch by Andrew Jones. (Github issue #4104) - -------------------------------------------------------------------- -Tue Feb 23 07:22:13 UTC 2021 - Paolo Stivanin - -- Update to 0.29.22 - * Some declarations were added to the provided pxd includes. - Patches by Zackery Spytz and John Kirkham. - (Github issues #3811, #3882, #3899, #3901) - * A crash when calling certain functions in Py3.9 and later was resolved. - (Github issue #3917) - * ``const`` memory views of structs failed to compile. - (Github issue #2251) - * ``const`` template declarations could not be nested. - Patch by Ashwin Srinath. (Github issue #1355) - * The declarations in the ``cpython.pycapsule`` module were missing their - ``const`` modifiers and generated incorrect C code. - Patch by Warren Weckesser. (Github issue #3964) - * Casts to memory views failed for fused dtypes. - Patch by David Woods. (Github issue #3881) - * ``repr()`` was assumed to return ``str`` instead of ``unicode`` - with ``language_level=3`` - * Calling ``cpdef`` functions from cimported modules crashed the compiler. - Patch by David Woods. (Github issue #4000) - * Cython no longer validates the ABI size of the NumPy classes - it compiled against. - * A C compiler warning about enum value casting was resolved in GCC. - (Github issue #2749) - * Coverage reporting in the annotated HTML file failed in Py3.9. - Patch by Nick Pope. (Github issue #3865) - * The embedding code now reports Python errors as exit status. - * Long type declarations could lead to (harmless) random changes in the - C file when used in auto-generated Python wrappers or pickled classes. - -------------------------------------------------------------------- -Wed Jul 8 22:36:13 UTC 2020 - Ondřej Súkup - -- Update TO 0.29.21 - * Fix a regression in 0.29.20 where __div__ failed to be found in extension types - * Fix a regression in 0.29.20 where a call inside of a finally clause could - fail to compile - * Zero-sized buffers could fail to validate as C/Fortran-contiguous. - * exec() did not allow recent Python syntax features in Py3.8+ - due to https://bugs.python.org/issue35975 - * Binding staticmethods of Cython functions were not behaving like - Python methods in Py3 - * Pythran calls to NumPy methods no longer generate useless method lookup code. - * The PyUnicode_GET_LENGTH() macro was missing from the cpython.* declarations - * The deprecated PyUnicode_*() C-API functions are no longer used, except - for Unicode strings that contain lone surrogates. Unicode strings that - contain non-BMP characters or surrogate pairs now generate different C - code on 16-bit Python 2.x Unicode deployments (such as MS-Windows). - Generating the C code on Python 3.x is recommended in this case - * Some template parameters were missing from the C++ std::unordered_map declaration - * Several internal code generation issues regarding temporary variables were resolved - -------------------------------------------------------------------- -Thu Jun 11 06:30:55 UTC 2020 - Paolo Stivanin - -- Update to 0.29.20 - * Nested try-except statements with multiple return statements - could crash due to incorrect deletion of the except as target variable. - * The @classmethod decorator no longer rejects unknown input from other decorators. - * Fused types could leak into unrelated usages. Patch by David Woods. - * Now uses Py_SET_SIZE() and Py_SET_REFCNT() in Py3.9+ to avoid - low-level write access to these object field - * The built-in abs() function could lead to undefined behaviour when used on - the negative-most value of a signed C integer type - * Usages of sizeof() and typeid() on uninitialised variables no longer produce a warning - * The C++ typeid() function was allowed in C mode - * The error position reported for errors found in f-strings was misleading - * The new c_api_binop_methods directive was added for forward compatibility, - but can only be set to True (the current default value). It can be disabled in Cython 3.0 - - -------------------------------------------------------------------- -Thu May 21 15:16:20 UTC 2020 - Paolo Stivanin - -- Update to 0.29.19 - * Exception position reporting could run into race conditions on threaded code. - It now uses function-local variables again. - * Error handling early in the module init code could lead to a crash. - * Error handling in cython.array creation was improved to avoid calling C-API - functions with an error held. - * A memory corruption was fixed when garbage collection was triggered during - calls to PyType_Ready() of extension type subclasses. (Github issue #3603) - * Memory view slicing generated unused error handling code which could negatively - impact the C compiler optimisations for parallel OpenMP code etc. - Also, it is now helped by static branch hints. (Github issue #2987) - * Cython's built-in OpenMP functions were not translated inside of call arguments. - Original patch by Celelibi and David Woods. (Github issue #3594) - * Complex buffer item types of structs of arrays could fail to validate. - * Decorators were not allowed on nested async def functions. - * C-tuples could use invalid C struct casting. Patch by MegaIng. - * Optimised %d string formatting into f-strings failed on float values. - * Optimised aligned string formatting (%05s, %-5s) failed. - * Three missing timedelta access macros were added in cpython.datetime. - * The signature of the NumPy C-API function PyArray_SearchSorted() was fixed - -------------------------------------------------------------------- -Mon May 4 07:29:52 UTC 2020 - Johannes Grassler - -- update to 0.29.17 - * std::move() is now available from libcpp.utility. - * The @cython.binding decorator is available in Python code. - -------------------------------------------------------------------- -Fri Apr 17 08:10:03 UTC 2020 - Marketa Calabkova - -- update to 0.29.16 - * Temporary internal variables in nested prange loops could leak into other - threads. Patch by Frank Schlimbach. (Github issue #3348) - * Default arguments on fused functions could crash. - Patch by David Woods. (Github issue #3370) - * C-tuples declared in ``.pxd`` files could generate incomplete C code. - Patch by Kirk Meyer. (Github issue #1427) - * Fused functions were not always detected and optimised as Cython - implemented functions. - Patch by David Woods. (Github issue #3384) - * Valid Python object concatenation of (iterable) strings to non-strings - could fail with an exception. - Patch by David Woods. (Github issue #3433) - * Using C functions as temporary values lead to invalid C code. - Original patch by David Woods. (Github issue #3418) - * Fix an unhandled C++ exception in comparisons. - Patch by David Woods. (Github issue #3361) - * Fix deprecated import of "imp" module. - Patch by Matti Picus. (Github issue #3350) - * Fix compatibility with Pythran 0.9.6 and later. - Patch by Serge Guelton. (Github issue #3308) - * The ``_Py_PyAtExit()`` function in ``cpython.pylifecycle`` was misdeclared. - Patch by Zackery Spytz. (Github issue #3382) - * Several missing declarations in ``cpython.*`` were added. - Patches by Zackery Spytz. (Github issue #3452, #3421, #3411, #3402) - * A declaration for ``libc.math.fpclassify()`` was added. - Patch by Zackery Spytz. (Github issue #2514) - * Avoid "undeclared" warning about automatically generated pickle methods. - Patch by David Woods. (Github issue #3353) - * Avoid C compiler warning about unreachable code in ``prange()``. - * Some C compiler warnings in PyPy were resolved. - Patch by Matti Picus. (Github issue #3437) - -------------------------------------------------------------------- -Tue Feb 18 16:45:37 UTC 2020 - Ondřej Súkup - -- update to 0.29.15 - * Crash when returning a temporary Python object from an async-def function. - * Crash when using **kwargs in generators. - * Double reference free in __class__ cell handling for super() calls. - * Compile error when using *args as Python class bases. - * Fixed C name collision in the auto-pickle code - * Deprecated import failed in Python 3.9 - -------------------------------------------------------------------- -Sat Nov 16 16:44:06 UTC 2019 - Arun Persaud - -- update to version 0.29.14: - * Bugs fixed - + The generated code failed to initialise the tp_print slot in - CPython 3.8. Patches by Pablo Galindo and Orivej Desh (Github - issues #3171, #3201). - + ? for bool was missing from the supported NumPy dtypes. Patch by - Max Klein. (Github issue #2675) - + await was not allowed inside of f-strings. Patch by Dmitro - Getz. (Github issue #2877) - + Coverage analysis failed for projects where the code resides in - separate source sub-directories. Patch by Antonio - Valentino. (Github issue #1985) - + An incorrect compiler warning was fixed in automatic C++ string - conversions. Patch by Gerion Entrup. (Github issue #3108) - + Error reports in the Jupyter notebook showed unhelpful stack - traces. Patch by Matthew Edwards (Github issue #3196). - + Python.h is now also included explicitly from public header - files. (Github issue #3133). - + Distutils builds with --parallel did not work when using - Cython's deprecated build_ext command. Patch by Alphadelta14 - (Github issue #3187). - * Other changes - + The PyMemoryView_*() C-API is available in - cpython.memoryview. Patch by Nathan Manville. (Github issue - #2541) - -------------------------------------------------------------------- -Fri Jul 26 17:36:50 CEST 2019 - Matej Cepl - -- Update to 0.29.13: - - A reference leak for None was fixed when converting - a memoryview to a Python object. (Github issue #3023) - - The declaration of PyGILState_STATE in cpython.pystate was - unusable. Patch by Kirill Smelkov. (Github issue #2997) - - The declarations in posix.mman were extended. Patches by - Kirill Smelkov. (Github issues #2893, #2894, #3012) - -------------------------------------------------------------------- -Sun Jul 21 16:56:52 UTC 2019 - Arun Persaud - -- update to version 0.29.12: - * Fix compile error in CPython 3.8b2 regarding the PyCode_New() - signature. (Github issue #3031) - * Fix a C compiler warning about a missing int downcast. (Github - issue #3028) - * Fix reported error positions of undefined builtins and - constants. Patch by Orivej Desh. (Github issue #3030) - * A 32 bit issue in the Pythran support was resolved. Patch by Serge - Guelton. (Github issue #3032) - -------------------------------------------------------------------- -Sat Jul 6 21:26:09 UTC 2019 - Arun Persaud - -- update to version 0.29.11: - * Bugs fixed - + Fix compile error in CPython 3.8b2 regarding the PyCode_New() - signature. Patch by Nick Coghlan. (Github issue #3009) - + Invalid C code generated for lambda functions in cdef - methods. Patch by Josh Tobin. (Github issue #2967) - + Support slice handling in newer Pythran versions. Patch by Serge - Guelton. (Github issue #2989) - + A reference leak in power-of-2 calculation was fixed. Patch by - Sebastian Berg. (Github issue #3022) - + The search order for include files was changed. Previously it - was include_directories, Cython/Includes, sys.path. Now it is - include_directories, sys.path, Cython/Includes. This was done to - allow third-party *.pxd files to override the ones in - Cython. Original patch by Matti Picus. (Github issue #2905) - + Setting language_level=2 in a file did not work if - language_level=3 was enabled globally before. Patch by Jeroen - Demeyer. (Github issue #2791) - -------------------------------------------------------------------- -Wed Jun 12 09:42:55 UTC 2019 - Tomáš Chvátal - -- Say goodbye to -doc subpackage as the documentation is online - and does not build with latest sphinx releases (even in master - at the moment). -- The testing in -doc spec was disabled anyway and if needed we - will reintroduce it as a multibuild - -------------------------------------------------------------------- -Mon Jun 3 13:37:55 UTC 2019 - Ondřej Súkup - -- update to 0.29.10 - * Fix compile errors in CPython 3.8b1 due to the new "tp_vectorcall" slots. - * Remove an incorrect cast when using true-division in C++ operations. - * C compile errors with CPython 3.8 were resolved. - * Python tuple constants that compare equal but have different item types - could incorrectly be merged into a single constant. - * Non-ASCII characters in unprefixed strings could crash the compiler - when used with language level 3str - * Starred expressions in %-formatting tuples could fail to compile for unicode strings - * Passing Python class references through cython.inline() was broken. - -------------------------------------------------------------------- -Tue Apr 16 09:26:50 UTC 2019 - Ondřej Súkup - -- update to 0.29.7 - * Crash when the shared Cython config module gets unloaded and another - Cython module reports an exceptions. Cython now makes sure it keeps - an owned reference to the module - * Resolved a C89 compilation problem when enabling the fast-gil sharing feature. - * Coverage reporting did not include the signature line of cdef functions - * Casting a GIL-requiring function into a nogil function now issues a warning - * Generators and coroutines were missing their return type annotation - -------------------------------------------------------------------- -Tue Apr 2 16:08:29 UTC 2019 - Todd R - -- Add cython_use_imgmath.patch - The pngmath Sphinx extension has been removed. Use imgmath instead. - See: gh#cython/cython#2818 - -------------------------------------------------------------------- -Thu Feb 28 15:30:08 UTC 2019 - Ondřej Súkup - -- update to 0.29.6 - * Fix a crash when accessing the __kwdefaults__ special attribute of fused functions. - * Fix the parsing of buffer format strings that contain numeric sizes, which - could lead to incorrect input rejections. - * Avoid a C #pragma in old gcc versions that was only added in GCC 4.6. - * Auto-encoding of Unicode strings to UTF-8 C/C++ strings failed in Python 3, - even though the default encoding there is UTF-8. - * Crash when defining a Python subclass of an extension type and repeatedly - calling a cpdef method on it. - * Compiler crash when prange() loops appear inside of with-statements. - * Some C compiler warnings were resolved. - * Python conversion of C++ enums failed in 0.29. - -------------------------------------------------------------------- -Tue Feb 5 22:17:38 UTC 2019 - Todd R - -- Update to 0.29.4 - * Division of numeric constants by a runtime value of 0 could fail to raise a - ``ZeroDivisionError``. (Github issue #2820) - -------------------------------------------------------------------- -Sun Jan 20 04:34:42 UTC 2019 - Arun Persaud - -- specfile: - * update copyright year - -- update to version 0.29.3: - * Some C code for memoryviews was generated in a non-deterministic - order. Patch by Martijn van Steenbergen. (Github issue #2779) - * C89 compatibility was accidentally lost since 0.28. Patches by - gastineau and true-pasky. (Github issues #2778, #2801) - * A C compiler cast warning was resolved. Patch by Michael - Buesch. (Github issue #2774) - * An compilation failure with complex numbers under MSVC++ was - resolved. (Github issue #2797) - * Coverage reporting could fail when modules were moved around after - the build. Patch by Wenjun Si. (Github issue #2776) - -- changes from version 0.29.2 : - * The code generated for deduplicated constants leaked some - references. (Github issue #2750) - * The declaration of sigismember() in libc.signal was - corrected. (Github issue #2756) - * Crashes in compiler and test runner were fixed. (Github issue - #2736, #2755) - * A C compiler warning about an invalid safety check was - resolved. (Github issue #2731) - -------------------------------------------------------------------- -Thu Dec 6 09:45:54 UTC 2018 - ncutler@suse.com - -- revert to version 0.28.5 to restore support for subinterpreters - needed by Ceph - stopgap measure until issue can be addressed - upstream (bsc#1118611) - -------------------------------------------------------------------- -Sat Dec 1 18:24:55 UTC 2018 - Arun Persaud - -- update to version 0.29.1: - * Bugs fixed - + Extensions compiled with MinGW-64 under Windows could - misinterpret integer objects larger than 15 bit and return - incorrect results. (Github issue #2670) - + Cython no longer requires the source to be writable when copying - its data into a memory view slice. Patch by Andrey - Paramonov. (Github issue #2644) - + Line tracing of try-statements generated invalid C code. (Github - issue #2274) - + When using the warn.undeclared directive, Cython's own code - generated warnings that are now fixed. Patch by Nicolas - Pauss. (Github issue #2685) - + Cython's memoryviews no longer require strides for setting the - shape field but only the PyBUF_ND flag to be set. Patch by John - Kirkham. (Github issue #2716) - + Some C compiler warnings about unused memoryview code were - fixed. Patch by Ho Cheuk Ting. (Github issue #2588) - + A C compiler warning about implicit signed/unsigned conversion - was fixed. (Github issue #2729) - + Assignments to C++ references returned by operator[] could fail - to compile. (Github issue #2671) - + The power operator and the support for NumPy math functions were - fixed in Pythran expressions. Patch by Serge Guelton. (Github - issues #2702, #2709) - + Signatures with memory view arguments now show the expected type - when embedded in docstrings. Patch by Matthew Chan and Benjamin - Weigel. (Github issue #2634) - + Some from ... cimport ... constructs were not correctly - considered when searching modified dependencies in cythonize() - to decide whether to recompile a module. Patch by Kryštof - Pilnáček. (Github issue #2638) - + A struct field type in the cpython.array declarations was - corrected. Patch by John Kirkham. (Github issue #2712) - -------------------------------------------------------------------- -Wed Oct 17 15:29:49 UTC 2018 - Arun Persaud - -- update to version 0.29: - * Features added - + PEP-489 multi-phase module initialisation has been enabled - again. Module reloads in other subinterpreters raise an - exception to prevent corruption of the static module state. - + A set of mypy compatible PEP-484 declarations were added for - Cython's C data types to integrate with static analysers in - typed Python code. They are available in the Cython/Shadow.pyi - module and describe the types in the special cython module that - can be used for typing in Python code. Original patch by Julian - Gethmann. (Github issue #1965) - + Memoryviews are supported in PEP-484/526 style type - declarations. (Github issue #2529) - + @cython.nogil is supported as a C-function decorator in Python - code. (Github issue #2557) - + Raising exceptions from nogil code will automatically acquire - the GIL, instead of requiring an explicit with gil block. - + C++ functions can now be declared as potentially raising both - C++ and Python exceptions, so that Cython can handle both - correctly. (Github issue #2615) - + cython.inline() supports a direct language_level keyword - argument that was previously only available via a directive. - + A new language level name 3str was added that mostly corresponds - to language level 3, but keeps unprefixed string literals as - type 'str' in both Py2 and Py3, and the builtin 'str' type - unchanged. This will become the default in the next Cython - release and is meant to help user code a) transition more easily - to this new default and b) migrate to Python 3 source code - semantics without making support for Python 2.x difficult. - + In CPython 3.6 and later, looking up globals in the module dict - is almost as fast as looking up C globals. (Github issue #2313) - + For a Python subclass of an extension type, repeated method - calls to non-overridden cpdef methods can avoid the attribute - lookup in Py3.6+, which makes them 4x faster. (Github issue - #2313) - + (In-)equality comparisons of objects to integer literals are - faster. (Github issue #2188) - + Some internal and 1-argument method calls are faster. - + Modules that cimport many external extension types from other - Cython modules execute less import requests during module - initialisation. - + Constant tuples and slices are deduplicated and only created - once per module. (Github issue #2292) - + The coverage plugin considers more C file extensions such as .cc - and .cxx. (Github issue #2266) - + The cythonize command accepts compile time variable values (as - set by DEF) through the new -E option. Patch by Jerome - Kieffer. (Github issue #2315) - + pyximport can import from namespace packages. Patch by Prakhar - Goel. (Github issue #2294) - + Some missing numpy and CPython C-API declarations were - added. Patch by John Kirkham. (Github issues #2523, #2520, - #2537) - + Declarations for the pylifecycle C-API functions were added in a - new .pxd file cpython.pylifecycle. - + The Pythran support was updated to work with the latest Pythran - 0.8.7. Original patch by Adrien Guinet. (Github issue #2600) - + %a is included in the string formatting types that are optimised - into f-strings. In this case, it is also automatically mapped - to %r in Python 2.x. - + New C macro CYTHON_HEX_VERSION to access Cython's version in the - same style as PY_HEX_VERSION. - + Constants in libc.math are now declared as const to simplify - their handling. - + An additional check_size clause was added to the ctypedef class - name specification to allow suppressing warnings when importing - modules with backwards-compatible PyTypeObject size - changes. Patch by Matti Picus. (Github issue #2627) - * Bugs fixed - + The exception handling in generators and coroutines under - CPython 3.7 was adapted to the newly introduced exception - stack. Users of Cython 0.28 who want to support Python 3.7 are - encouraged to upgrade to 0.29 to avoid potentially incorrect - error reporting and tracebacks. (Github issue #1958) - + Crash when importing a module under Stackless Python that was - built for CPython. Patch by Anselm Kruis. (Github issue #2534) - + 2-value slicing of typed sequences failed if the start or stop - index was None. Patch by Christian Gibson. (Github issue #2508) - + Multiplied string literals lost their factor when they are part - of another constant expression (e.g. 'x' * 10 + 'y' => 'xy'). - + String formatting with the '%' operator didn't call the special - __rmod__() method if the right side is a string subclass that - implements it. (Python issue 28598) - + The directive language_level=3 did not apply to the first token - in the source file. (Github issue #2230) - + Overriding cpdef methods did not work in Python subclasses with - slots. Note that this can have a performance impact on calls - from Cython code. (Github issue #1771) - + Fix declarations of builtin or C types using strings in pure - python mode. (Github issue #2046) - + Generator expressions and lambdas failed to compile in @cfunc - functions. (Github issue #459) - + Global names with const types were not excluded from star-import - assignments which could lead to invalid C code. (Github issue - #2621) - + Several internal function signatures were fixed that lead to - warnings in gcc-8. (Github issue #2363) - + The numpy helper functions set_array_base() and get_array_base() - were adapted to the current numpy C-API recommendations. Patch - by Matti Picus. (Github issue #2528) - + Some NumPy related code was updated to avoid deprecated API - usage. Original patch by jbrockmendel. (Github issue #2559) - + Several C++ STL declarations were extended and corrected. Patch - by Valentin Valls. (Github issue #2207) - + C lines of the module init function were unconditionally not - reported in exception stack traces. Patch by Jeroen - Demeyer. (Github issue #2492) - + When PEP-489 support is enabled, reloading the module overwrote - any static module state. It now raises an exception instead, - given that reloading is not actually supported. - + Object-returning, C++ exception throwing functions were not - checking that the return value was non-null. Original patch by - Matt Wozniski (Github Issue #2603) - + The source file encoding detection could get confused if the - c_string_encoding directive appeared within the first two - lines. (Github issue #2632) - + Cython generated modules no longer emit a warning during import - when the size of the NumPy array type is larger than what was - found at compile time. Instead, this is assumed to be a - backwards compatible change on NumPy side. - * Other changes - + Cython now emits a warning when no language_level (2, 3 or - '3str') is set explicitly, neither as a cythonize() option nor - as a compiler directive. This is meant to prepare the transition - of the default language level from currently Py2 to Py3, since - that is what most new users will expect these days. The future - default will, however, not enforce unicode literals, because - this has proven a major obstacle in the support for both Python - 2.x and 3.x. The next major release is intended to make this - change, so that it will parse all code that does not request a - specific language level as Python 3 code, but with str - literals. The language level 2 will continue to be supported for - an indefinite time. - + The documentation was restructured, cleaned up and examples are - now tested. The NumPy tutorial was also rewritten to simplify - the running example. Contributed by Gabriel de - Marmiesse. (Github issue #2245) - + Cython compiles less of its own modules at build time to reduce - the installed package size to about half of its previous - size. This makes the compiler slightly slower, by about 5-7%. - -------------------------------------------------------------------- -Sat Aug 11 16:12:10 UTC 2018 - arun@gmx.de - -- update to version 0.28.5: - * The discouraged usage of GCC's attribute optimize("Os") was - replaced by the similar attribute cold to reduce the code impact - of the module init functions. (Github issue #2494) - * A reference leak in Py2.x was fixed when comparing str to unicode - for equality. - -------------------------------------------------------------------- -Thu Jul 12 03:33:30 UTC 2018 - arun@gmx.de - -- update to version 0.28.4: - * Bugs fixed - + Reallowing tp_clear() in a subtype of an @no_gc_clear extension - type generated an invalid C function call to the (non-existent) - base type implementation. (Github issue #2309) - + Exception catching based on a non-literal (runtime) tuple could - fail to match the exception. (Github issue #2425) - + Compile fix for CPython 3.7.0a2. (Github issue #2477) - -------------------------------------------------------------------- -Sun May 27 16:30:35 UTC 2018 - arun@gmx.de - -- update to version 0.28.3: - * Set iteration was broken in non-CPython since 0.28. - * UnicodeEncodeError in Py2 when %s formatting is optimised for - unicode strings. (Github issue #2276) - * Work around a crash bug in g++ 4.4.x by disabling the size - reduction setting of the module init function in this - version. (Github issue #2235) - -------------------------------------------------------------------- -Wed Apr 18 02:15:50 UTC 2018 - toddrme2178@gmail.com - -- Version update to 0.28.2 - + Features added - * ``abs()`` is faster for Python long objects. - * The C++11 methods ``front()`` and ``end()`` were added to the declaration of - ``libcpp.string``. Patch by Alex Huszagh. (Github issue #2123) - * The C++11 methods ``reserve()`` and ``bucket_count()`` are declared for - ``std::unordered_map``. Patch by Valentin Valls. (Github issue #2168) - + Bugs fixed - * The copy of a read-only memoryview was considered read-only as well, whereas - a common reason to copy a read-only view is to make it writable. The result - of the copying is now a writable buffer by default. - (Github issue #2134) - * The ``switch`` statement generation failed to apply recursively to the body of - converted if-statements. - * ``NULL`` was sometimes rejected as exception return value when the returned - type is a fused pointer type. - Patch by Callie LeFave. (Github issue #2177) - * Fixed compatibility with PyPy 5.11. - Patch by Matti Picus. (Github issue #2165) - + Other changes - * The NumPy tutorial was rewritten to use memoryviews instead of the older - buffer declaration syntax. - Contributed by Gabriel de Marmiesse. (Github issue #2162) - -------------------------------------------------------------------- -Mon Mar 19 13:23:58 UTC 2018 - tchvatal@suse.com - -- Version update to 0.28.1: - * PyFrozenSet_New() was accidentally used in PyPy where it is lacking - from the C-API. - * Assignment between some C++ templated types were incorrectly rejected - when the templates mix const with ctypedef. (Github issue #2148) - * Undeclared C++ no-args constructors in subclasses could make the - compilation fail if the base class constructor was declared without - nogil. (Github issue #2157) - * Bytes %-formatting inferred basestring (bytes or unicode) as result type - in some cases where bytes would have been safe to infer. (Github issue #2153) - * None was accidentally disallowed as typed return value of dict.pop(). - -------------------------------------------------------------------- -Sat Mar 17 00:30:56 UTC 2018 - arun@gmx.de - -- update to version 0.28: - * Features added - + Cdef classes can now multiply inherit from ordinary Python - classes. (The primary base must still be a c class, possibly - object, and the other bases must not be cdef classes.) - + Type inference is now supported for Pythran compiled NumPy - expressions. Patch by Nils Braun. (Github issue #1954) - + The const modifier can be applied to memoryview declarations to - allow read-only buffers as input. (Github issues #1605, #1869) - + C code in the docstring of a cdef extern block is copied - verbatimly into the generated file. Patch by Jeroen - Demeyer. (Github issue #1915) - + When compiling with gcc, the module init function is now tuned - for small code size instead of whatever compile flags were - provided externally. Cython now also disables some code - intensive optimisations in that function to further reduce the - code size. (Github issue #2102) - + Decorating an async coroutine with @cython.iterable_coroutine - changes its type at compile time to make it iterable. While this - is not strictly in line with PEP-492, it improves the - interoperability with old-style coroutines that use yield from - instead of await. - + The IPython magic has preliminary support for - JupyterLab. (Github issue #1775) - + The new TSS C-API in CPython 3.7 is supported and has been - backported. Patch by Naotoshi Seo. (Github issue #1932) - + Cython knows the new Py_tss_t type defined in PEP-539 and - automatically initialises variables declared with that type to - Py_tss_NEEDS_INIT, a value which cannot be used outside of - static assignments. - + The set methods .remove() and .discard() are optimised. Patch by - Antoine Pitrou. (Github issue #2042) - + dict.pop() is optimised. Original patch by Antoine - Pitrou. (Github issue #2047) - + Iteration over sets and frozensets is optimised. (Github issue - #2048) - + Safe integer loops (< range(2^30)) are automatically optimised - into C loops. - + alist.extend([a,b,c]) is optimised into sequential list.append() - calls for short literal sequences. - + Calls to builtin methods that are not specifically optimised - into C-API calls now use a cache that avoids repeated lookups of - the underlying C function. (Github issue #2054) - + Single argument function calls can avoid the argument tuple - creation in some cases. - + Some redundant extension type checks are avoided. - + Formatting C enum values in f-strings is faster, as well as some - other special cases. - + String formatting with the '%' operator is optimised into - f-strings in simple cases. - + Subscripting (item access) is faster in some cases. - + Some bytearray operations have been optimised similar to bytes. - + Some PEP-484/526 container type declarations are now considered - for loop optimisations. - + Indexing into memoryview slices with view[i][j] is now optimised - into view[i, j]. - + Python compatible cython.* types can now be mixed with type - declarations in Cython syntax. - + Name lookups in the module and in classes are faster. - + Python attribute lookups on extension types without instance - dict are faster. - + Some missing signals were added to libc/signal.pxd. Patch by - Jeroen Demeyer. (Github issue #1914) - + The warning about repeated extern declarations is now visible by - default. (Github issue #1874) - + The exception handling of the function types used by CPython's - type slot functions was corrected to match the de-facto standard - behaviour, so that code that uses them directly benefits from - automatic and correct exception propagation. Patch by Jeroen - Demeyer. (Github issue #1980) - + Defining the macro CYTHON_NO_PYINIT_EXPORT will prevent the - module init function from being exported as symbol, e.g. when - linking modules statically in an embedding setup. Patch by - AraHaan. (Github issue #1944) - * Bugs fixed - + If a module name is explicitly provided for an Extension() that - is compiled via cythonize(), it was previously ignored and - replaced by the source file name. It can now be used to override - the target module name, e.g. for compiling prefixed accelerator - modules from Python files. (Github issue #2038) - + The arguments of the num_threads parameter of parallel sections - were not sufficiently validated and could lead to invalid C - code. (Github issue #1957) - + Catching exceptions with a non-trivial exception pattern could - call into CPython with a live exception set. This triggered - incorrect behaviour and crashes, especially in CPython 3.7. - + The signature of the special __richcmp__() method was corrected - to recognise the type of the first argument as self. It was - previously treated as plain object, but CPython actually - guarantees that it always has the correct type. Note: this can - change the semantics of user code that previously relied on self - being untyped. - + Some Python 3 exceptions were not recognised as builtins when - running Cython under Python 2. - + Some async helper functions were not defined in the generated C - code when compiling simple async code. (Github issue #2075) - + Line tracing did not include generators and coroutines. (Github - issue #1949) - + C++ declarations for unordered_map were corrected. Patch by - Michael Schatzow. (Github issue #1484) - + Iterator declarations in C++ deque and vector were - corrected. Patch by Alex Huszagh. (Github issue #1870) - + The const modifiers in the C++ string declarations were - corrected, together with the coercion behaviour of string - literals into C++ strings. (Github issue #2132) - + Some declaration types in libc.limits were corrected. Patch by - Jeroen Demeyer. (Github issue #2016) - + @cython.final was not accepted on Python classes with an - @cython.cclass decorator. (Github issue #2040) - + Cython no longer creates useless and incorrect PyInstanceMethod - wrappers for methods in Python 3. Patch by Jeroen - Demeyer. (Github issue #2105) - + The builtin bytearray type could not be used as base type of - cdef classes. (Github issue #2106) - -------------------------------------------------------------------- -Tue Feb 20 11:25:47 UTC 2018 - tchvatal@suse.com - -- Export fno-strict-aliasing to CFLAGS - -------------------------------------------------------------------- -Mon Jan 29 00:23:03 UTC 2018 - mimi.vx@gmail.com - -- update to 0.27.3 -- big list of changes since 0.26.1 please see CHANGES.txt -- Also fixes bsc#1062237 - -------------------------------------------------------------------- -Mon Oct 2 22:02:54 UTC 2017 - jengelh@inai.de - -- Ensure neutrality of description. - -------------------------------------------------------------------- -Mon Dec 19 17:49:22 UTC 2016 - jmatejek@suse.com - -- update for multipython build - -------------------------------------------------------------------- -Fri Oct 28 12:40:24 UTC 2016 - toddrme2178@gmail.com - -- Update to version 0.25.1 - + Bugs fixed - * Fixes a bug with ``isinstance(o, Exception)`` (Github issue #1496). - * Fixes bug with ``cython.view.array`` missing utility code in some cases - (Github issue #1502). - + Other changes - * The distutils extension ``Cython.Distutils.build_ext`` has been reverted, - temporarily, to be ``old_build_ext`` to give projects time to migrate. - The new build_ext is available as ``new_build_ext``. - -------------------------------------------------------------------- -Wed Oct 26 14:55:49 UTC 2016 - toddrme2178@gmail.com - -- Fix source URL. - -------------------------------------------------------------------- -Wed Oct 26 01:36:12 UTC 2016 - toddrme2178@gmail.com - -- update to version 0.25: - + Features added - * def/cpdef methods of cdef classes benefit from Cython's internal function - implementation, which enables introspection and line profiling for them. - Implementation sponsored by Turbostream (www.turbostream-cfd.com). - * The distutils extension ``Cython.Distutils.build_ext`` has now been updated - to use cythonize which properly handles dependencies. The old extension can - still be found in ``Cython.Distutils.old_build_ext`` and is now deprecated. - * Calls to Python functions are faster, following the recent "FastCall" - optimisations that Victor Stinner implemented for CPython 3.6. - See https://bugs.python.org/issue27128 and related issues. - * The new METH_FASTCALL calling convention for PyCFunctions is supported - in CPython 3.6. See https://bugs.python.org/issue27810 - * C++ classes can now have typedef members. STL containers updated with - value_type. - * Support for bazel using a the pyx_library rule in //Tools:rules.bzl. - * Initial support for using Cython modules in Pyston. Patch by Daetalus. - * Dynamic Python attributes are allowed on cdef classes if an attribute - ``cdef dict __dict__`` is declared in the class. Patch by empyrical. - * Cython implemented C++ classes can make direct calls to base class methods. - Patch by empyrical. - * New directive ``cython.no_gc`` to fully disable GC for a cdef class. - Patch by Claudio Freire. - * Buffer variables are no longer excluded from ``locals()``. - Patch by da-woods. - * Building f-strings is faster, especially when formatting C integers. - * for-loop iteration over "std::string". - * ``libc/math.pxd`` provides ``e`` and ``pi`` as alias constants to simplify - usage as a drop-in replacement for Python's math module. - * Speed up cython.inline(). - * Binary lshift operations with small constant Python integers are faster. - * Some integer operations on Python long objects are faster in Python 2.7. - * Support for the C++ ``typeid`` operator. - + Significant Bugs fixed - * Division of complex numbers avoids overflow by using Smith's method. - * Some function signatures in ``libc.math`` and ``numpy.pxd`` were incorrect. - Pach by Michael Seifert. - + Other changes - * The "%%cython" IPython/jupyter magic now defaults to the language level of - the current jupyter kernel. The language level can be set explicitly with - "%%cython -2" or "%%cython -3". -- update to version 0.24.1: - * IPython cell magic was lacking a good way to enable Python 3 code - semantics. It can now be used as "%%cython -3". - * Follow a recent change in PEP 492 and CPython 3.5.1 that now - requires the __aiter__() method of asynchronous iterators to be a - simple def method instead of an async def method. - * Coroutines and generators were lacking the __module__ special - attribute. - * C++ std::complex values failed to auto-convert from and to Python - complex objects. - * Namespaced C++ types could not be used as memory view types due to - lack of name mangling. Patch by Ivan Smirnov. - * Assignments between identical C++ types that were declared with - differently typedefed template types could fail. - * Rebuilds could fail to evaluate dependency timestamps in C++ - mode. Patch by Ian Henriksen. - * Macros defined in the distutils compiler option do not require - values anymore. Patch by Ian Henriksen. - * Minor fixes for MSVC, Cygwin and PyPy. -- specfile: - * changed to https for source url - * updated source url to files.pythonhosted.org -- update to version 0.24: - * Features added - + PEP 498: Literal String Formatting (f-strings). Original patch - by Jelle Zijlstra. https://www.python.org/dev/peps/pep-0498/ - + PEP 515: Underscores as visual separators in number - literals. https://www.python.org/dev/peps/pep-0515/ - + Parser was adapted to some minor syntax changes in Py3.6, - e.g. https://bugs.python.org/issue9232 - + The embedded C code comments that show the original source code - can be discarded with the new directive - emit_code_comments=False. - + Cpdef enums are now first-class iterable, callable types in - Python. - + Ctuples can now be declared in pure Python code. - + Posix declarations for DLL loading and stdio extensions were - added. Patch by Lars Buitinck. - + The Py2-only builtins unicode(), xrange(), reduce() and long are - now also available in compile time DEF expressions when - compiling with Py3. - + Exception type tests have slightly lower overhead. This fixes - ticket 868. - + @property syntax fully supported in cdef classes, old syntax - deprecated. - + C++ classes can now be declared with default template - parameters. - * Bugs fixed - + C++ exceptions raised by overloaded C++ operators were not - always handled. Patch by Ian Henriksen. - + C string literals were previously always stored as non-const - global variables in the module. They are now stored as global - constants when possible, and otherwise as non-const C string - literals in the generated code that uses them. This improves - compatibility with strict C compiler options and prevents - non-const strings literals with the same content from being - incorrectly merged. - + Compile time evaluated str expressions (DEF) now behave in a - more useful way by turning into Unicode strings when compiling - under Python 3. This allows using them as intermediate values in - expressions. Previously, they always evaluated to bytes objects. - + isinf() declarations in libc/math.pxd and numpy/math.pxd now - reflect the actual tristate int return value instead of using - bint. - + Literal assignments to ctuples avoid Python tuple round-trips in - some more corner cases. - + Iteration over dict(...).items() failed to get optimised when - dict arguments included keyword arguments. - + cProfile now correctly profiles cpdef functions and methods. -- update to version 0.23.5: - * Compile errors and warnings in integer type conversion code. This - fixes ticket 877. Patches by Christian Neukirchen, Nikolaus Rath, - Ian Henriksen. - * Reference leak when "*args" argument was reassigned in closures. - * Truth-testing Unicode strings could waste time and memory in - Py3.3+. - * Return values of async functions could be ignored and replaced by - None. - * Compiler crash in CPython 3.6. - * Fix prange() to behave identically to range(). The end condition - was miscalculated when the range was not exactly divisible by the - step. - * Optimised all(genexpr)/any(genexpr) calls could warn about unused - code. This fixes ticket 876. -- Remove unneeded python-Cython-c++11.patch - -------------------------------------------------------------------- -Mon Feb 1 10:30:06 UTC 2016 - toddrme2178@gmail.com - -- update to version 0.23.4: - * Memory leak when calling Python functions in PyPy. - * Compilation problem with MSVC in C99-ish mode. - * Warning about unused values in a helper macro. -- update to version 0.23.3: - * Invalid C code for some builtin methods. This fixes ticket 856 - again. - * Incorrect C code in helper functions for PyLong conversion and - string decoding. This fixes ticket 863, ticket 864 and ticket - 865. Original patch by Nikolaus Rath. - * Large folded or inserted integer constants could use too small C - integer types and thus trigger a value wrap-around. - * The coroutine and generator types of Cython now also register - directly with the Coroutine and Generator ABCs in the - backports_abc module if it can be imported. This fixes ticket 870. -- update to version 0.23.2: - * Compiler crash when analysing some optimised expressions. - * Coverage plugin was adapted to coverage.py 4.0 beta 2. - * C++ destructor calls could fail when '&' operator is overwritten. - * Incorrect C literal generation for large integers in compile-time - evaluated DEF expressions and constant folded expressions. - * Byte string constants could end up as Unicode strings when - originating from compile-time evaluated DEF expressions. - * Invalid C code when caching known builtin methods. This fixes - ticket 860. - * ino_t in posix.types was not declared as unsigned. - * Declarations in libcpp/memory.pxd were missing operator!(). Patch - by Leo Razoumov. - * Static cdef methods can now be declared in .pxd files. -- update to version 0.23.1: - * Invalid C code for generators. This fixes ticket 858. - * Invalid C code for some builtin methods. This fixes ticket 856. - * Invalid C code for unused local buffer variables. This fixes - ticket 154. - * Test failures on 32bit systems. This fixes ticket 857. - * Code that uses "from xyz import *" and global C struct/union/array - variables could fail to compile due to missing helper - functions. This fixes ticket 851. - * Misnamed PEP 492 coroutine property cr_yieldfrom renamed to - cr_await to match CPython. - * Missing deallocation code for C++ object attributes in certain - extension class hierarchies. - * Crash when async coroutine was not awaited. - * Compiler crash on yield in signature annotations and default - argument values. Both are forbidden now. - * Compiler crash on certain constructs in finally clauses. - * Cython failed to build when CPython's pgen is installed. -- update to version 0.23: - * Features added - + PEP 492 (async/await) was implemented. See - https://www.python.org/dev/peps/pep-0492/ - + PEP 448 (Additional Unpacking Generalizations) was - implemented. See https://www.python.org/dev/peps/pep-0448/ - + Support for coverage.py 4.0+ can be enabled by adding the plugin - "Cython.Coverage" to the ".coveragerc" config file. - + Annotated HTML source pages can integrate (XML) coverage - reports. - + Tracing is supported in nogil functions/sections and module init - code. - + When generators are used in a Cython module and the module - imports the modules "inspect" and/or "asyncio", Cython enables - interoperability by patching these modules during the import to - recognise Cython's internal generator and coroutine types. This - can be disabled by C compiling the module with "-D - CYTHON_PATCH_ASYNCIO=0" or "-D CYTHON_PATCH_INSPECT=0" - + When generators or coroutines are used in a Cython module, their - types are registered with the Generator and Coroutine ABCs in - the collections or collections.abc stdlib module at import time - to enable interoperability with code that needs to detect and - process Python generators/coroutines. These ABCs were added in - CPython 3.5 and are available for older Python versions through - the backports_abc module on PyPI. See - https://bugs.python.org/issue24018 - + Adding/subtracting/dividing/modulus and equality comparisons - with constant Python floats and small integers are faster. - + Binary and/or/xor/rshift operations with small constant Python - integers are faster. - + When called on generator expressions, the builtins all(), any(), - dict(), list(), set(), sorted() and unicode.join() avoid the - generator iteration overhead by inlining a part of their - functionality into the for-loop. - + Keyword argument dicts are no longer copied on function entry - when they are not being used or only passed through to other - function calls (e.g. in wrapper functions). - + The PyTypeObject declaration in cpython.object was extended. - + The builtin type type is now declared as PyTypeObject in source, - allowing for extern functions taking type parameters to have the - correct C signatures. Note that this might break code that uses - type just for passing around Python types in typed - variables. Removing the type declaration provides a backwards - compatible fix. - + wraparound() and boundscheck() are available as no-ops in pure - Python mode. - + Const iterators were added to the provided C++ STL declarations. - + Smart pointers were added to the provided C++ STL - declarations. Patch by Daniel Filonik. - + NULL is allowed as default argument when embedding - signatures. This fixes ticket 843. - + When compiling with --embed, the internal module name is changed - to __main__ to allow arbitrary program names, including those - that would be invalid for modules. Note that this prevents reuse - of the generated C code as an importable module. - + External C++ classes that overload the assignment operator can - be used. Patch by Ian Henriksen. - + Support operator bool() for C++ classes so they can be used in - if statements. - * Bugs fixed - + Calling "yield from" from Python on a Cython generator that - returned a value triggered a crash in CPython. This is now being - worked around. See https://bugs.python.org/issue23996 - + Language level 3 did not enable true division (a.k.a. float - division) for integer operands. - + Functions with fused argument types that included a generic - 'object' fallback could end up using that fallback also for - other explicitly listed object types. - + Relative cimports could accidentally fall back to trying an - absolute cimport on failure. - + The result of calling a C struct constructor no longer requires - an intermediate assignment when coercing to a Python dict. - + C++ exception declarations with mapping functions could fail to - compile when pre-declared in .pxd files. - + cpdef void methods are now permitted. - + abs(cint) could fail to compile in MSVC and used sub-optimal - code in C++. Patch by David Vierra, original patch by Michael - Enßlin. - + Buffer index calculations using index variables with small C - integer types could overflow for large buffer sizes. Original - patch by David Vierra. - + C unions use a saner way to coerce from and to Python dicts. - + When compiling a module foo.pyx, the directories in sys.path are - no longer searched when looking for foo.pxd. Patch by Jeroen - Demeyer. - + Memory leaks in the embedding main function were fixed. Original - patch by Michael Enßlin. - + Some complex Python expressions could fail to compile inside of - finally clauses. - + Unprefixed 'str' literals were not supported as C varargs - arguments. - + Fixed type errors in conversion enum types to/from Python. Note - that this imposes stricter correctness requirements on enum - declarations. - * Other changes - + Changed mangling scheme in header files generated by cdef api - declarations. - + Installation under CPython 3.3+ no longer requires a pass of the - 2to3 tool. This also makes it possible to run Cython in Python - 3.3+ from a source checkout without installing it first. Patch - by Petr Viktorin. - + jedi-typer.py (in Tools/) was extended and renamed to - jedityper.py (to make it importable) and now works with and - requires Jedi 0.9. Patch by Tzer-jen Wei. - -------------------------------------------------------------------- -Thu Jan 28 12:09:56 UTC 2016 - rguenther@suse.com - -- Add python-Cython-c++11.patch to fix complex math testcase compile - with GCC 6 defaulting to C++14. (bnc#963974) - -------------------------------------------------------------------- -Wed Aug 26 17:11:12 UTC 2015 - ted.nokonechny@uregina.ca - -- "mangle" tests/run/cpdef_extern_func.pyx to allow package to build - for SLE_11_SP3 and SLE_11_SP4. - * cpdef const char* strchr(const char *haystack, int needle); - does not seem to match any from /usr/include/string.h - and fails for cpp tests via python runtests.py -vv - * cpdef_extern_func.pyx was not present in 0.21.1 - -------------------------------------------------------------------- -Wed Aug 19 15:23:19 UTC 2015 - bwiedemann@suse.com - -- Require python-devel for Python.h (bnc#942385) - -------------------------------------------------------------------- -Wed Jul 29 11:52:24 UTC 2015 - toddrme2178@gmail.com - -- Remove unneeded numpy dependency to avoid dependency loop. -- create dummy alternative to avoid 13.1's post-build-check bug -- specfile: - * fixing update_alternatives - -------------------------------------------------------------------- -Fri Jul 10 21:59:38 UTC 2015 - termim@gmail.com - -- Update to 0.22.1: - Bugs fixed - * Crash when returning values on generator termination. - * In some cases, exceptions raised during internal isinstance() - checks were not propagated. - * Runtime reported file paths of source files (e.g for profiling - and tracing) are now relative to the build root directory instead - of the main source file. - * Tracing exception handling code could enter the trace function with an - active exception set. - * The internal generator function type was not shared across modules. - * Comparisons of (inferred) ctuples failed to compile. - * Closures inside of cdef functions returning ``void`` failed to compile. - * Using ``const`` C++ references in intermediate parts of longer - expressions could fail to compile. - * C++ exception declarations with mapping functions could fail to compile - when pre-declared in .pxd files. - * C++ compilation could fail with an ambiguity error in recent MacOS-X - Xcode versions. - * C compilation could fail in pypy3. - * Fixed a memory leak in the compiler when compiling multiple modules. - * When compiling multiple modules, external library dependencies could - leak into later compiler runs. Fix by Jeroen Demeyer. This fixes - ticket 845. -- removed patch fix-32bit.patch as applied upstream - -------------------------------------------------------------------- -Wed Apr 22 14:05:18 UTC 2015 - mcihar@suse.cz - -- Use Source URL from cython.org - -------------------------------------------------------------------- -Wed Apr 22 11:52:03 UTC 2015 - mcihar@suse.cz - -- Add python-numpy as BuildRequires to have more complete test coverage - -------------------------------------------------------------------- -Wed Apr 22 11:01:47 UTC 2015 - mcihar@suse.cz - -- Fix doctests in 32-bit environment (fix-32bit.patch) - -------------------------------------------------------------------- -Wed Apr 22 09:10:30 UTC 2015 - mcihar@suse.cz - -- Update to 0.22: - Features added - * C functions can coerce to Python functions, which allows passing them - around as callable objects. - * C arrays can be assigned by value and auto-coerce from Python iterables - and to Python lists (and tuples). - * Extern C functions can now be declared as cpdef to export them to - the module's Python namespace. Extern C functions in pxd files export - their values to their own module, iff it exists. - * Anonymous C tuple types can be declared as (ctype1, ctype2, ...). - * PEP 479: turn accidental StopIteration exceptions that exit generators - into a RuntimeError, activated with future import "generator_stop". - See http://legacy.python.org/dev/peps/pep-0479/ - * Looping over ``reversed(range())`` is optimised in the same way as - ``range()``. Patch by Favian Contreras. - Bugs fixed - * Mismatching 'except' declarations on signatures in .pxd and .pyx files failed - to produce a compile error. - * Failure to find any files for the path pattern(s) passed into ``cythonize()`` - is now an error to more easily detect accidental typos. - * The ``logaddexp`` family of functions in ``numpy.math`` now has correct - declarations. - * In Py2.6/7 and Py3.2, simple Cython memory views could accidentally be - interpreted as non-contiguous by CPython, which could trigger a CPython - bug when copying data from them, thus leading to data corruption. - See CPython issues 12834 and 23349. - Other changes - * Preliminary support for defining the Cython language with a formal grammar. - To try parsing your files against this grammar, use the --formal_grammar directive. - Experimental. - * ``_`` is no longer considered a cacheable builtin as it could interfere with - gettext. - * Cythonize-computed metadata now cached in the generated C files. - -------------------------------------------------------------------- -Thu Feb 5 11:35:45 UTC 2015 - hpj@urpla.net - -- fix update-alternatives handling in a distribution backwards compatible way - -------------------------------------------------------------------- -Fri Jan 9 15:20:31 UTC 2015 - dimstar@opensuse.org - -- Re-enable test-suite. -- Add gcc-c++ BuildRequires: needed for the test-suite to be able - to pass. - -------------------------------------------------------------------- -Thu Jan 8 12:22:10 UTC 2015 - dimstar@opensuse.org - -- Fix usage of update-alternatives. - -------------------------------------------------------------------- -Thu Dec 18 10:48:28 UTC 2014 - p.drouand@gmail.com - -- Improve update-alternatives. -- Remove Cython-fix-version-detection.patch - (got fixed upstream) -- update to version 0.21.1: - * Features added - - New cythonize option -a to generate the annotated HTML source view. - - Missing C-API declarations in cpython.unicode were added. - - Passing language='c++' into cythonize() globally enables C++ mode - for all modules that were not passed as Extension objects - (i.e. only source files and file patterns). - - Py_hash_t is a known type (used in CPython for hash values). - - PySlice_*() C-API functions are available from the cpython.slice module. - - Allow arrays of C++ classes. - * Bugs fixed - - Reference leak for non-simple Python expressions in boolean and/or expressions. - - To fix a name collision and to reflect availability on host - platforms, standard C declarations [ clock(), time(), struct tm - and tm* functions ] were moved from posix/time.pxd to a new - libc/time.pxd. Patch by Charles Blake. - - Rerunning unmodified modules in IPython's cython support - failed. Patch by Matthias Bussonier. - - Casting C++ std::string to Python byte strings failed when - auto-decoding was enabled. - - Fatal exceptions in global module init code could lead to - crashes if the already created module was used later on - (e.g. through a stale reference in sys.modules or elsewhere). - - cythonize.py script was not installed on MS-Windows. - * Other changes - - Compilation no longer fails hard when unknown compilation - options are passed. Instead, it raises a warning and ignores - them (as it did silently before 0.21). This will be changed back - to an error in a future release. - -------------------------------------------------------------------- -Sun Nov 09 22:57:00 UTC 2014 - Led - -- fix bashisms in pre script - -------------------------------------------------------------------- -Fri Sep 12 10:52:18 UTC 2014 - toddrme2178@gmail.com - -- Add Cython-fix-version-detection.patch - This is a patch from upstream that restores version information - whose removal is preventing several packages from correctly - detecting Cython's presence. It is already merged upstream and - so should be in the next release. - Note that despite what upstream says, - python-tables/python3-tables is NOT the only package affected by - this, which is why the patch is going here instead of - python-tables/python3-tables. - python-bcolz/python3-bcolz is an example of another package - affected. - -------------------------------------------------------------------- -Thu Sep 11 09:30:20 UTC 2014 - toddrme2178@gmail.com - -- Update to 0.21 (2014-09-10) - * Features added - * C (cdef) functions allow inner Python functions. - * Enums can now be declared as cpdef to export their values to - the module's Python namespace. Cpdef enums in pxd files export - their values to their own module, iff it exists. - * Allow @staticmethod decorator to declare static cdef methods. - This is especially useful for declaring "constructors" for - cdef classes that can take non-Python arguments. - * Taking a ``char*`` from a temporary Python string object is safer - in more cases and can be done inside of non-trivial expressions, - including arguments of a function call. A compile time error - is raised only when such a pointer is assigned to a variable and - would thus exceed the lifetime of the string itself. - * Generators have new properties ``__name__`` and ``__qualname__`` - that provide the plain/qualified name of the generator function - (following CPython 3.5). See http://bugs.python.org/issue21205 - * The ``inline`` function modifier is available as a decorator - ``@cython.inline`` in pure mode. - * When cygdb is run in a virtualenv, it enables the same virtualenv - inside of the debugger. Patch by Marc Abramowitz. - * PEP 465: dedicated infix operator for matrix multiplication (A @ B). - * HTML output of annotated code uses Pygments for code highlighting - and generally received a major overhaul by Matthias Bussonier. - * IPython magic support is now available directly from Cython with - the command "%load_ext cython". Cython code can directly be - executed in a cell when marked with "%%cython". Code analysis - is available with "%%cython -a". Patch by Martín Gaitán. - * Simple support for declaring Python object types in Python signature - annotations. Currently requires setting the compiler directive - ``annotation_typing=True``. - * New directive ``use_switch`` (defaults to True) to optionally disable - the optimization of chained if statement to C switch statements. - * Defines dynamic_cast et al. in ``libcpp.cast`` and C++ heap data - structure operations in ``libcpp.algorithm``. - * Shipped header declarations in ``posix.*`` were extended to cover - more of the POSIX API. Patches by Lars Buitinck and Mark Peek. - * Optimizations - * Simple calls to C implemented Python functions/methods are faster. - This also speeds up many operations on builtins that Cython cannot - otherwise optimise. - * The "and"/"or" operators try to avoid unnecessary coercions of their - arguments. They now evaluate the truth value of each argument - independently and only coerce the final result of the whole expression - to the target type (e.g. the type on the left side of an assignment). - This also avoids reference counting overhead for Python values during - evaluation and generally improves the code flow in the generated C code. - * The Python expression "2 ** N" is optimised into bit shifting. - See http://bugs.python.org/issue21420 - * Cascaded assignments (a = b = ...) try to minimise the number of - type coercions. - * Calls to ``slice()`` are translated to a straight C-API call. - * Bugs fixed - * Crash when assigning memory views from ternary conditional expressions. - * Nested C++ templates could lead to unseparated ">>" characters being - generated into the C++ declarations, which older C++ compilers could - not parse. - * Sending SIGINT (Ctrl-C) during parallel cythonize() builds could - hang the child processes. - * No longer ignore local setup.cfg files for distutils in pyximport. - Patch by Martin Teichmann. - * Taking a ``char*`` from an indexed Python string generated unsafe - reference counting code. - * Set literals now create all of their items before trying to add them - to the set, following the behaviour in CPython. This makes a - difference in the rare case that the item creation has side effects - and some items are not hashable (or if hashing them has side effects, - too). - * Cython no longer generates the cross product of C functions for code - that uses memory views of fused types in function signatures (e.g. - ``cdef func(floating[:] a, floating[:] b)``). This is considered the - expected behaviour by most users and was previously inconsistent with - other structured types like C arrays. Code that really wants all type - combinations can create the same fused memoryview type under different - names and use those in the signature to make it clear which types are - independent. - * Names that were unknown at compile time were looked up as builtins at - runtime but not as global module names. Trying both lookups helps with - globals() manipulation. - * Fixed stl container conversion for typedef element types. - * ``obj.pop(x)`` truncated large C integer values of x to ``Py_ssize_t``. - * ``__init__.pyc`` is recognised as marking a package directory - (in addition to .py, .pyx and .pxd). - * Syntax highlighting in ``cython-mode.el`` for Emacs no longer - incorrectly highlights keywords found as part of longer names. - * Correctly handle ``from cython.submodule cimport name``. - * Fix infinite recursion when using super with cpdef methods. - * No-args ``dir()`` was not guaranteed to return a sorted list. - * Other changes - * The header line in the generated C files no longer contains the - timestamp but only the Cython version that wrote it. This was - changed to make builds more reproducible. - * Removed support for CPython 2.4, 2.5 and 3.1. - * The licensing implications on the generated code were clarified - to avoid legal constraints for users. - -------------------------------------------------------------------- -Thu Jul 31 16:26:07 UTC 2014 - dimstar@opensuse.org - -- Rename rpmlintrc to %{name}-rpmlintrc. - Follow the packaging guidelines. - -------------------------------------------------------------------- -Thu Jul 24 05:32:47 UTC 2014 - mcihar@suse.cz - -- Update to version 0.20.2: - * Some optimisations for set/frozenset instantiation. - * Support for C++ unordered_set and unordered_map. - * Access to attributes of optimised builtin methods (e.g. - ``[].append.__name__``) could fail to compile. - * Memory leak when extension subtypes add a memory view as attribute - to those of the parent type without having Python object attributes - or a user provided dealloc method. - * Compiler crash on readonly properties in "binding" mode. - * Auto-encoding with ``c_string_encoding=ascii`` failed in Py3.3. - * Crash when subtyping freelist enabled Cython extension types with - Python classes that use ``__slots__``. - * Freelist usage is restricted to CPython to avoid problems with other - Python implementations. - * Memory leak in memory views when copying overlapping, contiguous slices. - * Format checking when requesting non-contiguous buffers from - ``cython.array`` objects was disabled in Py3. - * C++ destructor calls in extension types could fail to compile in clang. - * Buffer format validation failed for sequences of strings in structs. - * Docstrings on extension type attributes in .pxd files were rejected. -- add python-xml to build requirements for testsuite - -------------------------------------------------------------------- -Thu May 8 11:40:51 UTC 2014 - toddrme2178@gmail.com - -- Update to version 0.20.1 - * List/Tuple literals multiplied by more than one factor were only multiplied - by the last factor instead of all. - * Lookups of special methods (specifically for context managers) could fail - in Python <= 2.6/3.1. - * Local variables were erroneously appended to the signature introspection - of Cython implemented functions with keyword-only arguments under Python 3. - * In-place assignments to variables with inferred Python builtin/extension - types could fail with type errors if the result value type was incompatible - with the type of the previous value. - * The C code generation order of cdef classes, closures, helper code, - etc. was not deterministic, thus leading to high code churn. - * Type inference could fail to deduce C enum types. - * Type inference could deduce unsafe or inefficient types from integer - assignments within a mix of inferred Python variables and integer - variables. - -------------------------------------------------------------------- -Mon Feb 3 18:51:50 UTC 2014 - jengelh@inai.de - -- Cython grew a dependency on saxutils (and since then, libplist - failed to build). Add python-xml as a Requires to avoid: - [...] - File "/usr/lib64/python2.7/site-packages/Cython/Compiler/Annotate.py", - line 6, in from xml.sax.saxutils import escape as - html_escape. - ImportError: No module named xml.sax.saxutils - -------------------------------------------------------------------- -Fri Jan 31 10:19:40 UTC 2014 - speilicke@suse.com - -- Update to version 0.20: - * Support for CPython 3.4. - * Support for calling C++ template functions. - * yield is supported in finally clauses. - * The C code generated for finally blocks is duplicated for each exit - case to allow for better optimisations by the C compiler. - * Cython tries to undo the Python optimisationism of assigning a bound - method to a local variable when it can generate better code for the - direct call. - * Constant Python float values are cached. - * String equality comparisons can use faster type specific code in - more cases than before. - * String/Unicode formatting using the '%' operator uses a faster - C-API call. - * bytearray has become a known type and supports coercion from and - to C strings. Indexing, slicing and decoding is optimised. Note that - this may have an impact on existing code due to type inference. - * Using cdef basestring stringvar and function arguments typed as - basestring is now meaningful and allows assigning exactly - str and unicode objects, but no subtypes of these types. - * Support for the __debug__ builtin. - * Assertions in Cython compiled modules are disabled if the running - Python interpreter was started with the "-O" option. - * Some types that Cython provides internally, such as functions and - generators, are now shared across modules if more than one Cython - implemented module is imported. - * The type inference algorithm works more fine granular by taking the - results of the control flow analysis into account. - * A new script in bin/cythonize provides a command line frontend - to the cythonize() compilation function (including distutils build). - * The new extension type decorator @cython.no_gc_clear prevents - objects from being cleared during cyclic garbage collection, thus - making sure that object attributes are kept alive until deallocation. - * During cyclic garbage collection, attributes of extension types that - cannot create reference cycles due to their type (e.g. strings) are - no longer considered for traversal or clearing. This can reduce the - processing overhead when searching for or cleaning up reference cycles. - * Package compilation (i.e. __init__.py files) now works, starting - with Python 3.3. - * The cython-mode.el script for Emacs was updated. Patch by Ivan Andrus. - * An option common_utility_include_dir was added to cythonize() to save - oft-used utility code once in a separate directory rather than as - part of each generated file. - * unraisable_tracebacks directive added to control printing of - tracebacks of unraisable exceptions. - -------------------------------------------------------------------- -Mon Oct 21 12:13:57 UTC 2013 - dmueller@suse.com - -- update to 0.19.2: - * Some standard declarations were fixed or updated, including the previously - incorrect declaration of PyBuffer_FillInfo() and some missing bits in - libc.math. - - * Heap allocated subtypes of type used the wrong base type struct at the - C level. - - * Calling the unbound method dict.keys/value/items() in dict subtypes could - call the bound object method instead of the unbound supertype method. - - * "yield" wasn't supported in "return" value expressions. - - * Using the "bint" type in memory views lead to unexpected results. - It is now an error. - - * Assignments to global/closure variables could catch them in an illegal state - while deallocating the old value. - -------------------------------------------------------------------- -Fri Oct 11 17:06:20 UTC 2013 - p.drouand@gmail.com - -- Implement update-alternatives - -------------------------------------------------------------------- -Mon May 13 08:17:40 UTC 2013 - dmueller@suse.com - -- update to 0.19.1: - * Completely empty C-API structs for extension type slots (protocols like - number/mapping/sequence) are no longer generated into the C code. - * Docstrings that directly follow a public/readonly attribute declaration - in a cdef class will be used as docstring of the auto-generated property. - This fixes ticket 206. - * The automatic signature documentation tries to preserve more semantics - of default arguments and argument types. Specifically, bint arguments - now appear as type bool. - * A warning is emitted when negative literal indices are found inside of - a code section that disables wraparound handling. This helps with - fixing invalid code that might fail in the face of future compiler - optimisations. - * Constant folding for boolean expressions (and/or) was improved. - * Added a build_dir option to cythonize() which allows one to place - the generated .c files outside the source tree. - -------------------------------------------------------------------- -Mon Apr 29 11:58:41 UTC 2013 - dmueller@suse.com - -- Update to version 0.19: - + Please see http://wiki.cython.org/ReleaseNotes-0.19 - -------------------------------------------------------------------- -Wed Mar 27 12:17:42 UTC 2013 - speilicke@suse.com - -- Update to version 0.18: - + Please see http://wiki.cython.org/ReleaseNotes-0.18 - -------------------------------------------------------------------- -Thu Nov 22 15:32:14 UTC 2012 - saschpe@suse.de - -- Update to version 0.17.2: - + Please see http://wiki.cython.org/ReleaseNotes-0.17.2 -- Drop excessive macro usage -- No need for "-fno-strict-aliasing" anymore -- One rpmlintrc is enough - -------------------------------------------------------------------- -Fri May 25 07:47:16 UTC 2012 - toddrme2178@gmail.com - -- Fix .py/.pyc issues - -------------------------------------------------------------------- -Fri May 18 10:52:46 UTC 2012 - toddrme2178@gmail.com - -- Add python 3 package -- Clean up spec file formatting -- Remove setbadness from rplintrc files - -------------------------------------------------------------------- -Mon Apr 23 11:09:29 UTC 2012 - vdziewiecki@suse.com - --Update to 0.16: - http://wiki.cython.org/ReleaseNotes-0.16 - -------------------------------------------------------------------- -Wed Feb 29 19:07:57 UTC 2012 - pascal.bleser@opensuse.org - -- add rpmlintrc to mask false positives - -------------------------------------------------------------------- -Wed Sep 21 12:34:19 UTC 2011 - saschpe@suse.de - -- Update to version 0.15.1: - * Please see http://wiki.cython.org/ReleaseNotes-0.15.1 - -------------------------------------------------------------------- -Tue Sep 6 13:25:54 UTC 2011 - saschpe@suse.de - -- Add Provides/Obsoletes for python-cython - ------------------------------------------------------------------- Fri Sep 2 11:03:40 UTC 2011 - saschpe@suse.de @@ -2690,11 +8,11 @@ Fri Sep 2 11:03:40 UTC 2011 - saschpe@suse.de Fri Sep 2 09:50:25 UTC 2011 - saschpe@suse.de - Update to version 0.15: - * For loop docs fix and pointer iteration. + * For loop docs fix and pointer iteration. * Pure decorators now implemented. * fix bug #707: optimised dict iteration over non-trivial expressions fail... * optimise object.pop() for sets - * Py2.4 fix: PySet_Pop() appeared in Py2.5 + * Py2.4 fix: PySet_Pop() appeared in Py2.5 * Py3.3 test fix * Support module level control flow and Entry-level error on uninitialized - Spec file cleanup: diff --git a/python-Cython.spec b/python-Cython.spec index 08ce684..c841d08 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -1,7 +1,7 @@ # # spec file for package python-Cython # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -11,106 +11,55 @@ # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. - -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # - -%bcond_with test -%if 0%{?suse_version} > 1500 -%bcond_without libalternatives -%else -%bcond_with libalternatives -%endif -%{?sle15_python_module_pythons} Name: python-Cython -Version: 3.2.2 +Version: 0.15 Release: 0 +Url: http://www.cython.org Summary: The Cython compiler for writing C extensions for the Python language License: Apache-2.0 -URL: https://cython.org/ -# SourceRepository: https://github.com/cython/cython -Source: https://files.pythonhosted.org/packages/source/c/cython/cython-%{version}.tar.gz -Source1: python-Cython-rpmlintrc -BuildRequires: %{python_module devel >= 3.8} -BuildRequires: %{python_module pip} -BuildRequires: %{python_module setuptools} -BuildRequires: %{python_module wheel} -BuildRequires: fdupes -BuildRequires: gcc-c++ -BuildRequires: python-rpm-macros -Requires: python-devel >= 3.8 -Conflicts: python-Cython < 3 -Provides: python-Cython3 = %{version} -Obsoletes: python-Cython3 < %{version} -%if %{with libalternatives} -BuildRequires: alts -Requires: alts -%else -Requires(post): update-alternatives -Requires(postun): update-alternatives +Group: Development/Languages/Python +Source: http://pypi.python.org/packages/source/C/Cython/Cython-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: python-devel +%if 0%{?suse_version} +%py_requires %endif -%python_subpackages +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %description -The Cython language allows for writing C extensions for the Python -language. Cython is a source code translator based on Pyrex, but -supports more cutting edge functionality and optimizations. +The Cython language makes writing C extensions for the Python language as +easy as Python itself. Cython is a source code translator based on the +well-known Pyrex, but supports more cutting edge functionality and +optimizations. The Cython language is very close to the Python language (and most Python code is also valid Cython code), but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code. +This makes Cython the ideal language for writing glue code for external C +libraries, and for fast C modules that speed up the execution of Python +code. + %prep -%setup -q -n cython-%{version} -# Fix non-executable scripts -sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py +%setup -q -n Cython-%{version} +sed -i "s/\r//" Demos/{callback/README.txt,callback/cheesefinder.h,embed/Makefile.unix,embed/Makefile.msc.static} Doc/primes.c # Fix EOL encoding +sed -i "1d" {Cython/Debugger/libpython,Cython/Debugger/Cygdb,cython}.py # Fix non-excutable scripts %build -export CFLAGS="%{optflags} -fno-strict-aliasing" -%pyproject_wheel +CFLAGS="%{optflags} -fno-strict-aliasing" python setup.py build %install -%pyproject_install -for p in cython cythonize cygdb ; do - %python_clone -a %{buildroot}%{_bindir}/$p -done -%python_group_libalternatives cython cythonize cygdb +python setup.py install --prefix=%{_prefix} --root=%{buildroot} -%{python_expand chmod a+x %{buildroot}%{$python_sitearch}/Cython/Build/Cythonize.py -sed -i "s|^#!%{_bindir}/env python$|#!%{__$python}|" %{buildroot}%{$python_sitearch}/Cython/Build/Cythonize.py -$python -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/Cython/Build/ -$python -O -m compileall -d %{$python_sitearch} %{buildroot}%{$python_sitearch}/Cython/Build/ -%fdupes %{buildroot}%{$python_sitearch} -} - -%check -%if %{with test} -%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitearch} PYTHONDONTWRITEBYTECODE=1 -$python runtests.py -v -} -%endif - -%pre -%python_libalternatives_reset_alternative cython - -%post -%python_install_alternative cython cythonize cygdb - -%postun -%python_uninstall_alternative cython - -%files %{python_files} -%license LICENSE.txt COPYING.txt -%doc README.rst ToDo.txt USAGE.txt -%python_alternative %{_bindir}/cygdb -%python_alternative %{_bindir}/cython -%python_alternative %{_bindir}/cythonize -%{python_sitearch}/Cython/ -%{python_sitearch}/[cC]ython-%{version}.dist-info -%{python_sitearch}/cython.py* -%pycache_only %{python_sitearch}/__pycache__/cython*.py* -%{python_sitearch}/pyximport/ +%files +%defattr(-,root,root,-) +%doc COPYING.txt LICENSE.txt README.txt ToDo.txt USAGE.txt Doc Demos +%{_bindir}/cy* +%{python_sitearch}/* %changelog