From 01513e795258b9c311326065df11febcfe894aee3ad88e296e9a2217928aa883 Mon Sep 17 00:00:00 2001 From: Jan Matejek Date: Thu, 28 Jan 2016 13:55:20 +0000 Subject: [PATCH 1/2] Accepting request 356504 from openSUSE:Factory:Staging:Gcc6 - Add python-Cython-c++11.patch to fix complex math testcase compile with GCC 6 defaulting to C++14. (bnc#963974) OBS-URL: https://build.opensuse.org/request/show/356504 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=65 --- python-Cython-c++11.patch | 11 +++++++++++ python-Cython.changes | 6 ++++++ python-Cython.spec | 4 +++- 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 python-Cython-c++11.patch diff --git a/python-Cython-c++11.patch b/python-Cython-c++11.patch new file mode 100644 index 0000000..42f61da --- /dev/null +++ b/python-Cython-c++11.patch @@ -0,0 +1,11 @@ +--- Cython/Compiler/PyrexTypes.py.orig 2016-01-28 12:06:29.060198431 +0000 ++++ Cython/Compiler/PyrexTypes.py 2016-01-28 12:07:24.296842892 +0000 +@@ -1930,7 +1930,7 @@ + #define __Pyx_CIMAG(z) ((z).imag) + #endif + +-#if (defined(_WIN32) || defined(__clang__)) && defined(__cplusplus) && CYTHON_CCOMPLEX ++#if defined(__cplusplus) && (defined(_WIN32) || defined(__clang__) || __cplusplus >= 201103L) && CYTHON_CCOMPLEX + #define __Pyx_SET_CREAL(z,x) ((z).real(x)) + #define __Pyx_SET_CIMAG(z,y) ((z).imag(y)) + #else diff --git a/python-Cython.changes b/python-Cython.changes index befca02..d9b8bf9 100644 --- a/python-Cython.changes +++ b/python-Cython.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +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 diff --git a/python-Cython.spec b/python-Cython.spec index 343a791..e5b856d 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -1,7 +1,7 @@ # # spec file for package python-Cython # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 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 @@ -25,6 +25,7 @@ License: Apache-2.0 Group: Development/Languages/Python Source: http://cython.org/release/Cython-%{version}.tar.gz Source1: python-Cython-rpmlintrc +Patch1: python-Cython-c++11.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: fdupes BuildRequires: gcc-c++ @@ -57,6 +58,7 @@ code. %prep %setup -q -n Cython-%{version} +%patch1 # Fix non-executable scripts sed -i "s|^#!.*||" Cython/Debugger/{libpython,Cygdb}.py cython.py # Fix EOL encoding From 089e5b78c5e4a8e2c216034112c67437dc9d09f1b9a37634a6e4e9b351b4af94 Mon Sep 17 00:00:00 2001 From: Todd R Date: Mon, 1 Feb 2016 12:09:00 +0000 Subject: [PATCH 2/2] Accepting request 357130 from home:TheBlackCat:branches:devel:languages:python update to version 0.23.4 OBS-URL: https://build.opensuse.org/request/show/357130 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Cython?expand=0&rev=66 --- Cython-0.22.1.tar.gz | 3 - Cython-0.23.4.tar.gz | 3 + python-Cython.changes | 155 ++++++++++++++++++++++++++++++++++++++++++ python-Cython.spec | 4 +- 4 files changed, 160 insertions(+), 5 deletions(-) delete mode 100644 Cython-0.22.1.tar.gz create mode 100644 Cython-0.23.4.tar.gz diff --git a/Cython-0.22.1.tar.gz b/Cython-0.22.1.tar.gz deleted file mode 100644 index fa45989..0000000 --- a/Cython-0.22.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7fff120e65e7b66edb4a42823f5642bad3bc1e5601bf882d66aee50248cf0682 -size 1581021 diff --git a/Cython-0.23.4.tar.gz b/Cython-0.23.4.tar.gz new file mode 100644 index 0000000..e7e4b38 --- /dev/null +++ b/Cython-0.23.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fec42fecee35d6cc02887f1eef4e4952c97402ed2800bfe41bbd9ed1a0730d8e +size 1628326 diff --git a/python-Cython.changes b/python-Cython.changes index d9b8bf9..83c5652 100644 --- a/python-Cython.changes +++ b/python-Cython.changes @@ -1,3 +1,158 @@ +------------------------------------------------------------------- +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 diff --git a/python-Cython.spec b/python-Cython.spec index e5b856d..a0744c8 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -17,13 +17,13 @@ Name: python-Cython -Version: 0.22.1 +Version: 0.23.4 Release: 0 Url: http://www.cython.org Summary: The Cython compiler for writing C extensions for the Python language License: Apache-2.0 Group: Development/Languages/Python -Source: http://cython.org/release/Cython-%{version}.tar.gz +Source: http://pypi.python.org/packages/source/C/Cython/Cython-%{version}.tar.gz Source1: python-Cython-rpmlintrc Patch1: python-Cython-c++11.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build