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 2023-07-12 17:26:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Cython (Old)
 and      /work/SRC/openSUSE:Factory/.python-Cython.new.8922 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Cython"

Wed Jul 12 17:26:05 2023 rev:72 rq:1098027 version:0.29.36

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Cython/python-Cython.changes      
2023-05-29 22:47:33.814226986 +0200
+++ /work/SRC/openSUSE:Factory/.python-Cython.new.8922/python-Cython.changes    
2023-07-12 17:26:06.774061220 +0200
@@ -1,0 +2,20 @@
+Mon Jul 10 19:03:16 UTC 2023 - Matej Cepl <[email protected]>
+
+- Clean up SPEC file.
+
+-------------------------------------------------------------------
+Sat Jul  8 20:26:51 UTC 2023 - Arun Persaud <[email protected]>
+
+- update to version 0.29.36:
+  * Async generators lost their return value in PyPy. (Github issue
+    :issue:`5465`)
+  * The outdated C macro _PyGC_FINALIZED() is no longer used in
+    Py3.9+.
+  * The deprecated Py_OptimizeFlag is no longer used in Python
+    3.9+. (Github issue :issue:`5343`)
+  * Using the global __debug__ variable but not assertions could lead
+    to compile errors.
+  * The broken HTML template support was removed from Tempita. (Github
+    issue :issue:`3309`)
+
+-------------------------------------------------------------------

Old:
----
  Cython-0.29.35.tar.gz

New:
----
  Cython-0.29.36.tar.gz

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

Other differences:
------------------
++++++ python-Cython.spec ++++++
--- /var/tmp/diff_new_pack.ownpZ1/_old  2023-07-12 17:26:07.610066094 +0200
+++ /var/tmp/diff_new_pack.ownpZ1/_new  2023-07-12 17:26:07.618066140 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%bcond_with test
 %{?sle15_python_module_pythons}
+%bcond_with test
 Name:           python-Cython
-Version:        0.29.35
+Version:        0.29.36
 Release:        0
 Summary:        The Cython compiler for writing C extensions for the Python 
language
 License:        Apache-2.0
@@ -27,6 +27,8 @@
 Source:         
https://files.pythonhosted.org/packages/source/C/Cython/Cython-%{version}.tar.gz
 Source1:        python-Cython-rpmlintrc
 BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  %{python_module xml}
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
@@ -54,10 +56,10 @@
 
 %build
 export CFLAGS="%{optflags} -fno-strict-aliasing"
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 for p in cython cythonize cygdb ; do
     %python_clone -a %{buildroot}%{_bindir}/$p
 done
@@ -89,7 +91,7 @@
 %python_alternative %{_bindir}/cython
 %python_alternative %{_bindir}/cythonize
 %{python_sitearch}/Cython/
-%{python_sitearch}/Cython-%{version}-py*.egg-info
+%{python_sitearch}/Cython-%{version}*-info
 %{python_sitearch}/cython.py*
 %pycache_only %{python_sitearch}/__pycache__/cython*.py*
 %{python_sitearch}/pyximport/

++++++ Cython-0.29.35.tar.gz -> Cython-0.29.36.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/.gitrev new/Cython-0.29.36/.gitrev
--- old/Cython-0.29.35/.gitrev  2023-05-24 11:02:18.397117600 +0200
+++ new/Cython-0.29.36/.gitrev  2023-07-04 21:20:42.912309200 +0200
@@ -1 +1 @@
-5cef4fa97285b32d1e7d78c57398c464106d14ab
+702bbc80fe2e346c4ddc58f074e0054da56e0ced
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/CHANGES.rst 
new/Cython-0.29.36/CHANGES.rst
--- old/Cython-0.29.35/CHANGES.rst      2023-05-24 11:02:13.470214800 +0200
+++ new/Cython-0.29.36/CHANGES.rst      2023-07-04 21:20:38.236224400 +0200
@@ -2,6 +2,26 @@
 Cython Changelog
 ================
 
+0.29.36 (2023-07-04)
+====================
+
+Bugs fixed
+----------
+
+* Async generators lost their return value in PyPy.
+  (Github issue :issue:`5465`)
+
+* The outdated C macro ``_PyGC_FINALIZED()`` is no longer used in Py3.9+.
+
+* The deprecated ``Py_OptimizeFlag`` is no longer used in Python 3.9+.
+  (Github issue :issue:`5343`)
+
+* Using the global ``__debug__`` variable but not assertions could lead to 
compile errors.
+
+* The broken HTML template support was removed from Tempita.
+  (Github issue :issue:`3309`)
+
+
 0.29.35 (2023-05-24)
 ====================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Compiler/Builtin.py 
new/Cython-0.29.36/Cython/Compiler/Builtin.py
--- old/Cython-0.29.35/Cython/Compiler/Builtin.py       2023-05-24 
11:02:13.470214800 +0200
+++ new/Cython-0.29.36/Cython/Compiler/Builtin.py       2023-07-04 
21:20:38.236224400 +0200
@@ -417,9 +417,10 @@
     init_builtin_types()
     init_builtin_funcs()
 
-    builtin_scope.declare_var(
+    entry = builtin_scope.declare_var(
         '__debug__', PyrexTypes.c_const_type(PyrexTypes.c_bint_type),
-        pos=None, cname='(!Py_OptimizeFlag)', is_cdef=True)
+        pos=None, cname='__pyx_assertions_enabled()', is_cdef=True)
+    entry.utility_code = UtilityCode.load_cached("AssertionsEnabled", 
"Exceptions.c")
 
     global list_type, tuple_type, dict_type, set_type, frozenset_type
     global bytes_type, str_type, unicode_type, basestring_type, slice_type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Compiler/ModuleNode.py 
new/Cython-0.29.36/Cython/Compiler/ModuleNode.py
--- old/Cython-0.29.35/Cython/Compiler/ModuleNode.py    2023-05-24 
11:02:13.478204000 +0200
+++ new/Cython-0.29.36/Cython/Compiler/ModuleNode.py    2023-07-04 
21:20:38.240224400 +0200
@@ -1463,10 +1463,10 @@
             # in Py3.4+, call tp_finalize() as early as possible
             code.putln("#if CYTHON_USE_TP_FINALIZE")
             if needs_gc:
-                finalised_check = '!_PyGC_FINALIZED(o)'
+                finalised_check = '!__Pyx_PyObject_GC_IsFinalized(o)'
             else:
                 finalised_check = (
-                    '(!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))')
+                    '(!PyType_IS_GC(Py_TYPE(o)) || 
!__Pyx_PyObject_GC_IsFinalized(o))')
             code.putln(
                 "if (unlikely(PyType_HasFeature(Py_TYPE(o), 
Py_TPFLAGS_HAVE_FINALIZE)"
                 " && Py_TYPE(o)->tp_finalize) && %s) {" % finalised_check)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Compiler/Nodes.py 
new/Cython-0.29.36/Cython/Compiler/Nodes.py
--- old/Cython-0.29.35/Cython/Compiler/Nodes.py 2023-05-24 11:02:13.478204000 
+0200
+++ new/Cython-0.29.36/Cython/Compiler/Nodes.py 2023-07-04 21:20:38.244224500 
+0200
@@ -6214,8 +6214,10 @@
     gil_message = "Raising exception"
 
     def generate_execution_code(self, code):
+        code.globalstate.use_utility_code(
+            UtilityCode.load_cached("AssertionsEnabled", "Exceptions.c"))
         code.putln("#ifndef CYTHON_WITHOUT_ASSERTIONS")
-        code.putln("if (unlikely(!Py_OptimizeFlag)) {")
+        code.putln("if (unlikely(__pyx_assertions_enabled())) {")
         code.mark_pos(self.pos)
         self.cond.generate_evaluation_code(code)
         code.putln(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Shadow.py 
new/Cython-0.29.36/Cython/Shadow.py
--- old/Cython-0.29.35/Cython/Shadow.py 2023-05-24 11:02:13.490188100 +0200
+++ new/Cython-0.29.36/Cython/Shadow.py 2023-07-04 21:20:38.256224600 +0200
@@ -1,7 +1,7 @@
 # cython.* namespace for pure mode.
 from __future__ import absolute_import
 
-__version__ = "0.29.35"
+__version__ = "0.29.36"
 
 try:
     from __builtin__ import basestring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Tempita/_tempita.py 
new/Cython-0.29.36/Cython/Tempita/_tempita.py
--- old/Cython-0.29.35/Cython/Tempita/_tempita.py       2023-05-24 
11:02:13.490188100 +0200
+++ new/Cython-0.29.36/Cython/Tempita/_tempita.py       2023-07-04 
21:20:38.256224600 +0200
@@ -33,11 +33,6 @@
 
 import re
 import sys
-import cgi
-try:
-    from urllib import quote as url_quote
-except ImportError:  # Py3
-    from urllib.parse import quote as url_quote
 import os
 import tokenize
 from io import StringIO
@@ -45,8 +40,7 @@
 from ._looper import looper
 from .compat3 import bytes, unicode_, basestring_, next, is_unicode, 
coerce_text
 
-__all__ = ['TemplateError', 'Template', 'sub', 'HTMLTemplate',
-           'sub_html', 'html', 'bunch']
+__all__ = ['TemplateError', 'Template', 'sub', 'bunch']
 
 in_re = re.compile(r'\s+in\s+')
 var_re = re.compile(r'^[a-z_][a-z0-9_]*$', re.I)
@@ -144,9 +138,8 @@
 
     def from_filename(cls, filename, namespace=None, encoding=None,
                       default_inherit=None, get_template=get_file_template):
-        f = open(filename, 'rb')
-        c = f.read()
-        f.close()
+        with open(filename, 'rb') as f:
+            c = f.read()
         if encoding:
             c = c.decode(encoding)
         return cls(content=c, name=filename, namespace=namespace,
@@ -411,91 +404,6 @@
             self.__class__.__name__,
             ' '.join(['%s=%r' % (k, v) for k, v in sorted(self.items())]))
 
-############################################################
-## HTML Templating
-############################################################
-
-
-class html(object):
-
-    def __init__(self, value):
-        self.value = value
-
-    def __str__(self):
-        return self.value
-
-    def __html__(self):
-        return self.value
-
-    def __repr__(self):
-        return '<%s %r>' % (
-            self.__class__.__name__, self.value)
-
-
-def html_quote(value, force=True):
-    if not force and hasattr(value, '__html__'):
-        return value.__html__()
-    if value is None:
-        return ''
-    if not isinstance(value, basestring_):
-        value = coerce_text(value)
-    if sys.version >= "3" and isinstance(value, bytes):
-        value = cgi.escape(value.decode('latin1'), 1)
-        value = value.encode('latin1')
-    else:
-        value = cgi.escape(value, 1)
-    if sys.version < "3":
-        if is_unicode(value):
-            value = value.encode('ascii', 'xmlcharrefreplace')
-    return value
-
-
-def url(v):
-    v = coerce_text(v)
-    if is_unicode(v):
-        v = v.encode('utf8')
-    return url_quote(v)
-
-
-def attr(**kw):
-    parts = []
-    for name, value in sorted(kw.items()):
-        if value is None:
-            continue
-        if name.endswith('_'):
-            name = name[:-1]
-        parts.append('%s="%s"' % (html_quote(name), html_quote(value)))
-    return html(' '.join(parts))
-
-
-class HTMLTemplate(Template):
-
-    default_namespace = Template.default_namespace.copy()
-    default_namespace.update(dict(
-        html=html,
-        attr=attr,
-        url=url,
-        html_quote=html_quote,
-        ))
-
-    def _repr(self, value, pos):
-        if hasattr(value, '__html__'):
-            value = value.__html__()
-            quote = False
-        else:
-            quote = True
-        plain = Template._repr(self, value, pos)
-        if quote:
-            return html_quote(plain)
-        else:
-            return plain
-
-
-def sub_html(content, **kw):
-    name = kw.get('__name')
-    tmpl = HTMLTemplate(content, name=name)
-    return tmpl.substitute(kw)
-
 
 class TemplateDef(object):
     def __init__(self, template, func_name, func_signature,
@@ -1131,11 +1039,6 @@
         metavar="FILENAME",
         help="File to write output to (default stdout)")
     parser.add_option(
-        '--html',
-        dest='use_html',
-        action='store_true',
-        help="Use HTML style filling (including automatic HTML quoting)")
-    parser.add_option(
         '--env',
         dest='use_env',
         action='store_true',
@@ -1162,19 +1065,13 @@
         template_content = sys.stdin.read()
         template_name = '<stdin>'
     else:
-        f = open(template_name, 'rb')
-        template_content = f.read()
-        f.close()
-    if options.use_html:
-        TemplateClass = HTMLTemplate
-    else:
-        TemplateClass = Template
-    template = TemplateClass(template_content, name=template_name)
+        with open(template_name, 'rb') as f:
+            template_content = f.read()
+    template = Template(template_content, name=template_name)
     result = template.substitute(vars)
     if options.output:
-        f = open(options.output, 'wb')
-        f.write(result)
-        f.close()
+        with open(options.output, 'wb') as f:
+            f.write(result)
     else:
         sys.stdout.write(result)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Utility/AsyncGen.c 
new/Cython-0.29.36/Cython/Utility/AsyncGen.c
--- old/Cython-0.29.35/Cython/Utility/AsyncGen.c        2023-05-24 
11:02:13.490188100 +0200
+++ new/Cython-0.29.36/Cython/Utility/AsyncGen.c        2023-07-04 
21:20:38.256224600 +0200
@@ -202,7 +202,9 @@
 static int
 __Pyx_async_gen_init_hooks(__pyx_PyAsyncGenObject *o)
 {
+#if !CYTHON_COMPILING_IN_PYPY
     PyThreadState *tstate;
+#endif
     PyObject *finalizer;
     PyObject *firstiter;
 
@@ -212,15 +214,22 @@
 
     o->ag_hooks_inited = 1;
 
+#if CYTHON_COMPILING_IN_PYPY
+    finalizer = _PyEval_GetAsyncGenFinalizer();
+#else
     tstate = __Pyx_PyThreadState_Current;
-
     finalizer = tstate->async_gen_finalizer;
+#endif
     if (finalizer) {
         Py_INCREF(finalizer);
         o->ag_finalizer = finalizer;
     }
 
+#if CYTHON_COMPILING_IN_PYPY
+    firstiter = _PyEval_GetAsyncGenFirstiter();
+#else
     firstiter = tstate->async_gen_firstiter;
+#endif
     if (firstiter) {
         PyObject *res;
 #if CYTHON_UNPACK_METHODS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Utility/Exceptions.c 
new/Cython-0.29.36/Cython/Utility/Exceptions.c
--- old/Cython-0.29.35/Cython/Utility/Exceptions.c      2023-05-24 
11:02:13.494182800 +0200
+++ new/Cython-0.29.36/Cython/Utility/Exceptions.c      2023-07-04 
21:20:38.260224800 +0200
@@ -6,6 +6,32 @@
 // __Pyx_GetException()
 
 
+/////////////// AssertionsEnabled.init ///////////////
+__Pyx_init_assertions_enabled();
+
+/////////////// AssertionsEnabled.proto ///////////////
+
+#define __Pyx_init_assertions_enabled()
+
+#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && 
!defined(Py_OptimizeFlag)
+  #define __pyx_assertions_enabled() (1)
+#elif PY_VERSION_HEX < 0x03080000  ||  CYTHON_COMPILING_IN_PYPY  ||  
defined(Py_LIMITED_API)
+  #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
+#elif CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030900A6
+  // Py3.8+ has PyConfig from PEP 587, but only Py3.9 added read access to it.
+  // Py_OptimizeFlag is deprecated in Py3.12+
+  static int __pyx_assertions_enabled_flag;
+  #define __pyx_assertions_enabled() (__pyx_assertions_enabled_flag)
+
+  #undef __Pyx_init_assertions_enabled
+  static void __Pyx_init_assertions_enabled(void) {
+    __pyx_assertions_enabled_flag = ! 
_PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
+  }
+#else
+  #define __pyx_assertions_enabled() (!Py_OptimizeFlag)
+#endif
+
+
 /////////////// PyThreadStateGet.proto ///////////////
 //@substitute: naming
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Utility/ModuleSetupCode.c 
new/Cython-0.29.36/Cython/Utility/ModuleSetupCode.c
--- old/Cython-0.29.35/Cython/Utility/ModuleSetupCode.c 2023-05-24 
11:02:13.494182800 +0200
+++ new/Cython-0.29.36/Cython/Utility/ModuleSetupCode.c 2023-07-04 
21:20:38.260224800 +0200
@@ -83,7 +83,7 @@
     #define CYTHON_PEP489_MULTI_PHASE_INIT 1
   #endif
   #undef CYTHON_USE_TP_FINALIZE
-  #define CYTHON_USE_TP_FINALIZE 0
+  #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && 
PYPY_VERSION_NUM >= 0x07030C00)
   #undef CYTHON_USE_DICT_VERSIONS
   #define CYTHON_USE_DICT_VERSIONS 0
   #undef CYTHON_USE_EXC_INFO_STACK
@@ -445,10 +445,6 @@
 
 /////////////// PythonCompatibility ///////////////
 
-#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && 
!defined(Py_OptimizeFlag)
-  #define Py_OptimizeFlag 0
-#endif
-
 #define __PYX_BUILD_PY_SSIZE_T "n"
 #define CYTHON_FORMAT_SSIZE_T "z"
 
@@ -537,6 +533,12 @@
   #define __Pyx_DefaultClassType PyType_Type
 #endif
 
+#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
+#else
+  #define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
+#endif
+
 #ifndef Py_TPFLAGS_CHECKTYPES
   #define Py_TPFLAGS_CHECKTYPES 0
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/Cython/Utility/ObjectHandling.c 
new/Cython-0.29.36/Cython/Utility/ObjectHandling.c
--- old/Cython-0.29.35/Cython/Utility/ObjectHandling.c  2023-05-24 
11:02:13.494182800 +0200
+++ new/Cython-0.29.36/Cython/Utility/ObjectHandling.c  2023-07-04 
21:20:38.260224800 +0200
@@ -194,11 +194,11 @@
     // We always do a quick slot check because calling PyIter_Check() is so 
wasteful.
     iternextfunc iternext = Py_TYPE(iterator)->tp_iternext;
     if (likely(iternext)) {
-#if CYTHON_USE_TYPE_SLOTS
+#if CYTHON_USE_TYPE_SLOTS || CYTHON_COMPILING_IN_PYPY
         next = iternext(iterator);
         if (likely(next))
             return next;
-        #if PY_VERSION_HEX >= 0x02070000
+        #if PY_VERSION_HEX >= 0x02070000 && CYTHON_COMPILING_IN_CPYTHON
         if (unlikely(iternext == &_PyObject_NextNotImplemented))
             return NULL;
         #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/PKG-INFO new/Cython-0.29.36/PKG-INFO
--- old/Cython-0.29.35/PKG-INFO 2023-05-24 11:02:23.784952000 +0200
+++ new/Cython-0.29.36/PKG-INFO 2023-07-04 21:20:48.884419000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: Cython
-Version: 0.29.35
+Version: 0.29.36
 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.35/runtests.py 
new/Cython-0.29.36/runtests.py
--- old/Cython-0.29.35/runtests.py      2023-05-24 11:02:13.514156000 +0200
+++ new/Cython-0.29.36/runtests.py      2023-07-04 21:20:38.276225000 +0200
@@ -68,7 +68,6 @@
 
 from distutils.command.build_ext import build_ext as _build_ext
 from distutils import sysconfig
-from distutils import ccompiler
 _to_clean = []
 
 @atexit.register
@@ -305,13 +304,14 @@
     """
         finds gcc version using Popen
     """
+    cc = ''
     if language == 'cpp':
-        cc = sysconfig.get_config_var('CXX')
-    else:
-        cc = sysconfig.get_config_var('CC')
+        cc = os.environ.get('CXX') or sysconfig.get_config_var('CXX')
     if not cc:
-       cc = ccompiler.get_default_compiler()
-
+        cc = os.environ.get('CC') or sysconfig.get_config_var('CC')
+    if not cc:
+        from distutils import ccompiler
+        cc = ccompiler.get_default_compiler()
     if not cc:
         return ''
 
@@ -433,6 +433,7 @@
         'run.py_unicode_strings',  # Py_UNICODE was removed
         'compile.pylong',  # PyLongObject changed its structure
         'run.longintrepr',  # PyLongObject changed its structure
+        'pyximport',  # 'imp' module was removed
     ]),
 
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/buffers/bufaccess.pyx 
new/Cython-0.29.36/tests/buffers/bufaccess.pyx
--- old/Cython-0.29.35/tests/buffers/bufaccess.pyx      2023-05-24 
11:02:13.514156000 +0200
+++ new/Cython-0.29.36/tests/buffers/bufaccess.pyx      2023-07-04 
21:20:38.280225300 +0200
@@ -972,9 +972,12 @@
     we to the "buffer implementor" refcounting directly in the
     testcase.
 
-    >>> a, b, c = "globally_unique_string_23234123", {4:23}, [34,3]
+    >>> _x = 1
+    >>> a, b, c = "globally_unique_string_2323412" + "3" * _x, {4:23}, [34,3]
+
     >>> get_refcount(a), get_refcount(b), get_refcount(c)
     (2, 2, 2)
+
     >>> A = ObjectMockBuffer(None, [a, b, c])
     >>> printbuf_object(A, (3,))
     'globally_unique_string_23234123' 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/memoryview/memoryview.pyx 
new/Cython-0.29.36/tests/memoryview/memoryview.pyx
--- old/Cython-0.29.35/tests/memoryview/memoryview.pyx  2023-05-24 
11:02:13.526140000 +0200
+++ new/Cython-0.29.36/tests/memoryview/memoryview.pyx  2023-07-04 
21:20:38.292225400 +0200
@@ -638,9 +638,12 @@
     we to the "buffer implementor" refcounting directly in the
     testcase.
 
-    >>> a, b, c = "globally_unique_string_23234123", {4:23}, [34,3]
+    >>> _x = 1
+    >>> a, b, c = "globally_unique_string_2323412" + "3" * _x, {4:23}, [34,3]
+
     >>> get_refcount(a), get_refcount(b), get_refcount(c)
     (2, 2, 2)
+
     >>> A = ObjectMockBuffer(None, [a, b, c])
     >>> printbuf_object(A, (3,))
     'globally_unique_string_23234123' 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/memoryview/memslice.pyx 
new/Cython-0.29.36/tests/memoryview/memslice.pyx
--- old/Cython-0.29.35/tests/memoryview/memslice.pyx    2023-05-24 
11:02:13.526140000 +0200
+++ new/Cython-0.29.36/tests/memoryview/memslice.pyx    2023-07-04 
21:20:38.292225400 +0200
@@ -1077,9 +1077,12 @@
     we to the "buffer implementor" refcounting directly in the
     testcase.
 
-    >>> a, b, c = "globally_unique_string_23234123", {4:23}, [34,3]
+    >>> _x = 1
+    >>> a, b, c = "globally_unique_string_2323412" + "3" * _x, {4:23}, [34,3]
+
     >>> get_refcount(a), get_refcount(b), get_refcount(c)
     (2, 2, 2)
+
     >>> A = ObjectMockBuffer(None, [a, b, c])  # , writable=False)
     >>> printbuf_object(A, (3,))
     'globally_unique_string_23234123' 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/pypy_bugs.txt 
new/Cython-0.29.36/tests/pypy_bugs.txt
--- old/Cython-0.29.35/tests/pypy_bugs.txt      2023-05-24 11:02:13.526140000 
+0200
+++ new/Cython-0.29.36/tests/pypy_bugs.txt      2023-07-04 21:20:38.292225400 
+0200
@@ -18,7 +18,7 @@
 external_ref_reassignment
 run.exttype_dealloc
 
-# bugs in cpyext
+# bugs in cpyext: PyNumber_InPlacePower with non-None modulus is not supported
 run.special_methods_T561
 run.special_methods_T561_py2
 
@@ -35,4 +35,3 @@
 run.exceptionrefcount
 run.capiimpl
 run.refcount_in_meth
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/run/__debug__.srctree 
new/Cython-0.29.36/tests/run/__debug__.srctree
--- old/Cython-0.29.35/tests/run/__debug__.srctree      2023-05-24 
11:02:13.526140000 +0200
+++ new/Cython-0.29.36/tests/run/__debug__.srctree      2023-07-04 
21:20:38.292225400 +0200
@@ -10,7 +10,7 @@
 from distutils.core import setup
 from Cython.Build import cythonize
 
-setup(ext_modules = cythonize('debug_test_cython.pyx'))
+setup(ext_modules = cythonize('*.pyx'))
 
 ######## debug_test.py ########
 
@@ -47,6 +47,23 @@
         "CYTHON: unexpected debug value %s, expected %s" % (
         debug_test_cython.DBG, optimised))
 
+try:
+    import plain_debug
+except ValueError:
+    assert DBG
+except IndexError:
+    assert not DBG
+else:
+    assert False
+
+
+######## plain_debug.pyx ########
+
+if __debug__:
+    raise ValueError("DEBUG!")
+else:
+    raise IndexError("NOT DEBUG!")
+
 
 ######## debug_test_cython.pyx ########
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/run/async_iter_pep492.pyx 
new/Cython-0.29.36/tests/run/async_iter_pep492.pyx
--- old/Cython-0.29.35/tests/run/async_iter_pep492.pyx  2023-05-24 
11:02:13.526140000 +0200
+++ new/Cython-0.29.36/tests/run/async_iter_pep492.pyx  2023-07-04 
21:20:38.296225500 +0200
@@ -211,6 +211,9 @@
         self.i += 1
         return self.i
 
+def has_getrefcount():
+    import sys
+    return hasattr(sys, "getrefcount")
 
 def test_with_for():
     """
@@ -223,8 +226,9 @@
 
     manager = Manager(I)
     iterable = Iterable()
-    mrefs_before = sys.getrefcount(manager)
-    irefs_before = sys.getrefcount(iterable)
+    if has_getrefcount():
+        mrefs_before = sys.getrefcount(manager)
+        irefs_before = sys.getrefcount(iterable)
 
     async def main():
         async with manager:
@@ -235,8 +239,9 @@
     run_async(main())
     print(I[0])
 
-    assert sys.getrefcount(manager) == mrefs_before
-    assert sys.getrefcount(iterable) == irefs_before
+    if has_getrefcount():
+        assert sys.getrefcount(manager) == mrefs_before
+        assert sys.getrefcount(iterable) == irefs_before
 
     ##############
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/run/error_pos.srctree 
new/Cython-0.29.36/tests/run/error_pos.srctree
--- old/Cython-0.29.35/tests/run/error_pos.srctree      2023-05-24 
11:02:13.538123800 +0200
+++ new/Cython-0.29.36/tests/run/error_pos.srctree      2023-07-04 
21:20:38.304225700 +0200
@@ -21,4 +21,4 @@
 _, err = proc.communicate()
 # The error should contain the line number and the line text where the
 # undefined identifier is used.
-assert b'line 3, in init error_pos' and b'abcdefg(line)' in err, err
+assert b'line 3, in init error_pos' in err and b'abcdefg(line)' in err, err
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/run/numpy_test.pyx 
new/Cython-0.29.36/tests/run/numpy_test.pyx
--- old/Cython-0.29.35/tests/run/numpy_test.pyx 2023-05-24 11:02:13.546113300 
+0200
+++ new/Cython-0.29.36/tests/run/numpy_test.pyx 2023-07-04 21:20:38.312225800 
+0200
@@ -385,7 +385,6 @@
 
 
 def inc1_int_t(np.ndarray[np.int_t] arr):               arr[1] += 1
-def inc1_long_t(np.ndarray[np.long_t] arr):             arr[1] += 1
 def inc1_longlong_t(np.ndarray[np.longlong_t] arr):     arr[1] += 1
 def inc1_float_t(np.ndarray[np.float_t] arr):           arr[1] += 1
 def inc1_double_t(np.ndarray[np.double_t] arr):         arr[1] += 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cython-0.29.35/tests/run/test_asyncgen.py 
new/Cython-0.29.36/tests/run/test_asyncgen.py
--- old/Cython-0.29.35/tests/run/test_asyncgen.py       2023-05-24 
11:02:13.554102700 +0200
+++ new/Cython-0.29.36/tests/run/test_asyncgen.py       2023-07-04 
21:20:38.320226000 +0200
@@ -46,6 +46,11 @@
     from unittest import skip
     return skip("needs Python 3.6 or later")(f)
 
+def not_pypy(f):
+    if getattr(sys, "pypy_version_info", False):
+        from unittest import skip
+        return skip("cannot run on PyPy due to to finalizer")(f)
+    return f
 
 try:
     from types import coroutine as types_coroutine
@@ -765,6 +770,7 @@
         t.cancel()
         self.loop.run_until_complete(asyncio.sleep(0.01))
 
+    @not_pypy
     @needs_py36_asyncio
     def test_async_gen_asyncio_gc_aclose_09(self):
         DONE = 0

++++++ python-Cython-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.ownpZ1/_old  2023-07-12 17:26:08.234069731 +0200
+++ /var/tmp/diff_new_pack.ownpZ1/_new  2023-07-12 17:26:08.238069754 +0200
@@ -1,5 +1,5 @@
 addFilter('devel-file-in-non-devel-package .*/Cython/.*')
-addFilter('devel-dependency python38-devel')
 addFilter('devel-dependency python39-devel')
 addFilter('devel-dependency python310-devel')
+addFilter('devel-dependency python311-devel')
 

Reply via email to