Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-Cython for openSUSE:Factory 
checked in at 2022-02-03 23:16:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Cython (Old)
 and      /work/SRC/openSUSE:Factory/.python-Cython.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Cython"

Thu Feb  3 23:16:15 2022 rev:63 rq:950793 version:0.29.27

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Cython/python-Cython.changes      
2022-01-07 12:45:00.323788134 +0100
+++ /work/SRC/openSUSE:Factory/.python-Cython.new.1898/python-Cython.changes    
2022-02-03 23:16:48.344482012 +0100
@@ -1,0 +2,23 @@
+Wed Feb  2 17:54:50 UTC 2022 - Matej Cepl <mc...@suse.com>
+
+- 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 <mc...@suse.com>
+
+- Enable running of the test suite.
+
+-------------------------------------------------------------------
+Mon Jan 31 13:46:21 UTC 2022 - Paolo Stivanin <i...@paolostivanin.com>
+
+- 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.
+
+-------------------------------------------------------------------

Old:
----
  Cython-0.29.26.tar.gz

New:
----
  Cython-0.29.27.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-Cython.spec ++++++
--- /var/tmp/diff_new_pack.5vTuQQ/_old  2022-02-03 23:16:48.792478954 +0100
+++ /var/tmp/diff_new_pack.5vTuQQ/_new  2022-02-03 23:16:48.796478927 +0100
@@ -18,8 +18,9 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define         oldpython python
+%bcond_with test
 Name:           python-Cython
-Version:        0.29.26
+Version:        0.29.27
 Release:        0
 Summary:        The Cython compiler for writing C extensions for the Python 
language
 License:        Apache-2.0
@@ -79,6 +80,13 @@
 %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
 

++++++ Cython-0.29.26.tar.gz -> Cython-0.29.27.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/.gitrev new/Cython-0.29.27/.gitrev
--- old/Cython-0.29.26/.gitrev  2021-12-16 10:21:21.237250800 +0100
+++ new/Cython-0.29.27/.gitrev  2022-01-28 18:21:41.152819600 +0100
@@ -1 +1 @@
-3028e8c7ac296bc848d996e397c3354b3dbbd431
+229a4531780863c8a5c311d6b3c70a545988f85f
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/CHANGES.rst 
new/Cython-0.29.27/CHANGES.rst
--- old/Cython-0.29.26/CHANGES.rst      2021-12-16 10:21:18.501220200 +0100
+++ new/Cython-0.29.27/CHANGES.rst      2022-01-28 18:21:38.020794200 +0100
@@ -2,6 +2,32 @@
 Cython Changelog
 ================
 
+0.29.27 (2022-01-28)
+====================
+
+Features added
+--------------
+
+* 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.
+  Patch by Evgeni Burovski.  (Github issue #1214)
+
+Bugs fixed
+----------
+
+* Compilation failures on PyPy were resolved.
+  Patches by Matti Picus.  (Github issues #4509, #4517)
+
+* Calls to ``range()`` with more than three arguments did not fail.
+  Original patch by Max Bachmann.  (Github issue #4550)
+
+* 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.
+
+
 0.29.26 (2021-12-16)
 ====================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Build/Cythonize.py 
new/Cython-0.29.27/Cython/Build/Cythonize.py
--- old/Cython-0.29.26/Cython/Build/Cythonize.py        2021-12-16 
10:21:18.501220200 +0100
+++ new/Cython-0.29.27/Cython/Build/Cythonize.py        2022-01-28 
18:21:38.020794200 +0100
@@ -103,6 +103,7 @@
                 compile_time_env=options.compile_time_env,
                 force=options.force,
                 quiet=options.quiet,
+                depfile=options.depfile,
                 **options.options)
 
             if ext_modules and options.build:
@@ -194,6 +195,7 @@
                       help='increase Python compatibility by ignoring some 
compile time errors')
     parser.add_option('-k', '--keep-going', dest='keep_going', 
action='store_true',
                       help='compile as much as possible, ignore compilation 
failures')
+    parser.add_option('-M', '--depfile', action='store_true', help='produce 
depfiles for the sources')
 
     options, args = parser.parse_args(args)
     if not args:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Build/Dependencies.py 
new/Cython-0.29.27/Cython/Build/Dependencies.py
--- old/Cython-0.29.26/Cython/Build/Dependencies.py     2021-12-16 
10:21:18.501220200 +0100
+++ new/Cython-0.29.27/Cython/Build/Dependencies.py     2022-01-28 
18:21:38.020794200 +0100
@@ -944,6 +944,8 @@
     :param compiler_directives: Allow to set compiler directives in the 
``setup.py`` like this:
                                 ``compiler_directives={'embedsignature': 
True}``.
                                 See :ref:`compiler-directives`.
+
+    :param depfile: produce depfiles for the sources if True.
     """
     if exclude is None:
         exclude = []
@@ -952,6 +954,8 @@
     if 'common_utility_include_dir' in options:
         safe_makedirs(options['common_utility_include_dir'])
 
+    depfile = options.pop('depfile', None)
+
     if pythran is None:
         pythran_options = None
     else:
@@ -1023,6 +1027,26 @@
                     dir = os.path.dirname(c_file)
                     safe_makedirs_once(dir)
 
+                # write out the depfile, if requested
+                if depfile:
+                    dependencies = deps.all_dependencies(source)
+                    src_base_dir, _ = os.path.split(source)
+                    if not src_base_dir.endswith(os.sep):
+                        src_base_dir += os.sep
+                    # paths below the base_dir are relative, otherwise absolute
+                    paths = []
+                    for fname in dependencies:
+                        if (fname.startswith(src_base_dir) or
+                            fname.startswith('.' + os.path.sep)):
+                            paths.append(os.path.relpath(fname, src_base_dir))
+                        else:
+                            paths.append(os.path.abspath(fname))
+
+                    depline = os.path.split(c_file)[1] + ": \\\n  "
+                    depline += " \\\n  ".join(paths) + "\n"
+                    with open(c_file+'.dep', 'w') as outfile:
+                        outfile.write(depline)
+
                 if os.path.exists(c_file):
                     c_timestamp = os.path.getmtime(c_file)
                 else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Compiler/Code.py 
new/Cython-0.29.27/Cython/Compiler/Code.py
--- old/Cython-0.29.26/Cython/Compiler/Code.py  2021-12-16 10:21:18.505220200 
+0100
+++ new/Cython-0.29.27/Cython/Compiler/Code.py  2022-01-28 18:21:38.024794000 
+0100
@@ -501,9 +501,11 @@
 
     def specialize(self, pyrex_type=None, **data):
         # Dicts aren't hashable...
+        name = self.name
         if pyrex_type is not None:
             data['type'] = pyrex_type.empty_declaration_code()
             data['type_name'] = pyrex_type.specialization_name()
+            name = "%s[%s]" % (name, data['type_name'])
         key = tuple(sorted(data.items()))
         try:
             return self._cache[key]
@@ -519,7 +521,9 @@
                 self.none_or_sub(self.init, data),
                 self.none_or_sub(self.cleanup, data),
                 requires,
-                self.proto_block)
+                self.proto_block,
+                name,
+            )
 
             self.specialize_list.append(s)
             return s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Compiler/Nodes.py 
new/Cython-0.29.27/Cython/Compiler/Nodes.py
--- old/Cython-0.29.26/Cython/Compiler/Nodes.py 2021-12-16 10:21:18.509220100 
+0100
+++ new/Cython-0.29.27/Cython/Compiler/Nodes.py 2022-01-28 18:21:38.028794000 
+0100
@@ -8989,10 +8989,6 @@
             self.index_type = PyrexTypes.c_py_ssize_t_type
         else:
             self.index_type = self.target.type
-            if not self.index_type.signed:
-                warning(self.target.pos,
-                        "Unsigned index type not allowed before OpenMP 3.0",
-                        level=2)
 
         # Setup start, stop and step, allocating temps if needed
         self.names = 'start', 'stop', 'step'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Compiler/Optimize.py 
new/Cython-0.29.27/Cython/Compiler/Optimize.py
--- old/Cython-0.29.26/Cython/Compiler/Optimize.py      2021-12-16 
10:21:18.509220100 +0100
+++ new/Cython-0.29.27/Cython/Compiler/Optimize.py      2022-01-28 
18:21:38.028794000 +0100
@@ -285,7 +285,7 @@
                 return self._transform_reversed_iteration(node, iterable)
 
         # range() iteration?
-        if Options.convert_range and arg_count >= 1 and (
+        if Options.convert_range and 1 <= arg_count <= 3 and (
                 iterable.self is None and
                 function.is_name and function.name in ('range', 'xrange') and
                 function.entry and function.entry.is_builtin):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Compiler/TypeSlots.py 
new/Cython-0.29.27/Cython/Compiler/TypeSlots.py
--- old/Cython-0.29.26/Cython/Compiler/TypeSlots.py     2021-12-16 
10:21:18.513220300 +0100
+++ new/Cython-0.29.27/Cython/Compiler/TypeSlots.py     2022-01-28 
18:21:38.032794200 +0100
@@ -813,6 +813,7 @@
     MethodSlot(unaryfunc, "am_await", "__await__"),
     MethodSlot(unaryfunc, "am_aiter", "__aiter__"),
     MethodSlot(unaryfunc, "am_anext", "__anext__"),
+    EmptySlot("am_send", ifdef="PY_VERSION_HEX >= 0x030A00A3"),
 )
 
 
#------------------------------------------------------------------------------------------
@@ -888,10 +889,10 @@
     EmptySlot("tp_del"),
     EmptySlot("tp_version_tag"),
     EmptySlot("tp_finalize", ifdef="PY_VERSION_HEX >= 0x030400a1"),
-    EmptySlot("tp_vectorcall", ifdef="PY_VERSION_HEX >= 0x030800b1"),
+    EmptySlot("tp_vectorcall", ifdef="PY_VERSION_HEX >= 0x030800b1 && 
(!CYTHON_COMPILING_IN_PYPY || PYPY_VERSION_NUM >= 0x07030800)"),
     EmptySlot("tp_print", ifdef="PY_VERSION_HEX >= 0x030800b4 && 
PY_VERSION_HEX < 0x03090000"),
     # PyPy specific extension - only here to avoid C compiler warnings.
-    EmptySlot("tp_pypy_flags", ifdef="CYTHON_COMPILING_IN_PYPY && 
PYPY_VERSION_NUM+0 >= 0x06000000"),
+    EmptySlot("tp_pypy_flags", ifdef="CYTHON_COMPILING_IN_PYPY && 
PY_VERSION_HEX >= 0x03090000"),
 )
 
 
#------------------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Compiler/Visitor.py 
new/Cython-0.29.27/Cython/Compiler/Visitor.py
--- old/Cython-0.29.26/Cython/Compiler/Visitor.py       2021-12-16 
10:21:18.513220300 +0100
+++ new/Cython-0.29.27/Cython/Compiler/Visitor.py       2022-01-28 
18:21:38.032794200 +0100
@@ -198,7 +198,7 @@
         return self._visitchildren(parent, attrs)
 
     @cython.final
-    @cython.locals(idx=int)
+    @cython.locals(idx=cython.Py_ssize_t)
     def _visitchildren(self, parent, attrs):
         """
         Visits the children of the given parent. If parent is None, returns
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Shadow.py 
new/Cython-0.29.27/Cython/Shadow.py
--- old/Cython-0.29.26/Cython/Shadow.py 2021-12-16 10:21:18.521220400 +0100
+++ new/Cython-0.29.27/Cython/Shadow.py 2022-01-28 18:21:38.040794400 +0100
@@ -1,7 +1,7 @@
 # cython.* namespace for pure mode.
 from __future__ import absolute_import
 
-__version__ = "0.29.26"
+__version__ = "0.29.27"
 
 try:
     from __builtin__ import basestring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Utility/AsyncGen.c 
new/Cython-0.29.27/Cython/Utility/AsyncGen.c
--- old/Cython-0.29.26/Cython/Utility/AsyncGen.c        2021-12-16 
10:21:18.525220400 +0100
+++ new/Cython-0.29.27/Cython/Utility/AsyncGen.c        2022-01-28 
18:21:38.044794300 +0100
@@ -350,7 +350,10 @@
 static __Pyx_PyAsyncMethodsStruct __Pyx_async_gen_as_async = {
     0,                                          /* am_await */
     PyObject_SelfIter,                          /* am_aiter */
-    (unaryfunc)__Pyx_async_gen_anext             /* am_anext */
+    (unaryfunc)__Pyx_async_gen_anext,           /* am_anext */
+#if PY_VERSION_HEX >= 0x030A00A3
+    0, /*am_send*/
+#endif
 };
 #endif
 
@@ -421,13 +424,13 @@
 #elif PY_VERSION_HEX >= 0x030400a1
     0,                                          /* tp_finalize */
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                          /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                          /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -593,7 +596,10 @@
 static __Pyx_PyAsyncMethodsStruct __Pyx_async_gen_asend_as_async = {
     PyObject_SelfIter,                          /* am_await */
     0,                                          /* am_aiter */
-    0                                           /* am_anext */
+    0,                                          /* am_anext */
+#if PY_VERSION_HEX >= 0x030A00A3
+    0, /*am_send*/
+#endif
 };
 #endif
 
@@ -659,13 +665,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                          /* tp_finalize */
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                          /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                          /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -777,13 +783,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                          /* tp_finalize */
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                          /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                          /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -1000,7 +1006,10 @@
 static __Pyx_PyAsyncMethodsStruct __Pyx_async_gen_athrow_as_async = {
     PyObject_SelfIter,                          /* am_await */
     0,                                          /* am_aiter */
-    0                                           /* am_anext */
+    0,                                          /* am_anext */
+#if PY_VERSION_HEX >= 0x030A00A3
+    0, /*am_send*/
+#endif
 };
 #endif
 
@@ -1065,13 +1074,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                          /* tp_finalize */
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                          /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                          /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Utility/Coroutine.c 
new/Cython-0.29.27/Cython/Utility/Coroutine.c
--- old/Cython-0.29.26/Cython/Utility/Coroutine.c       2021-12-16 
10:21:18.525220400 +0100
+++ new/Cython-0.29.27/Cython/Utility/Coroutine.c       2022-01-28 
18:21:38.044794300 +0100
@@ -1557,13 +1557,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                  /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -1647,6 +1647,9 @@
     __Pyx_Coroutine_await, /*am_await*/
     0, /*am_aiter*/
     0, /*am_anext*/
+#if PY_VERSION_HEX >= 0x030A00A3
+    0, /*am_send*/
+#endif
 };
 #endif
 
@@ -1717,13 +1720,13 @@
 #elif PY_VERSION_HEX >= 0x030400a1
     0,                                  /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -1831,13 +1834,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     __Pyx_Coroutine_del,                /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -1942,13 +1945,13 @@
 #elif PY_VERSION_HEX >= 0x030400a1
     0,                                  /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Cython/Utility/CythonFunction.c 
new/Cython-0.29.27/Cython/Utility/CythonFunction.c
--- old/Cython-0.29.26/Cython/Utility/CythonFunction.c  2021-12-16 
10:21:18.525220400 +0100
+++ new/Cython-0.29.27/Cython/Utility/CythonFunction.c  2022-01-28 
18:21:38.044794300 +0100
@@ -730,13 +730,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                  /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
@@ -1262,13 +1262,13 @@
 #if PY_VERSION_HEX >= 0x030400a1
     0,                                  /*tp_finalize*/
 #endif
-#if PY_VERSION_HEX >= 0x030800b1
+#if PY_VERSION_HEX >= 0x030800b1 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
     0,                                  /*tp_vectorcall*/
 #endif
 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
     0,                                  /*tp_print*/
 #endif
-#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM+0 >= 0x06000000
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000
     0,                                          /*tp_pypy_flags*/
 #endif
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/PKG-INFO new/Cython-0.29.27/PKG-INFO
--- old/Cython-0.29.26/PKG-INFO 2021-12-16 10:21:26.557086700 +0100
+++ new/Cython-0.29.27/PKG-INFO 2022-01-28 18:21:46.624873600 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Cython
-Version: 0.29.26
+Version: 0.29.27
 Summary: The Cython compiler for writing C extensions for the Python language.
 Home-page: http://cython.org/
 Author: Robert Bradshaw, Stefan Behnel, Dag Seljebotn, Greg Ewing, et al.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/Tools/ci-run.sh 
new/Cython-0.29.27/Tools/ci-run.sh
--- old/Cython-0.29.26/Tools/ci-run.sh  2021-12-16 10:21:18.529220300 +0100
+++ new/Cython-0.29.27/Tools/ci-run.sh  2022-01-28 18:21:38.048794500 +0100
@@ -124,8 +124,8 @@
   if [[ $CYTHON_COMPILE_ALL == "1" ]]; then
     SETUP_ARGS="$SETUP_ARGS --cython-compile-all"
   fi
-  SETUP_ARGS="$SETUP_ARGS
-    $(python -c 'import sys; print("-j5" if sys.version_info >= (3,5) else 
"")')"
+  #SETUP_ARGS="$SETUP_ARGS
+  #  $(python -c 'import sys; print("-j5" if sys.version_info >= (3,5) else 
"")')"
 
   CFLAGS=$BUILD_CFLAGS \
     python setup.py build_ext -i $SETUP_ARGS || exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/build/depfile.srctree 
new/Cython-0.29.27/tests/build/depfile.srctree
--- old/Cython-0.29.26/tests/build/depfile.srctree      1970-01-01 
01:00:00.000000000 +0100
+++ new/Cython-0.29.27/tests/build/depfile.srctree      2022-01-28 
18:21:38.064794500 +0100
@@ -0,0 +1,33 @@
+PYTHON -m Cython.Build.Cythonize -M foo.pyx
+PYTHON check.py
+
+######## foo.pyx ########
+
+from bar cimport empty
+
+include "baz.pxi"
+
+empty()
+print(foo())
+
+
+######## baz.pxi ########
+
+def foo():
+    return "foo"
+
+
+######## bar.pxd ########
+
+cdef inline void empty():
+    print("empty")
+
+
+######## check.py ########
+
+import os
+
+with open("foo.c.dep", "r") as f:
+    contents = f.read().replace("\n", " ").replace("\\", "")
+
+assert sorted(contents.split()) == ['bar.pxd', 'baz.pxi', 'foo.c:', 
'foo.pyx'], contents
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/build/depfile_numpy.srctree 
new/Cython-0.29.27/tests/build/depfile_numpy.srctree
--- old/Cython-0.29.26/tests/build/depfile_numpy.srctree        1970-01-01 
01:00:00.000000000 +0100
+++ new/Cython-0.29.27/tests/build/depfile_numpy.srctree        2022-01-28 
18:21:38.064794500 +0100
@@ -0,0 +1,49 @@
+# tag: numpy
+
+PYTHON -m Cython.Build.Cythonize -M dep_np.pyx
+PYTHON check_np.py
+
+######## dep_np.pyx ########
+
+cimport numpy as np
+np.import_array()
+
+
+
+######## check_np.py ########
+
+import os
+import re
+
+import numpy as np
+import Cython
+
+with open("dep_np.c.dep", "r") as f:
+    contents = f.read().replace("\n", " ").replace("\\", "")
+
+contents = contents.split()
+
+cy_prefix, _ = os.path.split(Cython.__file__)
+contents = [fname.replace(cy_prefix, "cy_prefix") for fname in contents]
+
+np_prefix, _ = os.path.split(np.__file__)
+contents = [fname.replace(np_prefix, "np_prefix") for fname in contents]
+
+expected = ['cy_prefix/Includes/cpython/buffer.pxd',
+    'cy_prefix/Includes/cpython/mem.pxd',
+    'cy_prefix/Includes/cpython/object.pxd',
+    'cy_prefix/Includes/cpython/ref.pxd',
+    'cy_prefix/Includes/cpython/type.pxd',
+    'cy_prefix/Includes/libc/stdio.pxd',
+    'cy_prefix/Includes/libc/string.pxd',
+    'dep_np.c:',
+    'dep_np.pyx',]
+
+# Also account for legacy numpy versions, which do not ship
+# `__init__.pxd` hence the fallback is used:
+if 'cy_prefix/Includes/numpy/__init__.pxd' in contents:
+    expected.append('cy_prefix/Includes/numpy/__init__.pxd')
+else:
+    expected.append('np_prefix/__init__.pxd')
+
+assert sorted(contents) == sorted(expected), sorted(contents)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/build/depfile_package.srctree 
new/Cython-0.29.27/tests/build/depfile_package.srctree
--- old/Cython-0.29.26/tests/build/depfile_package.srctree      1970-01-01 
01:00:00.000000000 +0100
+++ new/Cython-0.29.27/tests/build/depfile_package.srctree      2022-01-28 
18:21:38.064794500 +0100
@@ -0,0 +1,58 @@
+'''
+PYTHON -m Cython.Build.Cythonize -i pkg --depfile
+PYTHON package_test.py
+'''
+
+######## package_test.py ########
+
+import os
+
+with open("pkg/test.c.dep", "r") as f:
+    contents = f.read().replace("\n", " ").replace("\\", "")
+
+assert sorted(contents.split()) == sorted(['test.c:', 'sub/incl.pxi', 
'test.pxd', 'test.pyx']), contents
+
+
+with open("pkg/sub/test.c.dep", "r") as f:
+    contents = f.read().replace("\n", " ").replace("\\", "")
+
+contents = [os.path.relpath(entry, '.')
+            if os.path.isabs(entry) else entry for entry in contents.split()]
+assert sorted(contents) == sorted(['test.c:', 'incl.pxi', 'test.pyx', 
'../test.pxd']), contents
+
+
+######## pkg/__init__.py ########
+
+
+######## pkg/test.pyx ########
+
+TEST = "pkg.test"
+
+include "sub/incl.pxi"
+
+cdef object get_str():
+   return TEST
+
+
+######## pkg/test.pxd ########
+
+cdef object get_str()
+
+
+######## pkg/sub/__init__.py ########
+
+
+######## pkg/sub/test.pyx ########
+# cython: language_level=3
+
+from ..test cimport get_str
+
+include 'incl.pxi'
+
+TEST = 'pkg.sub.test'
+
+
+######## pkg/sub/incl.pxi ########
+
+pass
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/build/module_api.srctree 
new/Cython-0.29.27/tests/build/module_api.srctree
--- old/Cython-0.29.26/tests/build/module_api.srctree   2021-12-16 
10:21:18.545220600 +0100
+++ new/Cython-0.29.27/tests/build/module_api.srctree   2022-01-28 
18:21:38.064794500 +0100
@@ -108,9 +108,10 @@
    if (!sys_modules) return;
    mod = PyInit_a();
    if (!mod) return;
-#if PY_VERSION_HEX >= 0x03050000
+#if PY_VERSION_HEX >= 0x03050000 && (!CYTHON_COMPILING_IN_PYPY || 
PYPY_VERSION_NUM >= 0x07030800)
    /* FIXME: this is incomplete and users shouldn't have to do this in the 
first place... */
    if (!PyModule_Check(mod)) {
+      /* In PEP 489 multi-phase init, PyInit_a returns PyModuleDef */
       PyModuleDef *mdef = (PyModuleDef*)mod;
       PyObject *modname = PyUnicode_FromString("a");
       if (!modname) return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/memoryview/cythonarray.pyx 
new/Cython-0.29.27/tests/memoryview/cythonarray.pyx
--- old/Cython-0.29.26/tests/memoryview/cythonarray.pyx 2021-12-16 
10:21:18.557220700 +0100
+++ new/Cython-0.29.27/tests/memoryview/cythonarray.pyx 2022-01-28 
18:21:38.076794600 +0100
@@ -7,7 +7,7 @@
 from cython cimport view as v
 cimport cython as cy
 
-include "cythonarrayutil.pxi"
+include "../testsupport/cythonarrayutil.pxi"
 
 
 def length(shape):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/memoryview/memslice.pyx 
new/Cython-0.29.27/tests/memoryview/memslice.pyx
--- old/Cython-0.29.26/tests/memoryview/memslice.pyx    2021-12-16 
10:21:18.557220700 +0100
+++ new/Cython-0.29.27/tests/memoryview/memslice.pyx    2022-01-28 
18:21:38.076794600 +0100
@@ -34,7 +34,7 @@
 
 
 include "../buffers/mockbuffers.pxi"
-include "cythonarrayutil.pxi"
+include "../testsupport/cythonarrayutil.pxi"
 
 def _print_attributes(memview):
     print "shape: " + " ".join(map(str, memview.shape))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/memoryview/numpy_memoryview.pyx 
new/Cython-0.29.27/tests/memoryview/numpy_memoryview.pyx
--- old/Cython-0.29.26/tests/memoryview/numpy_memoryview.pyx    2021-12-16 
10:21:18.557220700 +0100
+++ new/Cython-0.29.27/tests/memoryview/numpy_memoryview.pyx    2022-01-28 
18:21:38.076794600 +0100
@@ -12,7 +12,7 @@
 cimport cython
 from cython cimport view
 
-include "cythonarrayutil.pxi"
+include "../testsupport/cythonarrayutil.pxi"
 include "../buffers/mockbuffers.pxi"
 
 ctypedef np.int32_t dtype_t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/asyncio_generators.srctree 
new/Cython-0.29.27/tests/run/asyncio_generators.srctree
--- old/Cython-0.29.26/tests/run/asyncio_generators.srctree     2021-12-16 
10:21:18.557220700 +0100
+++ new/Cython-0.29.27/tests/run/asyncio_generators.srctree     2022-01-28 
18:21:38.076794600 +0100
@@ -170,7 +170,6 @@
 
 import asyncio
 
-@asyncio.coroutine
 @types_coroutine
 def wait3():
     counter = 0
@@ -189,9 +188,8 @@
 except ImportError:
     types_coroutine = lambda f:f
 
-from asyncio import coroutine, sleep
+from asyncio import sleep
 
-@coroutine
 @types_coroutine
 def wait3():
     counter = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/exceptionrefcount.pyx 
new/Cython-0.29.27/tests/run/exceptionrefcount.pyx
--- old/Cython-0.29.26/tests/run/exceptionrefcount.pyx  2021-12-16 
10:21:18.569220800 +0100
+++ new/Cython-0.29.27/tests/run/exceptionrefcount.pyx  2022-01-28 
18:21:38.088795000 +0100
@@ -1,4 +1,6 @@
-__doc__ = u"""
+# mode: run
+
+"""
 >>> class SampleException(Exception): pass
 
 >>> def assert_refcount(rc1, rc2, func):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/for_in_iter.py 
new/Cython-0.29.27/tests/run/for_in_iter.py
--- old/Cython-0.29.26/tests/run/for_in_iter.py 2021-12-16 10:21:18.569220800 
+0100
+++ new/Cython-0.29.27/tests/run/for_in_iter.py 2022-01-28 18:21:38.088795000 
+0100
@@ -162,3 +162,12 @@
     """
     for i in range(N):
         yield i
+
+def for_in_range_invalid_arg_count():
+    """
+    >>> for_in_range_invalid_arg_count()     # doctest: +ELLIPSIS
+    Traceback (most recent call last):
+    TypeError: ...
+    """
+    for i in range(1, 2, 3, 4):
+        pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/fused_types.pyx 
new/Cython-0.29.27/tests/run/fused_types.pyx
--- old/Cython-0.29.26/tests/run/fused_types.pyx        2021-12-16 
10:21:18.569220800 +0100
+++ new/Cython-0.29.27/tests/run/fused_types.pyx        2022-01-28 
18:21:38.092795000 +0100
@@ -154,7 +154,7 @@
         test_str = cython.declare(string_t, value)
         print fused_pointer_except_null(&test_str)[0].decode('ascii')
 
-include "cythonarrayutil.pxi"
+include "../testsupport/cythonarrayutil.pxi"
 
 cpdef cython.integral test_fused_memoryviews(cython.integral[:, ::1] a):
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/line_profile_test.srctree 
new/Cython-0.29.27/tests/run/line_profile_test.srctree
--- old/Cython-0.29.26/tests/run/line_profile_test.srctree      2021-12-16 
10:21:18.573221000 +0100
+++ new/Cython-0.29.27/tests/run/line_profile_test.srctree      2022-01-28 
18:21:38.092795000 +0100
@@ -126,6 +126,7 @@
             n //= 2
         else:
             n = 3*n+1
+    x = <object> n  # make sure the computation does not get discarded
 
 
 @cython.binding(True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.26/tests/run/longintrepr.pyx 
new/Cython-0.29.27/tests/run/longintrepr.pyx
--- old/Cython-0.29.26/tests/run/longintrepr.pyx        2021-12-16 
10:21:18.573221000 +0100
+++ new/Cython-0.29.27/tests/run/longintrepr.pyx        2022-01-28 
18:21:38.096795000 +0100
@@ -5,10 +5,6 @@
 from cpython.longintrepr cimport *
 cimport cython
 
-cdef extern from *:
-    Py_ssize_t* Py_SIZE_PTR "&Py_SIZE"(object)
-
-
 @cython.cdivision(True)
 def lshift(long a, unsigned long n):
     """
@@ -16,12 +12,10 @@
 
     >>> print(lshift(3, 1))
     6
-    >>> print(lshift(-3, 1))
-    -6
     >>> print(lshift(1, 30))
     1073741824
     >>> print(lshift(-12345, 115))
-    -512791237748899576593671817473776680960
+    512791237748899576593671817473776680960
     >>> print(-12345 << 115)
     -512791237748899576593671817473776680960
     >>> [i for i in range(100) if (65535 << i) != lshift(65535, i)]
@@ -58,7 +52,4 @@
         index -= 1
         ret.ob_digit[index] = 0
 
-    if a < 0:
-        Py_SIZE_PTR(ret)[0] *= -1
-
     return ret

Reply via email to