commit fc42a3154f8139997bf88d278ce30caef2de2127e129e37c67989b005fa34b01 Author: Dirk Mueller Date: Thu Jan 5 07:50:13 2023 +0000 Accepting request 1056057 from home:bnavigator:branches:devel:languages:python - Make a Cython3 package for 3.0.0a11 and the following pre-releases * required by python-gevent * For a discussion about the alpha release maturity, see gh#cython/cython#4022 * Does conflict but not obsolete regular python-Cython < 3 OBS-URL: https://build.opensuse.org/request/show/1056057 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython3?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/Cython-3.0.0a11.tar.gz b/Cython-3.0.0a11.tar.gz new file mode 100644 index 0000000..5d5a22d --- /dev/null +++ b/Cython-3.0.0a11.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4672491fb31546b9abb63677f638e738085dc9321398170956ef6fbfc0e1726 +size 2506146 diff --git a/python-Cython-rpmlintrc b/python-Cython-rpmlintrc new file mode 100644 index 0000000..e87788f --- /dev/null +++ b/python-Cython-rpmlintrc @@ -0,0 +1,4 @@ +addFilter('devel-file-in-non-devel-package .*/Cython/.*') +addFilter('devel-dependency python38-devel') +addFilter('devel-dependency python39-devel') +addFilter('devel-dependency python310-devel') diff --git a/python-Cython3.changes b/python-Cython3.changes new file mode 100644 index 0000000..3fb82f7 --- /dev/null +++ b/python-Cython3.changes @@ -0,0 +1,1719 @@ +------------------------------------------------------------------- +Wed Jan 4 20:09:35 UTC 2023 - Ben Greiner + +- Make a Cython3 package for 3.0.0a11 and the following + pre-releases + * required by python-gevent + * For a discussion about the alpha release maturity, see + gh#cython/cython#4022 + * Does conflict but not obsolete regular python-Cython < 3 + +------------------------------------------------------------------- +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 + +- Fixed a typo +- Removed testsuite again, fixes SLE build + +------------------------------------------------------------------- +Fri Sep 2 09:50:25 UTC 2011 - saschpe@suse.de + +- Update to version 0.15: + * 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 + * Py3.3 test fix + * Support module level control flow and Entry-level error on uninitialized +- Spec file cleanup: + - Fixed wrong EOL encodings and non-excutable scripts + - Set license to Apache-2.0 + - Run testsuite + +------------------------------------------------------------------- +Wed Apr 20 00:29:18 UTC 2011 - prusnak@opensuse.org + +- updated to 0.14.1 + - changes too numerous to list, see the following for more details: + * http://wiki.cython.org/ReleaseNotes-0.13 + * http://wiki.cython.org/ReleaseNotes-0.14 + * http://wiki.cython.org/ReleaseNotes-0.14.1 + +------------------------------------------------------------------- +Sun Jun 6 21:21:32 UTC 2010 - dimstar@opensuse.org + +- Use renewed python-macros, also for compatibility with other + build targets. + +------------------------------------------------------------------- +Sun Jun 6 12:14:18 UTC 2010 - dimstar@opensuse.org + +- Initial package of Cython 0.12.1 diff --git a/python-Cython3.spec b/python-Cython3.spec new file mode 100644 index 0000000..7034e23 --- /dev/null +++ b/python-Cython3.spec @@ -0,0 +1,100 @@ +# +# spec file for package python-Cython3 +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# 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/ +# + + +%bcond_with test +%define pversion 3.0.0a11 +Name: python-Cython3 +Version: 3.0.0~a11 +Release: 0 +Summary: The Cython compiler for writing C extensions for the Python language +License: Apache-2.0 +URL: https://cython.org/ +Source: https://files.pythonhosted.org/packages/source/C/Cython/Cython-%{pversion}.tar.gz +Source1: python-Cython-rpmlintrc +BuildRequires: %{python_module devel} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: python-rpm-macros +Provides: python-Cython = %{version}-%{release} +Provides: python-cython = %{version}-%{release} +Conflicts: python-Cython < 3 +Requires: python-devel +Requires(post): update-alternatives +Requires(postun):update-alternatives +%python_subpackages + +%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 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. + +%prep +%setup -q -n Cython-%{pversion} +# Fix non-executable scripts +sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py + +%build +export CFLAGS="%{optflags} -fno-strict-aliasing" +%pyproject_wheel + +%install +%pyproject_install +for p in cython cythonize cygdb ; do + %python_clone -a %{buildroot}%{_bindir}/$p +done + +%{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 + +%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}/Cython-%{pversion}.dist-info +%{python_sitearch}/cython.py* +%pycache_only %{python_sitearch}/__pycache__/cython*.py* +%{python_sitearch}/pyximport/ + +%changelog