diff --git a/Cython-0.25.1.tar.gz b/Cython-0.25.1.tar.gz deleted file mode 100644 index 85f084a..0000000 --- a/Cython-0.25.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e0941455769335ec5afb17dee36dc3833b7edc2ae20a8ed5806c58215e4b6669 -size 1701919 diff --git a/Cython-0.26.1.tar.gz b/Cython-0.26.1.tar.gz new file mode 100644 index 0000000..e9d5c1e --- /dev/null +++ b/Cython-0.26.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2e63c4794161135adafa8aa4a855d6068073f421c83ffacc39369497a189dd5 +size 1725133 diff --git a/python-Cython-doc.changes b/python-Cython-doc.changes new file mode 100644 index 0000000..6ab5eb9 --- /dev/null +++ b/python-Cython-doc.changes @@ -0,0 +1,938 @@ +------------------------------------------------------------------- +Thu Oct 5 19:28:03 UTC 2017 - toddrme2178@gmail.com + +- Update to 0.26.1 + + Bugs fixed + * ``cython.view.array`` was missing ``.__len__()``. + * Extension types with a ``.pxd`` override for their ``__releasebuffer__`` slot + (e.g. as provided by Cython for the Python ``array.array`` type) could leak + a reference to the buffer owner on release, thus not freeing the memory. + (Github issue #1638) + * Auto-decoding failed in 0.26 for strings inside of C++ containers. + (Github issue #1790) + * Compile error when inheriting from C++ container types. + (Github issue #1788) + * Invalid C code in generators (declaration after code). + (Github issue #1801) + * Arithmetic operations on ``const`` integer variables could generate invalid code. + (Github issue #1798) + * Local variables with names of special Python methods failed to compile inside of + closures. (Github issue #1797) + * Problem with indirect Emacs buffers in cython-mode. + Patch by Martin Albrecht (Github issue #1743). + * Extension types named ``result`` or ``PickleError`` generated invalid unpickling code. + Patch by Jason Madden (Github issue #1786). + * Bazel integration failed to compile ``.py`` files. + Patch by Guro Bokum (Github issue #1784). + * Some include directories and dependencies were referenced with their absolute paths + in the generated files despite lying within the project directory. + * Failure to compile in Py3.7 due to a modified signature of ``_PyCFunctionFast()`` +- Update to 0.26 + + Features added + * Pythran can be used as a backend for evaluating NumPy array expressions. + Patch by Adrien Guinet (Github issue #1607). + * cdef classes now support pickling by default when possible. + This can be disabled with the ``auto_pickle`` directive. + * Speed up comparisons of strings if their hash value is available. + Patch by Claudio Freire (Github issue #1571). + * Support pyximport from zip files. + Patch by Sergei Lebedev (Github issue #1485). + * IPython magic now respects the ``__all__`` variable and ignores + names with leading-underscore (like ``import *`` does). + Patch by Syrtis Major (Github issue #1625). + * ``abs()`` is optimised for C complex numbers. + Patch by da-woods (Github issue #1648). + * The display of C lines in Cython tracebacks can now be enabled at runtime + via ``import cython_runtime; cython_runtime.cline_in_traceback=True``. + The default has been changed to False. + * The overhead of calling fused types generic functions was reduced. + * "cdef extern" include files are now also searched relative to the current file. + Patch by Jeroen Demeyer (Github issue #1654). + * Optional optimization for re-aquiring the GIL, controlled by the + `fast_gil` directive. + + Bugs fixed + * Item lookup/assignment with a unicode character as index that is typed + (explicitly or implicitly) as ``Py_UCS4`` or ``Py_UNICODE`` used the + integer value instead of the Unicode string value. Code that relied on + the previous behaviour now triggers a warning that can be disabled by + applying an explicit cast. (Github issue #1602) + * f-string processing was adapted to changes in PEP 498 and CPython 3.6. + * Invalid C code when decoding from UTF-16(LE/BE) byte strings. + (Github issue #1696) + * Unicode escapes in 'ur' raw-unicode strings were not resolved in Py2 code. + Original patch by Aaron Gallagher (Github issue #1594). + * File paths of code objects are now relative. + Original patch by Jelmer Vernooij (Github issue #1565). + * Decorators of cdef class methods could be executed twice. + Patch by Jeroen Demeyer (Github issue #1724). + * Dict iteration using the Py2 ``iter*`` methods failed in PyPy3. + Patch by Armin Rigo (Github issue #1631). + * Several warnings in the generated code are now suppressed. + + Other changes + * The ``unraisable_tracebacks`` option now defaults to ``True``. + * Coercion of C++ containers to Python is no longer automatic on attribute + access (Github issue #1521). + * Access to Python attributes of cimported modules without the corresponding + import is now a compile-time (rather than runtime) error. + * Do not use special dll linkage for "cdef public" functions. + Patch by Jeroen Demeyer (Github issue #1687). + * cdef/cpdef methods must match their declarations. See Github Issue #1732. + This is now a warning and will be an error in future releases. +- Update to 0.25.2 + + Bugs fixed + * Fixes several issues with C++ template deduction. + * Fixes a issue with bound method type inference (Github issue #551). + * Fixes a bug with cascaded tuple assignment (Github issue #1523). + * Fixed or silenced many Clang warnings. + * Fixes bug with powers of pure real complex numbers (Github issue #1538). +- Create subpackage for documentation + +------------------------------------------------------------------- +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-Cython-doc.spec b/python-Cython-doc.spec new file mode 100644 index 0000000..13bf078 --- /dev/null +++ b/python-Cython-doc.spec @@ -0,0 +1,83 @@ +# +# spec file for package python-Cython-doc +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# +# 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 http://bugs.opensuse.org/ +# + +%ifarch x86_64 +%bcond_without test +%else +%bcond_with test +%endif + +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +Name: python-Cython-doc +Version: 0.26.1 +Release: 0 +Url: http://www.cython.org +Summary: The Cython compiler for writing C extensions for the Python language +License: Apache-2.0 +Group: Documentation/Other +Source: https://files.pythonhosted.org/packages/source/C/Cython/Cython-%{version}.tar.gz +Source1: python-Cython-rpmlintrc +BuildRequires: fdupes +BuildRequires: python-rpm-macros +BuildRequires: python3-Sphinx +%if %{with test} +BuildRequires: gcc-c++ +BuildRequires: %{python_module Cython = %{version}} +%endif +BuildArch: noarch + +%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-%{version} +# Fix EOL encoding +sed -i "s|\r||" Demos/callback/{README.txt,cheesefinder.h} Demos/embed/Makefile.{unix,msc.static} + +%build +python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo + +%install +mkdir -p %{buildroot}%{_docdir}/python-Cython +cp -r build/sphinx/html %{buildroot}%{_docdir}/python-Cython +%fdupes %{buildroot}%{_docdir}/python-Cython + +%if %{with test} +%check +export LANG=en_US.UTF-8 +%python_exec runtests.py -vv +%endif + +%files +%defattr(-,root,root,-) +%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320 +%license LICENSE.txt +%else +%doc LICENSE.txt +%endif +%doc COPYING.txt README.txt ToDo.txt USAGE.txt +%dir %{_docdir}/python-Cython/ +%{_docdir}/python-Cython/html/ + +%changelog diff --git a/python-Cython-rpmlintrc b/python-Cython-rpmlintrc index 6d624f0..74c31f2 100644 --- a/python-Cython-rpmlintrc +++ b/python-Cython-rpmlintrc @@ -1 +1,4 @@ addFilter('devel-file-in-non-devel-package .*/Cython/.*') +addFilter('devel-dependency python-devel') +addFilter('devel-dependency python2-devel') +addFilter('devel-dependency python3-devel') diff --git a/python-Cython.spec b/python-Cython.spec index e7d9d67..a77988f 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -15,11 +15,10 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%define oldpython python +%define oldpython python Name: python-Cython -Version: 0.25.1 +Version: 0.26.1 Release: 0 Url: http://www.cython.org Summary: The Cython compiler for writing C extensions for the Python language @@ -27,7 +26,6 @@ License: Apache-2.0 Group: Development/Languages/Python Source: https://files.pythonhosted.org/packages/source/C/Cython/Cython-%{version}.tar.gz Source1: python-Cython-rpmlintrc -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: %{python_module devel} BuildRequires: %{python_module xml} BuildRequires: fdupes @@ -58,8 +56,6 @@ allows the compiler to generate very efficient C code from Cython code. %setup -q -n Cython-%{version} # Fix non-executable scripts sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py -# Fix EOL encoding -sed -i "s|\r||" Demos/callback/{README.txt,cheesefinder.h} Demos/embed/Makefile.{unix,msc.static} Doc/primes.c %build export CFLAGS="%{optflags}" @@ -77,8 +73,12 @@ for p in cython cythonize cygdb ; do %prepare_alternative $p done -%{python_expand %fdupes -s %{buildroot}%{$python_sitearch}} -%fdupes %{buildroot}%{_docdir} +%{python_expand chmod a+x %{buildroot}%{$python_sitearch}/Cython/Build/Cythonize.py +sed -i "s|^#!/usr/bin/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} +} %post %python_install_alternative cython cythonize cygdb @@ -86,28 +86,21 @@ done %postun %python_uninstall_alternative cython -%check -%if 0%{?suse_version} && 0%{?suse_version} <= 1140 -sed -i.SLES11.SP4.bak -e 's/const char/char/' ./tests/run/cpdef_extern_func.pyx -#mv ./tests/run/cpdef_extern_func.pxd ./tests/run/cpdef_extern_func.pxd.TNT.txt -#mv ./tests/run/cpdef_extern_func.pyx ./tests/run/cpdef_extern_func.pyx.TNT.txt -#sleep 60 -%endif -%ifarch x86_64 -export LANG=en_US.UTF-8 -%python_exec runtests.py -vv -%endif - %files %{python_files} %defattr(-,root,root,-) -%doc COPYING.txt LICENSE.txt README.txt ToDo.txt USAGE.txt Doc Demos +%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320 +%license LICENSE.txt +%else +%doc LICENSE.txt +%endif +%doc COPYING.txt README.txt ToDo.txt USAGE.txt %python_alternative %{_bindir}/cygdb %python_alternative %{_bindir}/cython %python_alternative %{_bindir}/cythonize %{python_sitearch}/Cython/ %{python_sitearch}/Cython-%{version}-py*.egg-info %{python_sitearch}/cython.py* -%pycache_only %{python_sitearch}/__pycache__ +%pycache_only %{python_sitearch}/__pycache__/cython*.py* %{python_sitearch}/pyximport/ %changelog