Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some cython updates on top of #45086 #45161

Closed
wants to merge 10 commits into from
4 changes: 2 additions & 2 deletions srcpkgs/python3-Cython/template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Template file for 'python3-Cython'
pkgname=python3-Cython
version=0.29.36
version=3.0.0
revision=1
build_style=python3-module
hostmakedepends="python3-setuptools"
Expand All @@ -12,7 +12,7 @@ license="Apache-2.0"
homepage="https://cython.org/"
changelog="https://raw.githubusercontent.com/cython/cython/master/CHANGES.rst"
distfiles="${PYPI_SITE}/C/Cython/Cython-${version}.tar.gz"
checksum=41c0cfd2d754e383c9eeb95effc9aa4ab847d0c9747077ddd7c0dcb68c3bc01f
checksum=350b18f9673e63101dbbfcf774ee2f57c20ac4636d255741d76ca79016b1bd82
# Tests are flaky
make_check=no

Expand Down
32 changes: 32 additions & 0 deletions srcpkgs/python3-cypari2/patches/cython3-legacy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
commit 8ef356a4eb936c37f55a5c501f3a955e6740c0c5
Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
Date: Wed Jul 19 19:45:23 2023 -0300

cython3 support using legacy directives

diff --git a/cypari2/gen.pyx b/cypari2/gen.pyx
index 247b1ad..75050a0 100644
--- a/cypari2/gen.pyx
+++ b/cypari2/gen.pyx
@@ -329,7 +329,7 @@ cdef class Gen(Gen_base):
>>> pari = Pari()
>>> L = pari("vector(10,i,i^2)")
>>> L.__iter__()
- <generator object at ...>
+ <...generator object at ...>
>>> [x for x in L]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> list(L)
diff --git a/setup.py b/setup.py
index 2188711..455337f 100755
--- a/setup.py
+++ b/setup.py
@@ -36,6 +36,8 @@ class build_ext(_build_ext):
"binding": True,
"cdivision": True,
"language_level": 2,
+ "legacy_implicit_noexcept": True,
+ "c_api_binop_methods": True,
}

_build_ext.finalize_options(self)
2 changes: 1 addition & 1 deletion srcpkgs/python3-cypari2/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-cypari2'
pkgname=python3-cypari2
version=2.1.3
revision=3
revision=4
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython pari perl"
makedepends="python3-devel python3-cysignals pari-devel gmp-devel"
Expand Down
30 changes: 30 additions & 0 deletions srcpkgs/python3-cysignals/patches/cython3-legacy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
commit 9996a4028ddc7f9a5ffda3df65d5b7d3b7df8aa5
Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
Date: Wed Jul 19 18:34:57 2023 -0300

cython3 support using legacy directives

diff --git a/setup.py b/setup.py
index 37acdfc..f68270b 100755
--- a/setup.py
+++ b/setup.py
@@ -157,13 +157,17 @@ class build_ext(_build_ext):
# Run Cython with -Werror on continuous integration services
# with Python 3.6 or later
from Cython.Compiler import Options
- Options.warning_errors = True
+ Options.warning_errors = False

from Cython.Build.Dependencies import cythonize
return cythonize(extensions,
build_dir=cythonize_dir,
include_path=["src", os.path.join(cythonize_dir, "src")],
- compiler_directives=dict(binding=True, language_level=2))
+ compiler_directives=dict(
+ binding=True,
+ language_level=2,
+ legacy_implicit_noexcept=True,
+ ))


class build_py(_build_py):
2 changes: 1 addition & 1 deletion srcpkgs/python3-cysignals/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-cysignals'
pkgname=python3-cysignals
version=1.11.2
revision=4
revision=5
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython autoconf"
makedepends="python3-devel pari-devel"
Expand Down
37 changes: 37 additions & 0 deletions srcpkgs/python3-fpylll/patches/cython3-legacy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
commit b6e12c2b0648e84b26dcf0aac507a5b4d9dde301
Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
Date: Wed Jul 19 20:38:01 2023 -0300

cython3 support using legacy directives

diff --git a/setup.py b/setup.py
index 274836f..8fc5af5 100755
--- a/setup.py
+++ b/setup.py
@@ -123,7 +123,12 @@ class build_ext(_build_ext, object):
self.extensions,
include_path=["src"],
build_dir=self.cythonize_dir,
- compiler_directives={"binding": True, "embedsignature": True, "language_level": 2},
+ compiler_directives={
+ "binding": True,
+ "embedsignature": True,
+ "language_level": 2
+ "legacy_implicit_noexcept": True,
+ },
)
super(build_ext, self).run()

diff --git a/src/fpylll/fplll/enumeration_callback_helper.h b/src/fpylll/fplll/enumeration_callback_helper.h
index c099430..706162f 100644
--- a/src/fpylll/fplll/enumeration_callback_helper.h
+++ b/src/fpylll/fplll/enumeration_callback_helper.h
@@ -5,7 +5,7 @@
#include <Python.h>
#include <fplll/fplll.h>

-extern "C" {
+extern "C++" {
bool evaluator_callback_call_obj(PyObject *obj, int n, double *new_sol_coord);
}

2 changes: 1 addition & 1 deletion srcpkgs/python3-fpylll/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-fpylll'
pkgname=python3-fpylll
version=0.5.9
revision=1
revision=2
build_style=python3-module
hostmakedepends="python3-Cython"
makedepends="python3-cysignals python3-devel gmp-devel mpfr-devel fplll-devel
Expand Down
32 changes: 32 additions & 0 deletions srcpkgs/python3-lxml/patches/cython3-fix-test.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
index c0aee744..4875f298 100644
--- a/src/lxml/tests/test_errors.py
+++ b/src/lxml/tests/test_errors.py
@@ -28,7 +28,6 @@ class ErrorTestCase(HelperTestCase):
def test_element_cyclic_gc_none(self):
# test if cyclic reference can crash etree
Element = self.etree.Element
- getrefcount = sys.getrefcount

# must disable tracing as it could change the refcounts
trace_func = sys.gettrace()
@@ -36,16 +35,16 @@ class ErrorTestCase(HelperTestCase):
sys.settrace(None)
gc.collect()

- count = getrefcount(None)
+ count1 = gc.get_count()

l = [Element('name'), Element('name')]
l.append(l)

del l
gc.collect()
- count = getrefcount(None) - count
+ count2 = gc.get_count()

- self.assertEqual(count, 0)
+ self.assertEqual(count1, count2)
finally:
sys.settrace(trace_func)

12 changes: 12 additions & 0 deletions srcpkgs/python3-lxml/patches/cython3-legacy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/setupinfo.py b/setupinfo.py
index 5feb13bf..ea1b391c 100644
--- a/setupinfo.py
+++ b/setupinfo.py
@@ -148,6 +148,7 @@ def ext_modules(static_include_dirs, static_library_dirs,

cythonize_directives = {
'binding': True,
+ 'legacy_implicit_noexcept': True,
}
if OPTION_WITH_COVERAGE:
cythonize_directives['linetrace'] = True
17 changes: 17 additions & 0 deletions srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
From alpine: https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/main/py3-lxml

the find above returns None with this version
--
diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py
index 0339796..790c57a 100644
--- a/src/lxml/tests/test_etree.py
+++ b/src/lxml/tests/test_etree.py
@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
if etree.LIBXML_VERSION < (2, 9, 11):
self.assertEqual({'hha': None}, el.nsmap)
else:
- self.assertEqual({}, el.nsmap)
+ self.assertEqual(None, el)

def test_getchildren(self):
Element = self.etree.Element
14 changes: 14 additions & 0 deletions srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
From alpine: https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/main/py3-lxml

diff --git a/src/lxml/tests/test_io.py b/src/lxml/tests/test_io.py
index cbdbcef..efbd3fd 100644
--- a/src/lxml/tests/test_io.py
+++ b/src/lxml/tests/test_io.py
@@ -312,6 +312,7 @@ class _IOTestCaseBase(HelperTestCase):
self.assertEqual(5, len(boms))
xml = uxml.encode("utf-16")
self.assertTrue(xml[:2] in boms, repr(xml[:2]))
+ return True

f = tempfile.NamedTemporaryFile(delete=False)
try:
4 changes: 2 additions & 2 deletions srcpkgs/python3-lxml/template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Template file for 'python3-lxml'
pkgname=python3-lxml
version=4.9.2
version=4.9.3
revision=1
build_style=python3-module
make_build_args="--with-cython"
Expand All @@ -13,7 +13,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-3-Clause, custom:ElementTree"
homepage="https://lxml.de/"
distfiles="https://github.com/lxml/lxml/archive/lxml-${version}.tar.gz"
checksum=c057e334efc357fc88eb71b888d2df3a44cf3c7aaac56a8753e92090c5217050
checksum=42b9ab83cb8739d817c7fff41c20f31aa61625bb6f6ab333873a5f3406b139ac

do_check() {
make test3
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
From aaa28537fa7ea061ebb8d5131b1e23673eaf741d Mon Sep 17 00:00:00 2001
From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
Date: Sun, 31 Jul 2022 12:39:34 -0700
Subject: [PATCH] ppl/bit_arrays.pxd: Use relative cimport

---
ppl/bit_arrays.pxd | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ppl/bit_arrays.pxd b/ppl/bit_arrays.pxd
index eb57434..145a978 100644
--- a/ppl/bit_arrays.pxd
+++ b/ppl/bit_arrays.pxd
@@ -1,4 +1,4 @@
-from ppl_decl cimport *
+from .ppl_decl cimport *

cdef class Bit_Row(object):
cdef PPL_Bit_Row *thisptr
--
GitLab

23 changes: 23 additions & 0 deletions srcpkgs/python3-pplpy/patches/cython3-legacy.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
commit e6f3e66154138ce3e31e803e74b8c71787c70acc
Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
Date: Wed Jul 19 20:47:52 2023 -0300

cython3 support using legacy directives

diff --git a/setup.py b/setup.py
index 13d543b..55dcd34 100755
--- a/setup.py
+++ b/setup.py
@@ -38,7 +38,11 @@ class build_ext(_build_ext):
self.extensions[:] = cythonize(
self.extensions,
include_path=sys.path,
- compiler_directives={'embedsignature': True})
+ compiler_directives={
+ 'embedsignature': True,
+ 'legacy_implicit_noexcept': True,
+ 'c_api_binop_methods': True,
+ })

_build_ext.run(self)

2 changes: 1 addition & 1 deletion srcpkgs/python3-pplpy/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-pplpy'
pkgname=python3-pplpy
version=0.8.7
revision=3
revision=4
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython"
makedepends="python3-cysignals python3-gmpy2 python3-devel gmp-devel
Expand Down
11 changes: 11 additions & 0 deletions srcpkgs/python3-scikit-learn/patches/numpy-version.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -9,7 +9,7 @@
# wheels on PyPI
#
# see: https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg
- "oldest-supported-numpy; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'",
+ "numpy>=1.23.2; python_version!='3.10' or platform_system!='Windows' or platform_python_implementation=='PyPy'",
# For CPython 3.10 under Windows, SciPy requires NumPy 1.22.3 while the
# oldest supported NumPy is defined as 1.21.6. We therefore need to force
# it for this specific configuration. For details, see
14 changes: 8 additions & 6 deletions srcpkgs/python3-scikit-learn/template
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
# Template file for 'python3-scikit-learn'
pkgname=python3-scikit-learn
version=0.24.2
revision=3
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy"
makedepends="python3-devel"
version=1.3.0
revision=1
build_style=python3-pep517
hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
python3-wheel"
makedepends="python3-devel libgomp-devel"
depends="python3-numpy python3-scipy python3-joblib python3-threadpoolctl"
short_desc="Python3 modules for machine learning and data mining"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://scikit-learn.org/"
distfiles="https://github.com/scikit-learn/scikit-learn/archive/${version}.tar.gz"
checksum=642fb016bfe4bb7539ba6bf4e6dd5a95d2d25638387040b0f5eefdb84a840297
checksum=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
make_check=no # tests don't work properly unless package is installed

export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"

Expand Down
11 changes: 11 additions & 0 deletions srcpkgs/python3-scipy/patches/cython-version.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,7 @@
build-backend = 'mesonpy'
requires = [
"meson-python>=0.12.1,<0.14.0", # already working with 0.13.x series at branch time
- "Cython>=0.29.35,<3.0", # when updating version, also update check in meson.build
+ "Cython>=0.29.35",
"pybind11>=2.10.4,<2.11.0",
"pythran>=0.12.0,<0.14.0", # already working with 0.13.x series at branch time
# `wheel` is needed for non-isolated builds, given that `meson-python`
12 changes: 12 additions & 0 deletions srcpkgs/python3-scipy/patches/pybind11-version.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,7 +12,7 @@
build-backend = 'mesonpy'
requires = [
"meson-python>=0.12.1,<0.14.0", # already working with 0.13.x series at branch time
"Cython>=0.29.35",
- "pybind11>=2.10.4,<2.11.0",
+ "pybind11>=2.10.4",
"pythran>=0.12.0,<0.14.0", # already working with 0.13.x series at branch time
# `wheel` is needed for non-isolated builds, given that `meson-python`
# doesn't list it as a runtime requirement (at least in 0.5.0)
2 changes: 1 addition & 1 deletion srcpkgs/python3-scipy/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-scipy'
pkgname=python3-scipy
version=1.11.1
revision=1
revision=2
build_style=meson
build_helper="python3"
configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"
Expand Down
11 changes: 11 additions & 0 deletions srcpkgs/python3-yaml/patches/cython3.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/setup.py
+++ b/setup.py
@@ -81,7 +81,7 @@
with_cython = True
try:
from Cython.Distutils.extension import Extension as _Extension
- from Cython.Distutils import build_ext as _build_ext
+ from Cython.Distutils.old_build_ext import old_build_ext as _build_ext
with_cython = True
except ImportError:
if with_cython:
2 changes: 1 addition & 1 deletion srcpkgs/python3-yaml/template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Template file for 'python3-yaml'
pkgname=python3-yaml
version=6.0
revision=2
revision=3
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython"
makedepends="libyaml-devel python3-devel"
Expand Down
Loading