Compare commits
No commits in common. "stream-python39-3.9-rhel-8.10.0" and "c8-stream-3.8" have entirely different histories.
stream-pyt
...
c8-stream-
1
.Cython.metadata
Normal file
1
.Cython.metadata
Normal file
@ -0,0 +1 @@
|
||||
db2286ea3b3a6060c4294f9c3df652c5b4f60fca SOURCES/Cython-0.29.14.tar.gz
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
/Cython-0.29.21.tar.gz
|
||||
SOURCES/Cython-0.29.14.tar.gz
|
||||
|
@ -1,13 +1,12 @@
|
||||
%global srcname Cython
|
||||
%global upname cython
|
||||
|
||||
# RHEL8: Tests disabled during build due to missing dependencies
|
||||
%bcond_with tests
|
||||
|
||||
Name: Cython
|
||||
Version: 0.29.21
|
||||
%global upver %{version}
|
||||
Release: 5%{?dist}
|
||||
Version: 0.29.14
|
||||
%global upver %{version_no_tilde %{nil}}
|
||||
Release: 4%{?dist}
|
||||
Summary: Language for writing Python extension modules
|
||||
|
||||
License: ASL 2.0
|
||||
@ -19,15 +18,6 @@ Source: https://github.com/cython/cython/archive/%{upver}/%{srcname}-%{v
|
||||
# See: https://projects.engineering.redhat.com/browse/RCM-72605
|
||||
ExcludeArch: i686
|
||||
|
||||
# Partially work around issues with class and static methods
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=1788506
|
||||
# Mostly backported from upstream: https://github.com/cython/cython/pull/3106
|
||||
# This also:
|
||||
# - Removes staticmethod optimizations for normal functions
|
||||
# - Removes failing test for staticmethod fused functions, which still fail
|
||||
# See also: https://github.com/cython/cython/issues/3614
|
||||
Patch3106: class-static-method-workaround.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
%if %{with tests}
|
||||
BuildRequires: gcc-c++
|
||||
@ -43,26 +33,20 @@ for writing Python extension modules.
|
||||
Summary: %{summary}
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
||||
%if %{with tests}
|
||||
BuildRequires: python%{python3_pkgversion}-coverage
|
||||
BuildRequires: python%{python3_pkgversion}-numpy
|
||||
BuildRequires: python%{python3_pkgversion}-jedi
|
||||
%endif
|
||||
Requires: python%{python3_pkgversion}-setuptools
|
||||
|
||||
# A small templating library is bundled in Cython/Tempita
|
||||
# Upstream version 0.5.2 is available from https://pypi.org/project/Tempita
|
||||
# but the bundled copy is patched and reorganized.
|
||||
# Upstream homepage is inaccessible.
|
||||
Provides: bundled(python%{python3_version}dist(tempita))
|
||||
|
||||
%description -n python%{python3_pkgversion}-%{srcname} %{_description}
|
||||
|
||||
Python 3 version.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{upname}-%{upver} -p1
|
||||
%autosetup -n %{upname}-%{version} -p1
|
||||
|
||||
%build
|
||||
%py3_build
|
||||
@ -70,7 +54,6 @@ Python 3 version.
|
||||
%install
|
||||
%py3_install
|
||||
rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests
|
||||
|
||||
# Rename unversioned binaries
|
||||
mv %{buildroot}%{_bindir}/cython{,-%{python3_version}}
|
||||
mv %{buildroot}%{_bindir}/cygdb{,-%{python3_version}}
|
||||
@ -98,46 +81,15 @@ mv %{buildroot}%{_bindir}/cythonize{,-%{python3_version}}
|
||||
%{python3_sitearch}/__pycache__/%{upname}.*
|
||||
|
||||
%changelog
|
||||
* Wed Jan 13 2021 Tomas Orsava <torsava@redhat.com> - 0.29.21-5
|
||||
- Convert from Fedora to the python39 module in RHEL8
|
||||
- Resolves: rhbz#1877430
|
||||
* Fri Dec 13 2019 Tomas Orsava <torsava@redhat.com> - 0.29.14-4
|
||||
- Exclude unsupported i686 arch
|
||||
|
||||
* Fri Nov 13 2020 Miro Hrončok <mhroncok@redhat.com> - 0.29.21-4
|
||||
- Drop build dependency on coverage
|
||||
* Thu Nov 21 2019 Lumír Balhar <lbalhar@redhat.com> - 0.29.14-3
|
||||
- Unversioned binaries renamed
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.29.21-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jul 22 2020 Gwyn Ciesla <gwync@protonmail.com> - 0.29.21-2
|
||||
- Re-enable tests.
|
||||
|
||||
* Wed Jul 22 2020 Gwyn Ciesla <gwync@protonmail.com> - 0.29.21-1
|
||||
- 0.29.21
|
||||
|
||||
* Wed May 27 2020 sguelton@redhat.com - 0.29.19-1
|
||||
- Update to 0.29.19
|
||||
|
||||
* Mon May 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.29.17-4
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Fri May 22 2020 Miro Hrončok <mhroncok@redhat.com> - 0.29.17-3
|
||||
- Bootstrap for Python 3.9
|
||||
|
||||
* Wed May 13 2020 Petr Viktorin <pviktori@redhat.com> - 0.29.17-2
|
||||
- Backport classmethod fixes
|
||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1788506
|
||||
|
||||
* Tue Apr 28 2020 Marcel Plch <mplch@redhat.com> - 0.29.17-1
|
||||
- Update to 0.29.17
|
||||
|
||||
* Wed Mar 25 2020 Miro Hrončok <mhroncok@redhat.com> - 0.29.16-1
|
||||
- Update to 0.29.16 (#1816785)
|
||||
|
||||
* Sat Feb 08 2020 Miro Hrončok <mhroncok@redhat.com> - 0.29.15-1
|
||||
- Update to 0.29.15 (#1800158)
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.29.14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
* Wed Nov 20 2019 Lumír Balhar <lbalhar@redhat.com> - 0.29.14-2
|
||||
- Adjusted for Python 3.8 module in RHEL 8
|
||||
- without emacs plugin
|
||||
|
||||
* Mon Nov 04 2019 Miro Hrončok <mhroncok@redhat.com> - 0.29.14-1
|
||||
- Update to 0.29.14 (#1768034)
|
@ -1,114 +0,0 @@
|
||||
diff -U3 -r cython-0.29.17.orig/Cython/Compiler/ExprNodes.py cython-0.29.17/Cython/Compiler/ExprNodes.py
|
||||
--- cython-0.29.17.orig/Cython/Compiler/ExprNodes.py 2020-04-26 13:48:48.000000000 +0200
|
||||
+++ cython-0.29.17/Cython/Compiler/ExprNodes.py 2020-05-15 17:44:55.157172257 +0200
|
||||
@@ -2295,8 +2295,10 @@
|
||||
setter = 'PyDict_SetItem'
|
||||
namespace = Naming.moddict_cname
|
||||
elif entry.is_pyclass_attr:
|
||||
- code.globalstate.use_utility_code(UtilityCode.load_cached("SetNameInClass", "ObjectHandling.c"))
|
||||
- setter = '__Pyx_SetNameInClass'
|
||||
+ # Special-case setting __new__
|
||||
+ n = "SetNewInClass" if self.name == "__new__" else "SetNameInClass"
|
||||
+ code.globalstate.use_utility_code(UtilityCode.load_cached(n, "ObjectHandling.c"))
|
||||
+ setter = '__Pyx_' + n
|
||||
else:
|
||||
assert False, repr(entry)
|
||||
code.put_error_if_neg(
|
||||
diff -U3 -r cython-0.29.17.orig/Cython/Compiler/Nodes.py cython-0.29.17/Cython/Compiler/Nodes.py
|
||||
--- cython-0.29.17.orig/Cython/Compiler/Nodes.py 2020-04-26 13:48:48.000000000 +0200
|
||||
+++ cython-0.29.17/Cython/Compiler/Nodes.py 2020-05-15 17:44:55.159172253 +0200
|
||||
@@ -2872,7 +2872,6 @@
|
||||
func = decorator.decorator
|
||||
if func.is_name:
|
||||
self.is_classmethod |= func.name == 'classmethod'
|
||||
- self.is_staticmethod |= func.name == 'staticmethod'
|
||||
|
||||
if self.is_classmethod and env.lookup_here('classmethod'):
|
||||
# classmethod() was overridden - not much we can do here ...
|
||||
diff -U3 -r cython-0.29.17.orig/Cython/Utility/ObjectHandling.c cython-0.29.17/Cython/Utility/ObjectHandling.c
|
||||
--- cython-0.29.17.orig/Cython/Utility/ObjectHandling.c 2020-04-26 13:48:48.000000000 +0200
|
||||
+++ cython-0.29.17/Cython/Utility/ObjectHandling.c 2020-05-15 17:44:55.160172251 +0200
|
||||
@@ -1163,6 +1163,30 @@
|
||||
#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
|
||||
#endif
|
||||
|
||||
+/////////////// SetNewInClass.proto ///////////////
|
||||
+
|
||||
+static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value);
|
||||
+
|
||||
+/////////////// SetNewInClass ///////////////
|
||||
+//@requires: SetNameInClass
|
||||
+
|
||||
+// Special-case setting __new__: if it's a Cython function, wrap it in a
|
||||
+// staticmethod. This is similar to what Python does for a Python function
|
||||
+// called __new__.
|
||||
+static int __Pyx_SetNewInClass(PyObject *ns, PyObject *name, PyObject *value) {
|
||||
+#ifdef __Pyx_CyFunction_USED
|
||||
+ int ret;
|
||||
+ if (__Pyx_CyFunction_Check(value)) {
|
||||
+ PyObject *staticnew = PyStaticMethod_New(value);
|
||||
+ if (unlikely(!staticnew)) return -1;
|
||||
+ ret = __Pyx_SetNameInClass(ns, name, staticnew);
|
||||
+ Py_DECREF(staticnew);
|
||||
+ return ret;
|
||||
+ }
|
||||
+#endif
|
||||
+ return __Pyx_SetNameInClass(ns, name, value);
|
||||
+}
|
||||
+
|
||||
|
||||
/////////////// GetModuleGlobalName.proto ///////////////
|
||||
//@requires: PyDictVersioning
|
||||
Only in cython-0.29.17.orig: cython-0.29.17
|
||||
diff -U3 -r cython-0.29.17.orig/tests/run/cyfunction.pyx cython-0.29.17/tests/run/cyfunction.pyx
|
||||
--- cython-0.29.17.orig/tests/run/cyfunction.pyx 2020-04-26 13:48:48.000000000 +0200
|
||||
+++ cython-0.29.17/tests/run/cyfunction.pyx 2020-05-15 17:44:55.160172251 +0200
|
||||
@@ -376,6 +376,18 @@
|
||||
def meth(self): pass
|
||||
|
||||
|
||||
+class TestStaticmethod(object):
|
||||
+ """
|
||||
+ >>> x = TestStaticmethod()
|
||||
+ >>> x.staticmeth(42)
|
||||
+ 42
|
||||
+ >>> x.staticmeth.__get__(42)()
|
||||
+ 42
|
||||
+ """
|
||||
+ @staticmethod
|
||||
+ def staticmeth(arg): return arg
|
||||
+
|
||||
+
|
||||
cdef class TestOptimisedBuiltinMethod:
|
||||
"""
|
||||
>>> obj = TestOptimisedBuiltinMethod()
|
||||
diff -U3 -r cython-0.29.17.orig/tests/run/fused_def.pyx cython-0.29.17/tests/run/fused_def.pyx
|
||||
--- cython-0.29.17.orig/tests/run/fused_def.pyx 2020-04-26 13:48:48.000000000 +0200
|
||||
+++ cython-0.29.17/tests/run/fused_def.pyx 2020-05-15 18:03:39.436752174 +0200
|
||||
@@ -268,14 +268,6 @@
|
||||
def test_fused_def_super():
|
||||
"""
|
||||
>>> test_fused_def_super()
|
||||
- long 10
|
||||
- long 11
|
||||
- long 11
|
||||
- long 12
|
||||
- short 12
|
||||
- long 13
|
||||
- short 13
|
||||
- long 14
|
||||
<class 'fused_def.SubClass'> long 14
|
||||
<class 'fused_def.SubClass'> long 15
|
||||
<class 'fused_def.SubClass'> long 15
|
||||
@@ -296,11 +288,6 @@
|
||||
obj = SubClass()
|
||||
cls = SubClass
|
||||
|
||||
- obj.mystaticmethod(obj, 10)
|
||||
- cls.mystaticmethod(obj, 11)
|
||||
- obj.mystaticmethod[cy.short](obj, 12)
|
||||
- cls.mystaticmethod[cy.short](obj, 13)
|
||||
-
|
||||
obj.myclassmethod(14)
|
||||
cls.myclassmethod(15)
|
||||
obj.myclassmethod[cy.short](16)
|
Loading…
Reference in New Issue
Block a user