Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] python3-Cython: update to 3.0.0.
@ 2023-07-17 17:20 ahesford
  2023-07-17 19:00 ` tornaria
                   ` (30 more replies)
  0 siblings, 31 replies; 32+ messages in thread
From: ahesford @ 2023-07-17 17:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

There is a new pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 1081 bytes --]

From 3d6b914e700a65285277bfb9e135a1458348fa38 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
@ 2023-07-17 19:00 ` tornaria
  2023-07-17 19:04 ` ahesford
                   ` (29 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: tornaria @ 2023-07-17 19:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 418 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1638704568

Comment:
Related: https://github.com/sagemath/sage/issues/29863

I'll have a look into (at least) my pkgs: cypari2, cysignals, fpylll, pplpy, sagemath. I can also have a look into scipy as it's needed for sagemath.

Question: could we have cython2 and cython3 coexist for a while?

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
  2023-07-17 19:00 ` tornaria
@ 2023-07-17 19:04 ` ahesford
  2023-07-17 19:19 ` [PR PATCH] [Updated] " ahesford
                   ` (28 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-17 19:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 324 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1638713803

Comment:
The two versions of Cython can't coexist without a lot of pain because they will conflict in the Python package namespace. We can just hold this update until everything is resolved.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
  2023-07-17 19:00 ` tornaria
  2023-07-17 19:04 ` ahesford
@ 2023-07-17 19:19 ` ahesford
  2023-07-17 20:14 ` ahesford
                   ` (27 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-17 19:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [ ] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 2751 bytes --]

From 3d6b914e700a65285277bfb9e135a1458348fa38 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/2] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 8e70b6bafd44f05bfec80b185cc5a11d562c6414 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/2] python3-scipy: rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/patches/cython-version.patch | 11 +++++++++++
 srcpkgs/python3-scipy/template                     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-scipy/patches/cython-version.patch

diff --git a/srcpkgs/python3-scipy/patches/cython-version.patch b/srcpkgs/python3-scipy/patches/cython-version.patch
new file mode 100644
index 000000000000..04f5d7264264
--- /dev/null
+++ b/srcpkgs/python3-scipy/patches/cython-version.patch
@@ -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`
diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (2 preceding siblings ...)
  2023-07-17 19:19 ` [PR PATCH] [Updated] " ahesford
@ 2023-07-17 20:14 ` ahesford
  2023-07-18  9:27 ` icp1994
                   ` (26 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-17 20:14 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [ ] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 4240 bytes --]

From 3d6b914e700a65285277bfb9e135a1458348fa38 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/3] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 4eb52fe665def3f175ecb29e74a2b52d14736df9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/3] python3-scipy: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/patches/cython-version.patch | 11 +++++++++++
 srcpkgs/python3-scipy/template                     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-scipy/patches/cython-version.patch

diff --git a/srcpkgs/python3-scipy/patches/cython-version.patch b/srcpkgs/python3-scipy/patches/cython-version.patch
new file mode 100644
index 000000000000..04f5d7264264
--- /dev/null
+++ b/srcpkgs/python3-scipy/patches/cython-version.patch
@@ -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`
diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From dc86c6cfbca7afeb00c46b8851269b0b2a0b1a4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 3/3] python3-yaml: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (3 preceding siblings ...)
  2023-07-17 20:14 ` ahesford
@ 2023-07-18  9:27 ` icp1994
  2023-07-18 11:11 ` ahesford
                   ` (25 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: icp1994 @ 2023-07-18  9:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 287 bytes --]

New comment by icp1994 on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1639868754

Comment:
pyyaml realeased v6.0.1 which [blocks](https://github.com/yaml/pyyaml/commit/ae08bdc82b4ddfcd2b93c8aedcd1963766c3307d) building with Cython 3.0.0

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (4 preceding siblings ...)
  2023-07-18  9:27 ` icp1994
@ 2023-07-18 11:11 ` ahesford
  2023-07-18 17:43 ` [PR PATCH] [Updated] " ahesford
                   ` (24 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-18 11:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 197 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1640019457

Comment:
Yeah, I'll bump this and patch around it if necessary.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (5 preceding siblings ...)
  2023-07-18 11:11 ` ahesford
@ 2023-07-18 17:43 ` ahesford
  2023-07-18 17:45 ` ahesford
                   ` (23 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-18 17:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [ ] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 8032 bytes --]

From 3d6b914e700a65285277bfb9e135a1458348fa38 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/5] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 4eb52fe665def3f175ecb29e74a2b52d14736df9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/5] python3-scipy: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/patches/cython-version.patch | 11 +++++++++++
 srcpkgs/python3-scipy/template                     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-scipy/patches/cython-version.patch

diff --git a/srcpkgs/python3-scipy/patches/cython-version.patch b/srcpkgs/python3-scipy/patches/cython-version.patch
new file mode 100644
index 000000000000..04f5d7264264
--- /dev/null
+++ b/srcpkgs/python3-scipy/patches/cython-version.patch
@@ -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`
diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From dc86c6cfbca7afeb00c46b8851269b0b2a0b1a4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 3/5] python3-yaml: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 4a8cefb0bb5fe3da8a3de5185228fbef06b9f575 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 4/5] python3-scikit-learn: update to 1.3.0.

---
 srcpkgs/python3-scikit-learn/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab1..5f11d22350bb 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=0.24.2
-revision=3
+version=1.3.0
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy"
 makedepends="python3-devel"
@@ -11,7 +11,7 @@ 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
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
 

From 18114baf2c0fef648d301368275f1877fae995d2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 11:58:51 -0400
Subject: [PATCH 5/5] python3-scikit-learn: update to 1.3.0.

---
 .../python3-scikit-learn/patches/numpy-version.patch  | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template                 |  8 +++++---
 2 files changed, 16 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 000000000000..0ffb53e3433e
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 5f11d22350bb..aed65406cad2 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -2,9 +2,10 @@
 pkgname=python3-scikit-learn
 version=1.3.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy"
-makedepends="python3-devel"
+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>"
@@ -12,6 +13,7 @@ license="BSD-3-Clause"
 homepage="https://scikit-learn.org/"
 distfiles="https://github.com/scikit-learn/scikit-learn/archive/${version}.tar.gz"
 checksum=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+make_check=no # tests don't work properly unless package is installed
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (6 preceding siblings ...)
  2023-07-18 17:43 ` [PR PATCH] [Updated] " ahesford
@ 2023-07-18 17:45 ` ahesford
  2023-07-19  2:35 ` ahesford
                   ` (22 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-18 17:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 6928 bytes --]

From d986c4714e87077a1cfc67f2498138e7f181cf94 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/4] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 1a187e1ebb5ce13c1ecfc52432e8ac3960742e61 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/4] python3-scipy: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/patches/cython-version.patch | 11 +++++++++++
 srcpkgs/python3-scipy/template                     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-scipy/patches/cython-version.patch

diff --git a/srcpkgs/python3-scipy/patches/cython-version.patch b/srcpkgs/python3-scipy/patches/cython-version.patch
new file mode 100644
index 000000000000..04f5d7264264
--- /dev/null
+++ b/srcpkgs/python3-scipy/patches/cython-version.patch
@@ -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`
diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From 1a54c8123585ef340dee7929df522c211767e524 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 3/4] python3-yaml: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 75dec0ee081817e0364f44f0b3005063da7c6f9d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 4/4] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 000000000000..0ffb53e3433e
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab1..aed65406cad2 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (7 preceding siblings ...)
  2023-07-18 17:45 ` ahesford
@ 2023-07-19  2:35 ` ahesford
  2023-07-20 23:33 ` tornaria
                   ` (21 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-19  2:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 6928 bytes --]

From a69576a5b3acdf24310792d6fecccea45c4fcc4d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/4] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From d453187e841c2d215abcfa115ac003252afc5fba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/4] python3-scipy: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/patches/cython-version.patch | 11 +++++++++++
 srcpkgs/python3-scipy/template                     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-scipy/patches/cython-version.patch

diff --git a/srcpkgs/python3-scipy/patches/cython-version.patch b/srcpkgs/python3-scipy/patches/cython-version.patch
new file mode 100644
index 000000000000..04f5d7264264
--- /dev/null
+++ b/srcpkgs/python3-scipy/patches/cython-version.patch
@@ -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`
diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From b4f74f3ad4387f4edba54ee917e644518df43b92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 3/4] python3-yaml: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From e9e9480da61d12efe3fb60c274e18554285fdad8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 4/4] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 000000000000..0ffb53e3433e
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab1..aed65406cad2 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (8 preceding siblings ...)
  2023-07-19  2:35 ` ahesford
@ 2023-07-20 23:33 ` tornaria
  2023-07-21  1:40 ` [PR PATCH] [Updated] " ahesford
                   ` (20 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: tornaria @ 2023-07-20 23:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 515 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1644786290

Comment:
scipy needs patching to build with pybind 2.11 (or maybe `--skip-dependency-check` since all the patches are about relaxing dependencies (cython, numpy, and now pybind11).

Note that in their main branch they have relaxed the upper bound for cython and pybind11 (they still fix numpy to a particular version). See: https://github.com/scipy/scipy/blob/main/pyproject.toml

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (9 preceding siblings ...)
  2023-07-20 23:33 ` tornaria
@ 2023-07-21  1:40 ` ahesford
  2023-07-21  2:46 ` [PR REVIEW] " tornaria
                   ` (19 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-21  1:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [ ] python3-cypari2
- [ ] python3-cysignals
- [ ] python3-efl
- [ ] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [ ] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [ ] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 21551 bytes --]

From 85984b905daf2993f0eec61522586f3e242e2e9a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 1/9] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From d47407f5d8696f424e0af5833d7df357eb3ad0ca Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 2/9] python3-scipy: rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From 6a6e65f5c52b2b6943909472af0008258cfa8f92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 3/9] python3-yaml: patch and rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 45bbe8dfd918321a683e7bd70520d0dc50835384 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 4/9] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 000000000000..0ffb53e3433e
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab1..aed65406cad2 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From a458dd967dc05b8b67bac0e404aa2c5f2c5918d5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 5/9] python3-cysignals: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..274575d5d353
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba0..739cbc91a96b 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 6aecb9c33650fb904a1fd31f0ff628ced454b009 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 6/9] python3-cypari2: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..41392fe80d73
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a5624..8d46c443e960 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From d82eceb7e80f613920d306857a6b42b29cf9a4f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 7/9] python3-fpylll: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..4260d1113427
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795..8880d5fa6173 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From fffd84efd315d4455d21999c5ecae4c296113dbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 8/9] python3-pplpy: patch and rebuild for python3-Cython-3.0.0

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 000000000000..21bc2a5214df
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..e00b99f8c5f2
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031..6023c63f8798 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From f0d038c93283ee6c8373b021fd322e7df41f630b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 9/9] python3-lxml: update to 4.9.3

Patch for python3-Cython-3.0.0.
---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 srcpkgs/python3-lxml/template                 |  4 +--
 5 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 000000000000..70348622048c
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..3a01c85705cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 000000000000..4682eddd6f54
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 000000000000..6ed59d3b2fe2
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index f126c4005fbf..00b246982160 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -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"
@@ -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

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR REVIEW] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (10 preceding siblings ...)
  2023-07-21  1:40 ` [PR PATCH] [Updated] " ahesford
@ 2023-07-21  2:46 ` tornaria
  2023-07-21 12:33 ` [PR PATCH] [Updated] " ahesford
                   ` (18 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: tornaria @ 2023-07-21  2:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 298 bytes --]

New review comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#discussion_r1270174876

Comment:
```suggestion
+                "language_level": 2,
```
My bad, that's what I get for hand-editing the patch after checking... This should fix it.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (11 preceding siblings ...)
  2023-07-21  2:46 ` [PR REVIEW] " tornaria
@ 2023-07-21 12:33 ` ahesford
  2023-07-31 20:29 ` ahesford
                   ` (17 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-21 12:33 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 22961 bytes --]

From 767466793c927eee02a1c2ddb983422007bfd9ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/10] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b..77e5be64c24c 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 4174b5e2d42e329c748a533ccb2f8adb8aa76817 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 02/10] python3-scipy: rebuild for python3-Cython-3.0.0

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e0166..7cc9bcfbfa06 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From 80d4682e64a35d63f0373eeb0aaec19b246b09e0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/10] python3-yaml: patch and rebuild for
 python3-Cython-3.0.0

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 000000000000..601e79891aac
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa40..ab7417caf44c 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 8161e828c0ebb8cf37f8c1be2bd4bc165c648375 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/10] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 000000000000..0ffb53e3433e
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab1..aed65406cad2 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From e3efcc832d84319c2d9c4c7507c412ab18564e71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/10] python3-cysignals: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..274575d5d353
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba0..739cbc91a96b 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From fe5c46779957192679f70362dbd19158c2abbe49 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/10] python3-cypari2: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..41392fe80d73
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a5624..8d46c443e960 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 9db3a1487acb43ba310f7193229bcd2af6690a23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/10] python3-fpylll: patch and rebuild for
 python3-Cython-3.0.0

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..808c14e9c1b4
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795..8880d5fa6173 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From d5f9225b7be76552f1ca6b61e6f48ed2b595723d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/10] python3-pplpy: patch and rebuild for
 python3-Cython-3.0.0

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 000000000000..21bc2a5214df
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..e00b99f8c5f2
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031..6023c63f8798 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 510b4d420429e6d7f7ec1e1b1b97c9706ee7179e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 09/10] python3-lxml: update to 4.9.3

Patch for python3-Cython-3.0.0.
---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 srcpkgs/python3-lxml/template                 |  4 +--
 5 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 000000000000..70348622048c
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 000000000000..3a01c85705cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 000000000000..4682eddd6f54
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 000000000000..6ed59d3b2fe2
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index f126c4005fbf..00b246982160 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -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"
@@ -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

From 7d091a0240bdfaafa8a2b8c3c6f85ca2b9715f65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/10] python3-pandas-msgpack: rebuild for
 python3-Cython-3.0.0

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b..99912a195b0f 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (12 preceding siblings ...)
  2023-07-21 12:33 ` [PR PATCH] [Updated] " ahesford
@ 2023-07-31 20:29 ` ahesford
  2023-08-26  3:13 ` ahesford
                   ` (16 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-07-31 20:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 22901 bytes --]

From 658fd7c3fe3fffb7aa91fef7bd3933660dd0a7ca Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/10] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..77e5be64c24c0 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From 67ca49ede635572f6d87bcba2d5d49f457135908 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 02/10] python3-scipy: rebuild for Cython 3

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index eb7c7a3e01663..7cc9bcfbfa06a 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -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")"

From fcf5e5eb145aade7222ee7b7984f40d8b61f82ea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/10] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 143be49e838041242451cdfe229236ff68823bf5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/10] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 4a969c5828dd2878eef9940d51fe39a5e7659c1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/10] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 2538fcfeed5328d7ad934bb7b5ce8b082be39eac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/10] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 1a2562765814244874391bbf15527516827de227 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/10] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From 9db894cd40c57d45ef5649c64402b281343b6e29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/10] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 05b72238287ed9347bf1c5e1f60a79791fc91a9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 09/10] python3-lxml: update to 4.9.3, patch for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 srcpkgs/python3-lxml/template                 |  4 +--
 5 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 0000000000000..4682eddd6f541
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 0000000000000..6ed59d3b2fe2b
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index f126c4005fbf1..00b2469821602 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -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"
@@ -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

From f53d4ad094c93cf8019bd77d24630958ea129cb3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/10] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (13 preceding siblings ...)
  2023-07-31 20:29 ` ahesford
@ 2023-08-26  3:13 ` ahesford
  2023-08-26  3:24 ` ahesford
                   ` (15 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26  3:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 22075 bytes --]

From 73ab7b3ab4c1ac4d7a03a0800fd49be0588d1be2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/10] python3-Cython: update to 3.0.0.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..77e5be64c24c0 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -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"
@@ -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
 

From b9f1c7bf56f6408cbd819e655e076079f7cec855 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 02/10] python3-scipy: rebuild for Cython 3

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index ba0dd761cdcf5..7dc46dab7f34c 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scipy'
 pkgname=python3-scipy
 version=1.11.2
-revision=1
+revision=2
 build_style=meson
 build_helper="python3"
 configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"

From 5b3ebb5b741870ec3944903bbc923a9a834f7b26 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/10] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From b561ef8c33ccfdf7eb165fc5b830c38f195a4819 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/10] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From d12f0ce1c0b40c21c5459d716a7c3c211ecbe412 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/10] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 525bfe05792324373d52b54c340a54c7e4e50050 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/10] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From cf9ff6dae0060344a23f55226523134a4950e0fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/10] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From 5a75ed470aab43ac1f91392e9440558e2b751f08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/10] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 0c2941beb3eb8537461b40b0ba6829fe4b2c8c84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 09/10] python3-lxml: update to 4.9.3, patch for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 4 files changed, 75 insertions(+)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 0000000000000..4682eddd6f541
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 0000000000000..6ed59d3b2fe2b
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:

From f2643dfca42256da39c5edc7593ef6d4252b4a5d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/10] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.0.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (14 preceding siblings ...)
  2023-08-26  3:13 ` ahesford
@ 2023-08-26  3:24 ` ahesford
  2023-08-26 17:31 ` [PR PATCH] [Updated] python3-Cython: update to 3.0.1 ahesford
                   ` (14 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26  3:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.0.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 22075 bytes --]

From c39b5f1496a2eadf815c095c96c734341546cf8f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/10] python3-Cython: update to 3.0.1.

---
 srcpkgs/python3-Cython/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..60c8d415e230e 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
@@ -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=f3e49c4eaaa11345486ac0fa2b350636e44a4b45bd7521a6b133924c5ff20bba
 # Tests are flaky
 make_check=no
 

From fa0f67d7dac814207d28a9e4fddf91304f56ea7f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 02/10] python3-scipy: rebuild for Cython 3

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index ba0dd761cdcf5..7dc46dab7f34c 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scipy'
 pkgname=python3-scipy
 version=1.11.2
-revision=1
+revision=2
 build_style=meson
 build_helper="python3"
 configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"

From cb823684021488be092862ef01e44a53bd4d4de5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/10] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 97b6d6b194bf0195b2cae7e6d3b5d3fb4804f8f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/10] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 4481242e1950ee99fdedbf8534a12c794f1288c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/10] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 551d109c123383a57d1bba733aafd7cbbade121a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/10] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 6599a0075f851d5984e037f0ec10f5da2b50d0b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/10] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From 3256b0558e0042484f6a7a489f268ca4b150ec88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/10] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 7e932fb9027f038ccfde14aabc81962f28e3d94e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 09/10] python3-lxml: update to 4.9.3, patch for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 4 files changed, 75 insertions(+)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 0000000000000..4682eddd6f541
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 0000000000000..6ed59d3b2fe2b
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:

From 3d47f7d6daa9d0dace0f88f092bf48377136022e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/10] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (15 preceding siblings ...)
  2023-08-26  3:24 ` ahesford
@ 2023-08-26 17:31 ` ahesford
  2023-08-26 20:04 ` ahesford
                   ` (13 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26 17:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 41496 bytes --]

From 8749023a0a84c84ab6f42437ba7635e14d15bd10 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/30] python3-Cython: update to 3.0.1.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..39c41c3982cf3 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=f3e49c4eaaa11345486ac0fa2b350636e44a4b45bd7521a6b133924c5ff20bba
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From cc9bd2be5803cf042c9c88936e2ab1b6634e6f0b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/30] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From b36026a1b6c315f80fa1cfdba05c1b6baa9afd6e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 15:18:59 -0400
Subject: [PATCH 03/30] python3-scipy: rebuild for Cython 3

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index ba0dd761cdcf5..7dc46dab7f34c 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scipy'
 pkgname=python3-scipy
 version=1.11.2
-revision=1
+revision=2
 build_style=meson
 build_helper="python3"
 configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"

From 506341893bc54db5fd6318e867aafb9b9feefab8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 04/30] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From ffde6b6f296b058cf01c6fda84e49b0075504c96 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 05/30] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From a38435e9b8172366332b508bbc59cc0f7bbaa7b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 06/30] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From b82e8d871c43aa602661694eeb33288b67b549ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 07/30] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From a98fd7301e690c761e7018c7a1a1b1faeed3e331 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 08/30] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From b533b95f5145e2334595332a222747766f51a228 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 09/30] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 2360060b82307b00273a2bc01dee747372550535 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 20 Jul 2023 19:29:00 -0300
Subject: [PATCH 10/30] python3-lxml: update to 4.9.3, patch for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 .../python3-lxml/patches/libxml-2.10.4.patch  | 17 ++++++++++
 .../python3-lxml/patches/libxml-2.11.0.patch  | 14 ++++++++
 4 files changed, 75 insertions(+)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
 create mode 100644 srcpkgs/python3-lxml/patches/libxml-2.11.0.patch

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
new file mode 100644
index 0000000000000..4682eddd6f541
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
new file mode 100644
index 0000000000000..6ed59d3b2fe2b
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -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:

From 046fff95e76393c71b9597e7f538dafa5585303c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 11/30] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From e420705f840426e21642797efee86b05d3eae113 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/30] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 4d98a10098895552551063dffa5199c56788df18 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/30] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 0c9848f74852102db8f7ff83ce24e91e9f4dbd12 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 14/30] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 453e42f685949..b0dea31e010e6 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=4
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 34118bd781ade82ae7fec6a40d0f7c0907afb729 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/30] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 38c089840e957c5312477afa5e387659acbd8aec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/30] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 00894e8869af2d21166d8f2cd63fb7c46f73ed6b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/30] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b18e773cdc5a..a33cf654b6646 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 3aeedad1b46fa5251a5bd77eed08898722dac1a5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/30] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 729426481de1bffac6cf8aa1f766ffdeedd4142b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/30] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 99e18d1cdb83621bd41157ca2c650e5db50ec359 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/30] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 37b4efcf99df15ba272864a06d15b557b52f12a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 21/30] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From 2f3d362bb476d17ec085e9656d996a054ce74ac7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/30] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From 0ce850b87fc6a01cb3229b0c46d4e52fd4a677a8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/30] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From d55885befccae405ef3b45ea576d44cc78414a54 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/30] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From 2590995dd4ad75f27c3511f7e6479d7be4afe34a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/30] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From ba446b119e97533822eceb72af611d7f573f3933 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/30] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From b93aa02382892b817608865ab67cb511c75653ed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/30] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 013138eb84bbe4360558015f34a39918d3724c77 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/30] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..3a1cee3e66850 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -3,10 +3,10 @@ pkgname=urh
 version=2.9.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From a6a3c52d88865457bda8cb19147312f7a1d9e708 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/30] vapoursynth: build with python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 8e6d0410e2042cf139fb9ebc6190c1ab4362ff8e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/30] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (16 preceding siblings ...)
  2023-08-26 17:31 ` [PR PATCH] [Updated] python3-Cython: update to 3.0.1 ahesford
@ 2023-08-26 20:04 ` ahesford
  2023-08-26 20:04 ` [PR PATCH] [Updated] " ahesford
                   ` (12 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26 20:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 722 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1694492500

Comment:
@tornaria I decided it wasn't worth trying to patch around all of these packages and added a new `python3-Cython0.29` which conflicts with `python3-Cython` and offers the "legacy" Cython 0.29.36. The legacy package can be a build-time dependency for the ~30 packages that have yet to support Cython 3. Only two packages have run-time dependencies on Cython: `urh` and `sagemath`. I have moved both the build-time and run-time dependencies of `urh` to `python3-Cython0.29` for now. How should I handle `sagemath`? We can do the same if you think that is the best course of action.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (17 preceding siblings ...)
  2023-08-26 20:04 ` ahesford
@ 2023-08-26 20:04 ` ahesford
  2023-08-26 20:43 ` ahesford
                   ` (11 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26 20:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 43624 bytes --]

From 8749023a0a84c84ab6f42437ba7635e14d15bd10 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.1.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..39c41c3982cf3 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=f3e49c4eaaa11345486ac0fa2b350636e44a4b45bd7521a6b133924c5ff20bba
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From cc9bd2be5803cf042c9c88936e2ab1b6634e6f0b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 88408c6c34d1ed8b521d1ca8d2605a275cd60df0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 258daa25a32559322062bc9e52c02b2b3b96e89c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From a488703235628c3a158f33cbb2b5715cd6634cb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From f3a518e3b8acd4b7f5b712037614c839e5cd4c14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From cf33855a4b564759b74c3a335b63096ee1dab120 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From dc559d39b0f2dd110618e5a8f466b31c5f525809 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From be6bbb5baf508958c3713debbca56b5178ba8e1f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From 03f0c05abe21d1dd0c06e43ff33f5bb7ce805a2c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 501d9f1eb90bdd18a030e63798f9112928842d6a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 25c034a705eda1a939094ffc9fa941bed1fc232b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 33931fac3e76fb5a476da1f4bd269b7e18e68e6e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 453e42f685949..b0dea31e010e6 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=4
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From aca47820f98954cc39d9ef4a60948a5bd8333801 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 9582018eaa8a7024bf1ff438a72de891644c6044 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 39d68de64893aa5ba754b3f4fb9c70e005077511 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b18e773cdc5a..a33cf654b6646 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From c40416baa10a0ea2a100265cccf466968729c196 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From c794365d68ffa97316ebe19b51f0366894518e16 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 06afadebfc777409b25d577f268b2cf84523c2b3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 6ed5fe483eb48d845fffed4e5f5153d2ea6ebd63 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From 643ee70c65403e4efe2bc439534d37573a048302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From ebdd375509101263297665dae23bba7748f8252b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From 7fd118de9a50be75e30d98d8736dd47b227625c8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 2810e8845200b15b139a9b1b5c746bed0cee39eb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From a84352784e00634f055b27b69a6d007c940e77a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:38:17 -0400
Subject: [PATCH 25/31] python3-scipy: build with python3-Cython0.29

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index ba0dd761cdcf5..31ed5e481d50b 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -6,7 +6,7 @@ build_style=meson
 build_helper="python3"
 configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"
 hostmakedepends="python3-build python3-installer python3-meson-python
- python3-wheel python3-Cython python3-pybind11 pythran python3-numpy
+ python3-wheel python3-Cython0.29 python3-pybind11 pythran python3-numpy
  gcc-fortran pkg-config"
 makedepends="python3-devel python3-pybind11 python3-numpy pythran
  $(vopt_if openblas openblas-devel "lapack-devel cblas-devel")"

From 10539abb5547bc41942f7ff523a7d87482846da7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 2fbad76774903d44bc4869b1174cc9ac58c86a14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From 69059681e51de0efcf580f60dc02f1dbcb1d58fe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 677d960fd8a080b90b851aeeab48f02877261330 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..3a1cee3e66850 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -3,10 +3,10 @@ pkgname=urh
 version=2.9.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 5036ba3631f71a0448af47e36e8a5053285702c8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 30/31] vapoursynth: build with python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 3d45062195c4f935fe8bf1068c9c3fd10d4faa5c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 31/31] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (18 preceding siblings ...)
  2023-08-26 20:04 ` [PR PATCH] [Updated] " ahesford
@ 2023-08-26 20:43 ` ahesford
  2023-08-27 14:12 ` tornaria
                   ` (10 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-26 20:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 43640 bytes --]

From 8749023a0a84c84ab6f42437ba7635e14d15bd10 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.1.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..39c41c3982cf3 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.1
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=f3e49c4eaaa11345486ac0fa2b350636e44a4b45bd7521a6b133924c5ff20bba
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From cc9bd2be5803cf042c9c88936e2ab1b6634e6f0b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 88408c6c34d1ed8b521d1ca8d2605a275cd60df0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 258daa25a32559322062bc9e52c02b2b3b96e89c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From a488703235628c3a158f33cbb2b5715cd6634cb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From f3a518e3b8acd4b7f5b712037614c839e5cd4c14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From cf33855a4b564759b74c3a335b63096ee1dab120 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From dc559d39b0f2dd110618e5a8f466b31c5f525809 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From be6bbb5baf508958c3713debbca56b5178ba8e1f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From 03f0c05abe21d1dd0c06e43ff33f5bb7ce805a2c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 501d9f1eb90bdd18a030e63798f9112928842d6a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 25c034a705eda1a939094ffc9fa941bed1fc232b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 33931fac3e76fb5a476da1f4bd269b7e18e68e6e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 453e42f685949..b0dea31e010e6 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=4
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From aca47820f98954cc39d9ef4a60948a5bd8333801 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 9582018eaa8a7024bf1ff438a72de891644c6044 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 39d68de64893aa5ba754b3f4fb9c70e005077511 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 9b18e773cdc5a..a33cf654b6646 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From c40416baa10a0ea2a100265cccf466968729c196 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From c794365d68ffa97316ebe19b51f0366894518e16 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 06afadebfc777409b25d577f268b2cf84523c2b3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 6ed5fe483eb48d845fffed4e5f5153d2ea6ebd63 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From 643ee70c65403e4efe2bc439534d37573a048302 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From ebdd375509101263297665dae23bba7748f8252b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From 7fd118de9a50be75e30d98d8736dd47b227625c8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 2810e8845200b15b139a9b1b5c746bed0cee39eb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From a84352784e00634f055b27b69a6d007c940e77a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:38:17 -0400
Subject: [PATCH 25/31] python3-scipy: build with python3-Cython0.29

---
 srcpkgs/python3-scipy/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-scipy/template b/srcpkgs/python3-scipy/template
index ba0dd761cdcf5..31ed5e481d50b 100644
--- a/srcpkgs/python3-scipy/template
+++ b/srcpkgs/python3-scipy/template
@@ -6,7 +6,7 @@ build_style=meson
 build_helper="python3"
 configure_args="$(vopt_if openblas "" "-Dblas=blas -Dlapack=lapack")"
 hostmakedepends="python3-build python3-installer python3-meson-python
- python3-wheel python3-Cython python3-pybind11 pythran python3-numpy
+ python3-wheel python3-Cython0.29 python3-pybind11 pythran python3-numpy
  gcc-fortran pkg-config"
 makedepends="python3-devel python3-pybind11 python3-numpy pythran
  $(vopt_if openblas openblas-devel "lapack-devel cblas-devel")"

From 10539abb5547bc41942f7ff523a7d87482846da7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 2fbad76774903d44bc4869b1174cc9ac58c86a14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From 69059681e51de0efcf580f60dc02f1dbcb1d58fe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 677d960fd8a080b90b851aeeab48f02877261330 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..3a1cee3e66850 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -3,10 +3,10 @@ pkgname=urh
 version=2.9.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 36f88fa71e935376140ea96ae5f894409577a72f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 30/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 7fe72295018820e9f96cb1460ba83344b2750644 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 31/31] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (19 preceding siblings ...)
  2023-08-26 20:43 ` ahesford
@ 2023-08-27 14:12 ` tornaria
  2023-08-28 15:23 ` [PR PATCH] [Updated] " ahesford
                   ` (9 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: tornaria @ 2023-08-27 14:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 985 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1694679161

Comment:
> @tornaria I decided it wasn't worth trying to patch around all of these packages and added a new `python3-Cython0.29` which conflicts with `python3-Cython` and offers the "legacy" Cython 0.29.36. The legacy package can be a build-time dependency for the ~30 packages that have yet to support Cython 3. Only two packages have run-time dependencies on Cython: `urh` and `sagemath`. I have moved both the build-time and run-time dependencies of `urh` to `python3-Cython0.29` for now. How should I handle `sagemath`? We can do the same if you think that is the best course of action.

I think we have a way forward with sagemath (https://github.com/sagemath/sage/pull/36109 is almost done with review and https://github.com/sagemath/sage/pull/36110 is small). I think it might be possible to have sagemath running on cython 3 within the week.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (20 preceding siblings ...)
  2023-08-27 14:12 ` tornaria
@ 2023-08-28 15:23 ` ahesford
  2023-08-28 15:26 ` ahesford
                   ` (8 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-28 15:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 42630 bytes --]

From 88cfaf9f776cf69669caf45df773724f4b5576ae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/30] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From b2562199e6618407a3ccdf4acbacc959f07b3163 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/30] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 0533fe37e39ea18e44cecf3fdb46fcc57c5dd1b6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/30] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From afbb300fcb534eb994360e9945eb634d3edb19bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/30] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 6eeb97ee31b907f853f51c79ff3c59889ed6777c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/30] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From da507771448679d0510409ab84dcb568396a8749 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/30] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 5d8c72ca387cc29c03689d1f9c2beae59aa8d352 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/30] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From 8c9eb07444743fefb97b87749f7575d18536f13a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/30] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 1834743222096e5e96713a761cf57b8096e5251b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/30] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From b07b5581b51f049bf1cf63f2c5bf74e5ae3562ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/30] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 2a173bb801a1a16153f9f2099fae921c827b8f56 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/30] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From f6c166674ce4f5d3e44540d6af1e1d8f70c23f22 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/30] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 977ed295b5e9629d94a4ebd4a2464a57d3291eff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/30] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 97560547cd62cd9c4c9718815615b66576ecd8c3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/30] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 0a9a8b2116bf1d1a298587dbf76c4fdd4df65eea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/30] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 2a5b790dac2d9e1d698278be4f3bea1b752e75d1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/30] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 30d86353e7224c7c5f4bd296164f8ca5f9276ad1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/30] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 141bcd0d3b771399c665cb1e3783acf12417f7dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/30] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 95c938bfff6678aa3fd84bed17f246e768ba8ccd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/30] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From fb45909ee7b36fe8b8ad46b1e3f65ab11408bf1d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/30] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From ed34f8e3752faf18d732290d8fa28bde76b13a53 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/30] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 8550e43516225c6def58b14df7e18b68006a31c5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/30] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From 284c2493d9087b3027399097eceff08d9cc04227 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/30] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 0098e53dd48422bf49bdd955557fcefee2b21721 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/30] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From f6ccae0124850d890fce2ebf0f44cac515f696b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/30] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 809bbe44b9cac05975f3f24262bd6d3ad3f74c1f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/30] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From e016e331c3c04bdd5db99d9d9d360d3ac47b9751 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/30] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 9ab1c0e2b3d573e36701394c16d9361837210dec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/30] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..3a1cee3e66850 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -3,10 +3,10 @@ pkgname=urh
 version=2.9.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From b6a7bced68592bdba3cd8a8265893794eb791a63 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/30] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 494d3184563d9b4c760b2b30478571dada78f3e6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/30] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (21 preceding siblings ...)
  2023-08-28 15:23 ` [PR PATCH] [Updated] " ahesford
@ 2023-08-28 15:26 ` ahesford
  2023-08-31  1:02 ` ahesford
                   ` (7 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-28 15:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 44450 bytes --]

From 88cfaf9f776cf69669caf45df773724f4b5576ae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From b2562199e6618407a3ccdf4acbacc959f07b3163 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 0533fe37e39ea18e44cecf3fdb46fcc57c5dd1b6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From afbb300fcb534eb994360e9945eb634d3edb19bc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 6eeb97ee31b907f853f51c79ff3c59889ed6777c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 2 files changed, 31 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From da507771448679d0510409ab84dcb568396a8749 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 5d8c72ca387cc29c03689d1f9c2beae59aa8d352 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From 8c9eb07444743fefb97b87749f7575d18536f13a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 1834743222096e5e96713a761cf57b8096e5251b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From b07b5581b51f049bf1cf63f2c5bf74e5ae3562ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 2a173bb801a1a16153f9f2099fae921c827b8f56 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From f6c166674ce4f5d3e44540d6af1e1d8f70c23f22 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 977ed295b5e9629d94a4ebd4a2464a57d3291eff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 97560547cd62cd9c4c9718815615b66576ecd8c3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 0a9a8b2116bf1d1a298587dbf76c4fdd4df65eea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 2a5b790dac2d9e1d698278be4f3bea1b752e75d1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 30d86353e7224c7c5f4bd296164f8ca5f9276ad1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 141bcd0d3b771399c665cb1e3783acf12417f7dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 95c938bfff6678aa3fd84bed17f246e768ba8ccd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From fb45909ee7b36fe8b8ad46b1e3f65ab11408bf1d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From ed34f8e3752faf18d732290d8fa28bde76b13a53 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 8550e43516225c6def58b14df7e18b68006a31c5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From 284c2493d9087b3027399097eceff08d9cc04227 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 0098e53dd48422bf49bdd955557fcefee2b21721 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From f6ccae0124850d890fce2ebf0f44cac515f696b7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 809bbe44b9cac05975f3f24262bd6d3ad3f74c1f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From e016e331c3c04bdd5db99d9d9d360d3ac47b9751 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 9ab1c0e2b3d573e36701394c16d9361837210dec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..3a1cee3e66850 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -3,10 +3,10 @@ pkgname=urh
 version=2.9.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From b6a7bced68592bdba3cd8a8265893794eb791a63 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 494d3184563d9b4c760b2b30478571dada78f3e6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/31] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From 2c2d8bf8e3729c952cadadfb7c988a300101c979 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 28 Aug 2023 11:24:29 -0400
Subject: [PATCH 31/31] sagemath: build with python3-Cython0.29

---
 srcpkgs/sagemath/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 2491d77dbc8d9..d84d818702ea7 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -6,8 +6,8 @@ build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -18,7 +18,7 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
 depends="FlintQS eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (22 preceding siblings ...)
  2023-08-28 15:26 ` ahesford
@ 2023-08-31  1:02 ` ahesford
  2023-08-31  1:15 ` ahesford
                   ` (6 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-31  1:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 48562 bytes --]

From d559394753b1141c04d528abe4c9caaf447764e6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/32] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From f336dd2fab49fb48a63330652dac4320a931fac4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/32] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 831a643b11d5e4ae23a64609930d8ff599e35ed4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/32] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 4a18c3011e1de0f9df96a0a1dea4f390e2402e5d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/32] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 93e1ae91f4c3abd66711dc335ca5d7ec575f294b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/32] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-warning.patch         | 13 ++++++++
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
new file mode 100644
index 0000000000000..98cad9625e402
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
+index c86e085..a98c8d1 100644
+--- a/src/cysignals/signals.pxd.in
++++ b/src/cysignals/signals.pxd.in
+@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
+ # can be used to make Cython check whether there is a pending exception
+ # (PyErr_Occurred() is non-NULL). To Cython, it will look like
+ # cython_check_exception() actually raised the exception.
+-cdef inline void cython_check_exception() nogil except *:
++cdef inline void cython_check_exception() except * nogil:
+     pass
+ 
+ 
diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From a347f00e73de44ef3076892de92354c377984532 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/32] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 3f51dc32a9ac1e6fa5687f4226bb59fa06add43f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/32] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From bf696fd2b9e545882602f66d6f132995fe4df738 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/32] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 52d6583d901f05bd3113f45ebe7313d46d8d0eaa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/32] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From 523c92fba3ec1d27b1d0a51e35a5b54a1a5ff6a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/32] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 5dc14b9c21bded3ac07ed2461391134db58123be Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/32] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 77a306a6b23e567263b2fcf112bd68acc61f1730 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/32] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 6f7ad31e2714ab0f8eb332a4be147b158db39935 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/32] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From e004ba2fd76e07fd511a05d8bfdb1b5c95d15cd3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/32] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 43993b5542577d1b01a6180b9e5ebdb9c087f97c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/32] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 7f21de672c9a591154d0e2c844642395aadf65df Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/32] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 13900b7c18a78bd53e76c026fa929fca92811e11 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/32] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 5007c25775ce92e6c472e3b10d0a30804815444f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/32] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From c24b78cc5ee21dfca9d99339d1edb9fd80f0d46a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/32] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 1229d44843fb123c3008ed8a2402bd9490f8b749 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/32] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From c878909909fd0f75fc8690285e398ad1bace1c37 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/32] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 32455f151d6d13ef26fc24e3a30b03ccebcec414 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/32] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From c0328bdc1916d00dc208a8fa67f76f09a38c67a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/32] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 757ace7408681b0e4bb98d93a0719086d76fda01 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/32] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From b6accdc00e20b7b6088d639948c6f98a4eafabba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/32] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 182e6e98f1ff2f0fd8aa1a43ae9ebf8d07de630e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/32] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From 2f22c58ee960b44b82628f56ae93f944add489bb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/32] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 9d6bd03ae13d648d765c3b4aab82b07dea10ab18 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/32] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..1e2721e335922 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,12 +1,12 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.4
-revision=1
+revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 0e4b4971430dbb8eac832ecd3783e17d28279513 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/32] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From a329c2a5a63147b601f9adef143d99ca82fb0bfd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/32] vidcutter: build with python3-Cython0.29

---
 srcpkgs/vidcutter/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From 885dfe0062f5b204bb34151c381456a830ab34ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 28 Aug 2023 11:24:29 -0400
Subject: [PATCH 31/32] sagemath: build with python3-Cython0.29

---
 srcpkgs/sagemath/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 2491d77dbc8d9..d84d818702ea7 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -6,8 +6,8 @@ build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -18,7 +18,7 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
 depends="FlintQS eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig

From 876a44536a385d9ad9c813fd9576ef29c69120d5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 21:50:11 -0400
Subject: [PATCH 32/32] xpra: update to 5.0.

---
 srcpkgs/xpra/patches/setup.patch | 13 +------------
 srcpkgs/xpra/template            |  8 ++++----
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/xpra/patches/setup.patch b/srcpkgs/xpra/patches/setup.patch
index 237f04308b1a7..9870936cabf46 100644
--- a/srcpkgs/xpra/patches/setup.patch
+++ b/srcpkgs/xpra/patches/setup.patch
@@ -1,6 +1,4 @@
-Make sure the build script pulls the right CFLAGS and prevent -Werror. In
-addition, remove a stray CUDA README that is only supposed to installed when
-CUDA is actually available.
+Make sure the build script pulls the right CFLAGS and prevent -Werror.
 
 --- a/setup.py
 +++ b/setup.py
@@ -31,12 +29,3 @@ CUDA is actually available.
              if NETBSD:
                  #see: http://trac.cython.org/ticket/395
                  addcflags("-fno-strict-aliasing")
-@@ -2252,8 +2252,6 @@
-         if nvjpeg_encoder_ENABLED or nvjpeg_decoder_ENABLED:
-             add_data_files("", glob.glob(f"{CUDA_BIN_DIR}/nvjpeg64*dll"))
- 
--add_data_files(CUDA_BIN, ["fs/share/xpra/cuda/README.md"])
--
- tace(nvenc_ENABLED, "xpra.codecs.nvenc.encoder", "nvenc",
-      extra_compile_args="-Wno-error=sign-compare" if get_gcc_version()<(8, ) else None)
- 
diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index 0a63fdb6c7437..d3ee36ce48ca4 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.4.6
+version=5.0
 revision=1
 build_style=python3-module
 make_build_args="--without-cuda_kernels --without-cuda_rebuild"
@@ -8,17 +8,17 @@ make_install_args="$(vopt_with docs) ${make_build_args}"
 hostmakedepends="pkg-config python3-Cython $(vopt_if docs pandoc)"
 makedepends="ffmpeg-devel libXcomposite-devel libXrandr-devel libXtst-devel
  libvpx-devel libwebp-devel libxkbfile-devel python3-gobject-devel x264-devel
- x265-devel gtk+3-devel pam-devel libXres-devel liblz4-devel"
+ gtk+3-devel pam-devel libXres-devel liblz4-devel libavif-devel procps-ng-devel"
 depends="cups python3-gobject python3-Pillow python3-cups python3-dbus
  python3-lz4 python3-paramiko python3-rencode xauth xf86-video-dummy
- xorg-server-xvfb"
+ xorg-server-xvfb python3-typing_extensions python3-cairo"
 short_desc="Persistent remote display server and client for X11 clients"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=7fec998cf9816df3f0fa5ded01903b07211b0c36a7316c9e9bf6db8b80fb477a
+checksum=69bf2da133a6ee28ad4e3a849f997b32e5bab4f4b616ff5acd0811e8ac9e4c14
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 # Tests don't run properly without package installed
 make_check=no

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (23 preceding siblings ...)
  2023-08-31  1:02 ` ahesford
@ 2023-08-31  1:15 ` ahesford
  2023-08-31 14:01 ` ahesford
                   ` (5 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-31  1:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 164904 bytes --]

From d559394753b1141c04d528abe4c9caaf447764e6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From f336dd2fab49fb48a63330652dac4320a931fac4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 831a643b11d5e4ae23a64609930d8ff599e35ed4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 4a18c3011e1de0f9df96a0a1dea4f390e2402e5d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 93e1ae91f4c3abd66711dc335ca5d7ec575f294b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-warning.patch         | 13 ++++++++
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
new file mode 100644
index 0000000000000..98cad9625e402
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
+index c86e085..a98c8d1 100644
+--- a/src/cysignals/signals.pxd.in
++++ b/src/cysignals/signals.pxd.in
+@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
+ # can be used to make Cython check whether there is a pending exception
+ # (PyErr_Occurred() is non-NULL). To Cython, it will look like
+ # cython_check_exception() actually raised the exception.
+-cdef inline void cython_check_exception() nogil except *:
++cdef inline void cython_check_exception() except * nogil:
+     pass
+ 
+ 
diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From a347f00e73de44ef3076892de92354c377984532 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 3f51dc32a9ac1e6fa5687f4226bb59fa06add43f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From bf696fd2b9e545882602f66d6f132995fe4df738 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: patch and rebuild for Cython 3

---
 ...8537fa7ea061ebb8d5131b1e23673eaf741d.patch | 22 ++++++++++++++++++
 .../patches/cython3-legacy.patch              | 23 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  2 +-
 3 files changed, 46 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
 create mode 100644 srcpkgs/python3-pplpy/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/aaa28537fa7ea061ebb8d5131b1e23673eaf741d.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/patches/cython3-legacy.patch b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..e00b99f8c5f2e
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/cython3-legacy.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..6023c63f87982 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -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

From 52d6583d901f05bd3113f45ebe7313d46d8d0eaa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From 523c92fba3ec1d27b1d0a51e35a5b54a1a5ff6a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 5dc14b9c21bded3ac07ed2461391134db58123be Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 77a306a6b23e567263b2fcf112bd68acc61f1730 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 6f7ad31e2714ab0f8eb332a4be147b158db39935 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From e004ba2fd76e07fd511a05d8bfdb1b5c95d15cd3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 43993b5542577d1b01a6180b9e5ebdb9c087f97c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 7f21de672c9a591154d0e2c844642395aadf65df Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 13900b7c18a78bd53e76c026fa929fca92811e11 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 5007c25775ce92e6c472e3b10d0a30804815444f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From c24b78cc5ee21dfca9d99339d1edb9fd80f0d46a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 1229d44843fb123c3008ed8a2402bd9490f8b749 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From c878909909fd0f75fc8690285e398ad1bace1c37 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 32455f151d6d13ef26fc24e3a30b03ccebcec414 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From c0328bdc1916d00dc208a8fa67f76f09a38c67a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 757ace7408681b0e4bb98d93a0719086d76fda01 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From b6accdc00e20b7b6088d639948c6f98a4eafabba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From 182e6e98f1ff2f0fd8aa1a43ae9ebf8d07de630e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From 2f22c58ee960b44b82628f56ae93f944add489bb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 9d6bd03ae13d648d765c3b4aab82b07dea10ab18 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..1e2721e335922 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,12 +1,12 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.4
-revision=1
+revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 0e4b4971430dbb8eac832ecd3783e17d28279513 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From f61474d029307877fcd7783c0a63ece126095285 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/31] sagemath: update to 10.1.

---
 .../sagemath/patches/35584-networkx_3.1.patch |  92 --
 .../sagemath/patches/35612-linbox_1.7.0.patch |  64 --
 .../patches/35619-maxima_5.46.0.patch         | 586 ------------
 .../sagemath/patches/35635-sympy_1.12.patch   |  54 --
 .../patches/35707-maxima_5.47.0.patch         | 879 ------------------
 .../patches/35825-singular_4.3.2p2.patch      |  24 -
 .../sagemath/patches/35826-numpy_1.25.0.patch |  83 --
 .../patches/35831-setuptools_68.0.0.patch     |  13 -
 .../patches/35934-singular_4.3.2p7.patch      | 221 +++++
 .../sagemath/patches/36006-gmp_6.3.0.patch    |  38 +
 .../patches/36046-fix_memory_leak.patch       | 740 +++++++++++++++
 srcpkgs/sagemath/patches/get_patches          |  22 +-
 srcpkgs/sagemath/template                     |  23 +-
 srcpkgs/vidcutter/template                    |   2 +-
 14 files changed, 1018 insertions(+), 1823 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/35584-networkx_3.1.patch
 delete mode 100644 srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35635-sympy_1.12.patch
 delete mode 100644 srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
 delete mode 100644 srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
 create mode 100644 srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
 create mode 100644 srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
 create mode 100644 srcpkgs/sagemath/patches/36046-fix_memory_leak.patch

diff --git a/srcpkgs/sagemath/patches/35584-networkx_3.1.patch b/srcpkgs/sagemath/patches/35584-networkx_3.1.patch
deleted file mode 100644
index 9331258986d3d..0000000000000
--- a/srcpkgs/sagemath/patches/35584-networkx_3.1.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py
-index c2e42bcbd38..0d13f071dc4 100644
---- a/src/sage/graphs/graph.py
-+++ b/src/sage/graphs/graph.py
-@@ -6786,13 +6786,26 @@ def cliques_number_of(self, vertices=None, cliques=None):
-             {(0, 0): 2, (0, 1): 3, (0, 2): 2, (1, 0): 2, (1, 1): 3, (1, 2): 2}
-             sage: F.cliques_number_of(vertices=[(0, 1), (1, 2)])
-             {(0, 1): 3, (1, 2): 2}
-+            sage: F.cliques_number_of(vertices=(0, 1))
-+            3
-             sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
-             sage: G.show(figsize=[2,2])
-             sage: G.cliques_number_of()
-             {0: 2, 1: 2, 2: 1, 3: 1}
-         """
--        import networkx
--        return networkx.number_of_cliques(self.networkx_graph(), vertices, cliques)
-+        if cliques is None:
-+            cliques = self.cliques_maximal()
-+
-+        if vertices in self:  # single vertex
-+            return sum(1 for c in cliques if vertices in c)
-+
-+        from collections import Counter
-+        count = Counter()
-+
-+        for c in cliques:
-+            count.update(c)
-+
-+        return {v : count[v] for v in vertices or self}
- 
-     @doc_index("Clique-related methods")
-     def cliques_get_max_clique_graph(self):
-@@ -7493,17 +7506,32 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
- 
-             sage: C = Graph('DJ{')
-             sage: C.cliques_containing_vertex()
--            {0: [[4, 0]], 1: [[4, 1, 2, 3]], 2: [[4, 1, 2, 3]], 3: [[4, 1, 2, 3]], 4: [[4, 0], [4, 1, 2, 3]]}
-+            {0: [[0, 4]],
-+             1: [[1, 2, 3, 4]],
-+             2: [[1, 2, 3, 4]],
-+             3: [[1, 2, 3, 4]],
-+             4: [[0, 4], [1, 2, 3, 4]]}
-+            sage: C.cliques_containing_vertex(4)
-+            [[0, 4], [1, 2, 3, 4]]
-+            sage: C.cliques_containing_vertex([0, 1])
-+            {0: [[0, 4]], 1: [[1, 2, 3, 4]]}
-             sage: E = C.cliques_maximal()
-             sage: E
-             [[0, 4], [1, 2, 3, 4]]
-             sage: C.cliques_containing_vertex(cliques=E)
--            {0: [[0, 4]], 1: [[1, 2, 3, 4]], 2: [[1, 2, 3, 4]], 3: [[1, 2, 3, 4]], 4: [[0, 4], [1, 2, 3, 4]]}
-+            {0: [[0, 4]],
-+             1: [[1, 2, 3, 4]],
-+             2: [[1, 2, 3, 4]],
-+             3: [[1, 2, 3, 4]],
-+             4: [[0, 4], [1, 2, 3, 4]]}
- 
-             sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
-             sage: G.show(figsize=[2,2])
-             sage: G.cliques_containing_vertex()
--            {0: [[0, 1, 2], [0, 1, 3]], 1: [[0, 1, 2], [0, 1, 3]], 2: [[0, 1, 2]], 3: [[0, 1, 3]]}
-+            {0: [[0, 1, 2], [0, 1, 3]],
-+             1: [[0, 1, 2], [0, 1, 3]],
-+             2: [[0, 1, 2]],
-+             3: [[0, 1, 3]]}
- 
-         Since each clique of a 2 dimensional grid corresponds to an edge, the
-         number of cliques in which a vertex is involved equals its degree::
-@@ -7518,8 +7546,20 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
-             sage: sorted(sorted(x for x in L) for L in d[(0, 1)])
-             [[(0, 0), (0, 1)], [(0, 1), (0, 2)], [(0, 1), (1, 1)]]
-         """
--        import networkx
--        return networkx.cliques_containing_node(self.networkx_graph(), vertices, cliques)
-+        if cliques is None:
-+            cliques = self.cliques_maximal()
-+
-+        if vertices in self:  # single vertex
-+            return [c for c in cliques if vertices in c]
-+
-+        from collections import defaultdict
-+        d = defaultdict(list)
-+
-+        for c in cliques:
-+            for v in c:
-+                d[v].append(c)
-+
-+        return {v : d[v] for v in vertices or self}
- 
-     @doc_index("Clique-related methods")
-     def clique_complex(self):
diff --git a/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch b/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
deleted file mode 100644
index 58dddf34a69d8..0000000000000
--- a/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
-index 7794c9edc39..1753277b1f1 100644
---- a/src/sage/libs/linbox/conversion.pxd
-+++ b/src/sage/libs/linbox/conversion.pxd
-@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
-     - v -- linbox vector
-     """
-     cdef Vector_integer_dense res = P()
--    cdef cppvector[Integer] * vec = &v.refRep()
-     cdef size_t i
-     for i in range(<size_t> res._degree):
--        mpz_set(res._entries[i], vec[0][i].get_mpz_const())
-+        mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
- 
-     return res
-diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
-index 9112d151f8b..bfeda4b6042 100644
---- a/src/sage/libs/linbox/linbox.pxd
-+++ b/src/sage/libs/linbox/linbox.pxd
-@@ -32,7 +32,6 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_double Field
-         ctypedef double Element
-         DenseMatrix_Modular_double(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -42,7 +41,6 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_float Field
-         ctypedef float Element
-         DenseMatrix_Modular_float(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -101,7 +99,6 @@ cdef extern from "linbox/vector/vector.h":
-         DenseVector_integer (Field &F)
-         DenseVector_integer (Field &F, long& m)
-         DenseVector_integer (Field &F, cppvector[Integer]&)
--        cppvector[Element]& refRep()
-         size_t size()
-         void resize(size_t)
-         void resize(size_t n, const Element&)
-diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
-index abf29badce6..68b869ce314 100644
---- a/src/sage/matrix/matrix_modn_dense_template.pxi
-+++ b/src/sage/matrix/matrix_modn_dense_template.pxi
-@@ -221,9 +221,14 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
-         return 0,[]
- 
-     cdef ModField *F = new ModField(<long>modulus)
--    cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
--    cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-+    cdef DenseMatrix *A = new DenseMatrix(F[0], nrows, ncols)
-+
-     cdef Py_ssize_t i,j
-+    for i in range(nrows):
-+        for j in range(ncols):
-+            A.setEntry(i, j, entries[i*ncols+j])
-+
-+    cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-     for i in range(nrows):
-         for j in range(ncols):
-             entries[i*ncols+j] = <celement>A.getEntry(i,j)
diff --git a/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch b/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
deleted file mode 100644
index 970de6e5beb6c..0000000000000
--- a/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
+++ /dev/null
@@ -1,586 +0,0 @@
-diff --git a/build/pkgs/ecl/dependencies b/build/pkgs/ecl/dependencies
-index cda6316bf5a..51a953403e9 100644
---- a/build/pkgs/ecl/dependencies
-+++ b/build/pkgs/ecl/dependencies
-@@ -1,4 +1,4 @@
--$(MP_LIBRARY) readline gc libffi
-+$(MP_LIBRARY) readline gc libffi info
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4
-index ae1e0ac5e1a..7dbcfa6377b 100644
---- a/build/pkgs/ecl/spkg-configure.m4
-+++ b/build/pkgs/ecl/spkg-configure.m4
-@@ -35,10 +35,7 @@ SAGE_SPKG_CONFIGURE([ecl], [
-     AC_SUBST(SAGE_ECL_CONFIG, [$ECL_CONFIG])
-   fi
- 
--  # Maxima cannot yet be provided by the system, so we always use
-+  # Kenzo cannot yet be provided by the system, so we always use
-   # the SAGE_LOCAL path for now.
--  AC_SUBST(SAGE_MAXIMA_FAS, ['${prefix}'/lib/ecl/maxima.fas])
--
--  # Likewise for the optional Kenzo SPKG
-   AC_SUBST(SAGE_KENZO_FAS, ['${prefix}'/lib/ecl/kenzo.fas])
- ])
-diff --git a/build/pkgs/ecl/spkg-install.in b/build/pkgs/ecl/spkg-install.in
-index ee1667aec16..72083337942 100644
---- a/build/pkgs/ecl/spkg-install.in
-+++ b/build/pkgs/ecl/spkg-install.in
-@@ -31,18 +31,6 @@ cp "$SAGE_ROOT"/config/config.* src
- 
- if [ x"$SAGE_SPKG_INSTALL_DOCS" != xyes ] ; then
-     ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--else
--    # ECL 2020 needs modern makeinfo
--    command -v texi2any >/dev/null 2>&1
--    if [ $? -ne 0 ]; then # texi2any not found -> makeinfo too old, if present
--        ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--    else
--        if makeinfo -c foo 2>&1 | grep -q invalid; then
--            # makeinfo found but does not support all options that ecl
--            # likes to use
--            ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--        fi
--    fi
- fi
- 
- sdh_configure $SAGE_CONFIGURE_GMP \
-diff --git a/build/pkgs/giac/spkg-configure.m4 b/build/pkgs/giac/spkg-configure.m4
-index 5859e35f12e..53e3a8301cd 100644
---- a/build/pkgs/giac/spkg-configure.m4
-+++ b/build/pkgs/giac/spkg-configure.m4
-@@ -5,7 +5,7 @@ SAGE_SPKG_CONFIGURE([giac], [
-        m4_pushdef([GIAC_MAX_VERSION], [1.9.999])
-        AC_CACHE_CHECK([for giac >= ]GIAC_MIN_VERSION[, <= ]GIAC_MAX_VERSION, [ac_cv_path_GIAC], [
-          AC_PATH_PROGS_FEATURE_CHECK([GIAC], [giac], [
--            giac_version=$($ac_path_GIAC --version 2> /dev/null | tail -1)
-+            giac_version=$($ac_path_GIAC --version 2> /dev/null | tail -n 1)
-             AS_IF([test -n "$giac_version"], [
-                 AX_COMPARE_VERSION([$giac_version], [ge], GIAC_MIN_VERSION, [
-                     AX_COMPARE_VERSION([$giac_version], [le], GIAC_MAX_VERSION, [
-diff --git a/build/pkgs/info/distros/fedora.txt b/build/pkgs/info/distros/fedora.txt
-index 283aa462f74..c0d8f74e0ad 100644
---- a/build/pkgs/info/distros/fedora.txt
-+++ b/build/pkgs/info/distros/fedora.txt
-@@ -1 +1 @@
--texinfo
-+texinfo info
-diff --git a/build/pkgs/info/spkg-configure.m4 b/build/pkgs/info/spkg-configure.m4
-index 0980a4b8ef8..85fe1ea4731 100644
---- a/build/pkgs/info/spkg-configure.m4
-+++ b/build/pkgs/info/spkg-configure.m4
-@@ -1,4 +1,14 @@
- SAGE_SPKG_CONFIGURE([info], [
-   AC_PATH_PROG(INFO, info)
--  AS_IF([test -z "${INFO}"], [sage_spkg_install_info=yes])
-+  AS_IF([test -z "${INFO}"], [sage_spkg_install_info=yes
-+    ], [
-+     dnl very old makeinfo are not texi2any, newer are symlinks to texi2any
-+     AC_PATH_PROG(TEXI2ANY, texi2any)
-+     AS_IF([test -z "${TEXI2ANY}"], [sage_spkg_install_info=yes
-+       ], [
-+        AS_IF([makeinfo -c foo 2>&1 | grep -q invalid], [
-+         dnl makeinfo found, but too old, and  does not support all options that ecl likes to use
-+         sage_spkg_install_info=yes])
-+       ])
-+    ])
- ])
-diff --git a/build/pkgs/info/spkg-install.in b/build/pkgs/info/spkg-install.in
-index 8086e4b2ec8..3ea8c053669 100644
---- a/build/pkgs/info/spkg-install.in
-+++ b/build/pkgs/info/spkg-install.in
-@@ -1,2 +1,2 @@
--cd src/info
-+cd src
- sdh_make_install
-diff --git a/build/pkgs/info/type b/build/pkgs/info/type
-index 134d9bc32d5..a6a7b9cd726 100644
---- a/build/pkgs/info/type
-+++ b/build/pkgs/info/type
-@@ -1 +1 @@
--optional
-+standard
-diff --git a/build/pkgs/maxima/checksums.ini b/build/pkgs/maxima/checksums.ini
-index a804c7b831f..0f594389fe6 100644
---- a/build/pkgs/maxima/checksums.ini
-+++ b/build/pkgs/maxima/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=maxima-VERSION.tar.gz
--sha1=ed15d5285794413ba94412079eca3d0fa55a47bf
--md5=9b9ae1dace55b1386739dabaa9122e60
--cksum=1765409766
-+sha1=1010594e6d6082bbd8efaac1b7756ec1721a4ed5
-+md5=3c01f1daa6936e11d8713fef7751d3fe
-+cksum=2420393096
- upstream_url=https://sourceforge.net/projects/maxima/files/Maxima-source/VERSION-source/maxima-VERSION.tar.gz/download
-diff --git a/build/pkgs/maxima/dependencies b/build/pkgs/maxima/dependencies
-index fffb89e2050..55c7e0d8d14 100644
---- a/build/pkgs/maxima/dependencies
-+++ b/build/pkgs/maxima/dependencies
-@@ -1,4 +1,4 @@
--ecl
-+ecl info
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/maxima/distros/arch.txt b/build/pkgs/maxima/distros/arch.txt
-index 6400290f44d..6ac052fa62b 100644
---- a/build/pkgs/maxima/distros/arch.txt
-+++ b/build/pkgs/maxima/distros/arch.txt
-@@ -1 +1 @@
--maxima-ecl
-+maxima-fas
-diff --git a/build/pkgs/maxima/distros/cygwin.txt b/build/pkgs/maxima/distros/cygwin.txt
-new file mode 100644
-index 00000000000..f5fe3fdc6cb
---- /dev/null
-+++ b/build/pkgs/maxima/distros/cygwin.txt
-@@ -0,0 +1 @@
-+maxima
-diff --git a/build/pkgs/maxima/distros/freebsd.txt b/build/pkgs/maxima/distros/freebsd.txt
-new file mode 100644
-index 00000000000..766a71b5074
---- /dev/null
-+++ b/build/pkgs/maxima/distros/freebsd.txt
-@@ -0,0 +1 @@
-+math/maxima
-diff --git a/build/pkgs/maxima/distros/gentoo.txt b/build/pkgs/maxima/distros/gentoo.txt
-new file mode 100644
-index 00000000000..85fb33f1610
---- /dev/null
-+++ b/build/pkgs/maxima/distros/gentoo.txt
-@@ -0,0 +1,2 @@
-+sci-mathematics/maxima[ecls]
-+
-diff --git a/build/pkgs/maxima/package-version.txt b/build/pkgs/maxima/package-version.txt
-index 83476624dc0..5681375f3be 100644
---- a/build/pkgs/maxima/package-version.txt
-+++ b/build/pkgs/maxima/package-version.txt
-@@ -1 +1 @@
--5.45.0.p0
-+5.46.0
-diff --git a/build/pkgs/maxima/patches/matrixexp.patch b/build/pkgs/maxima/patches/matrixexp.patch
-deleted file mode 100644
-index 5c8527c33bf..00000000000
---- a/build/pkgs/maxima/patches/matrixexp.patch
-+++ /dev/null
-@@ -1,15 +0,0 @@
--diff --git a/share/linearalgebra/matrixexp.lisp b/share/linearalgebra/matrixexp.lisp
--index 218bf35..f2fd468 100644
----- a/share/linearalgebra/matrixexp.lisp
--+++ b/share/linearalgebra/matrixexp.lisp
--@@ -138,8 +138,8 @@
-- 	   (print `(ratvars = ,$ratvars gcd = '$gcd algebraic = ,$algebraic))
-- 	   (print `(ratfac = ,$ratfac))
-- 	   (merror "Unable to find the spectrum")))
---   
---    (setq res ($fullratsimp (ncpower (sub (mult z ($ident n)) mat) -1) z))
--+
--+    (setq res ($fullratsimp ($invert_by_lu (sub (mult z ($ident n)) mat) '$crering) z))
--     (setq m (length sp))
--     (dotimes (i m)
--       (setq zi (nth i sp))
-diff --git a/build/pkgs/maxima/patches/maxima.system.patch b/build/pkgs/maxima/patches/maxima.system.patch
-deleted file mode 100644
-index 74db62e7f9f..00000000000
---- a/build/pkgs/maxima/patches/maxima.system.patch
-+++ /dev/null
-@@ -1,25 +0,0 @@
--diff --git a/src/maxima.system b/src/maxima.system
--index 76f2452..cf25f51 100644
----- a/src/maxima.system
--+++ b/src/maxima.system
--@@ -1,5 +1,8 @@
-- ;;; -*- Lisp -*-
-- 
--+(require :cmp)
--+(setf c::*compile-in-constants* t)
--+
-- (in-package :cl-user)
-- 
-- (pushnew :cl *features*)
--@@ -75,6 +78,11 @@
-- 			     ;; Convert dir/foo.fas to dir/foo.o
-- 			     (make-pathname :type "o" :defaults p))
-- 			 files)))
--+	(c::build-fasl "binary-ecl/maxima" :lisp-files obj
--+			  :ld-flags
--+			  (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
--+							      (find-package "MAXIMA")))))
--+			    (if (and x (not (string= x ""))) (list x))))
-- 	(c::build-program "binary-ecl/maxima" :lisp-files obj
-- 			  :ld-flags
-- 			  (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
-diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4
-new file mode 100644
-index 00000000000..86de8c1dfc1
---- /dev/null
-+++ b/build/pkgs/maxima/spkg-configure.m4
-@@ -0,0 +1,46 @@
-+SAGE_SPKG_CONFIGURE([maxima], [
-+  m4_pushdef([SAGE_MAXIMA_MINVER],["5.45.0"])dnl this version and higher allowed
-+  SAGE_SPKG_DEPCHECK([ecl], [
-+    dnl First check for the "maxima" executable in the user's PATH, because
-+    dnl we still use pexpect to communicate with it in a few places.
-+    AC_CACHE_CHECK([for Maxima >= $SAGE_MAXIMA_MINVER], [ac_cv_path_MAXIMA], [
-+        AC_PATH_PROGS_FEATURE_CHECK([MAXIMA], [maxima], [
-+            maxima_version=`$ac_path_MAXIMA --version 2>&1 | tail -n 1\
-+                | $SED -n -e 's/Maxima *\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)/\1/p'`
-+            AS_IF([test -n "$maxima_version"], [
-+                AX_COMPARE_VERSION([$maxima_version], [ge], [SAGE_MAXIMA_MINVER], [
-+                    ac_cv_path_MAXIMA="$ac_path_MAXIMA"
-+                    ac_path_MAXIMA_found=:
-+                ])
-+            ])
-+        ])
-+    ])
-+    SAGE_MAXIMA="$ac_cv_path_MAXIMA"
-+    AS_IF([test -z "${SAGE_MAXIMA}"], [
-+      sage_spkg_install_maxima=yes
-+    ],[
-+      dnl If we have the executable, check also for the ECL library.
-+      AC_MSG_CHECKING([if ECL can "require" the maxima module])
-+      AS_IF([ecl --eval "(require 'maxima)" --eval "(quit)" \
-+               >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
-+        AC_MSG_RESULT(yes)
-+      ], [
-+        AC_MSG_RESULT(no)
-+        sage_spkg_install_maxima=yes
-+      ])
-+    ])
-+  ])
-+  m4_popdef([SAGE_MAXIMA_MINVER])
-+],[],[],[
-+  # post-check
-+  AS_IF([test x$sage_spkg_install_maxima = xyes], [
-+    dnl Leaving this variable empty will tell sagelib to load
-+    dnl the maxima library (within ECL) by name instead of by
-+    dnl absolute path.
-+    SAGE_MAXIMA='${prefix}'/bin/maxima
-+    SAGE_MAXIMA_FAS='${prefix}'/lib/ecl/maxima.fas
-+  ])
-+
-+  AC_SUBST(SAGE_MAXIMA, "${SAGE_MAXIMA}")
-+  AC_SUBST(SAGE_MAXIMA_FAS, "${SAGE_MAXIMA_FAS}")
-+])
-diff --git a/build/pkgs/maxima/spkg-install.in b/build/pkgs/maxima/spkg-install.in
-index 3ae6382f9ba..cdb6fbf2069 100644
---- a/build/pkgs/maxima/spkg-install.in
-+++ b/build/pkgs/maxima/spkg-install.in
-@@ -28,28 +28,6 @@ echo
- echo "Now configuring Maxima..."
- sdh_configure --enable-ecl git_found=false
- 
--# Note the following is regression in maxima build system
--# see https://sourceforge.net/p/maxima/bugs/3278/
--# and https://sourceforge.net/p/maxima/bugs/2878/
--# For the previous time it was fixed.
--#---------------------------------------------------------------
--# Touching html and info file to avoid to regenerate them.
--# This must be done after configuration since the timestamp need
--# to be later than include-maxima.texi which is generated at
--# configuration time
--for i in doc/info/*.html ; do
--    touch "${i}"
--done
--touch doc/info/maxima.info*
--# Maxima 5.44.0 build_html.sh is not compatible with makeinfo 4.8
--# (which is /usr/bin/makeinfo on macOS).  #30063
--# Do not build the HTML docs unless the user asks for it,
--# in which case it is their problem to install a better
--# makeinfo version.
--if [[ "$SAGE_SPKG_INSTALL_DOCS" != yes ]] ; then
--touch doc/info/maxima_toc.html interfaces/xmaxima/doc/xmaxima.html
--fi
--
- #---------------------------------------------------------------
- 
- sdh_make
-diff --git a/build/pkgs/tox/spkg-configure.m4 b/build/pkgs/tox/spkg-configure.m4
-index 7d8ade4c14b..5a260439cdd 100644
---- a/build/pkgs/tox/spkg-configure.m4
-+++ b/build/pkgs/tox/spkg-configure.m4
-@@ -5,7 +5,7 @@ SAGE_SPKG_CONFIGURE([tox], [
-        m4_pushdef([TOX4_MIN_VERSION], [4.0.15])
-        AC_CACHE_CHECK([for tox 3 >= ]TOX3_MIN_VERSION[ or tox 4 >= ]TOX4_MIN_VERSION, [ac_cv_path_TOX], [
-          AC_PATH_PROGS_FEATURE_CHECK([TOX], [tox], [
--            tox_version=$($ac_path_TOX --version 2> /dev/null | tail -1)
-+            tox_version=$($ac_path_TOX --version 2> /dev/null | tail -n 1)
-             AS_IF([test -n "$tox_version"], [
-                 AX_COMPARE_VERSION([$tox_version], [lt], [4], [
-                     AX_COMPARE_VERSION([$tox_version], [ge], TOX3_MIN_VERSION, [
-diff --git a/pkgs/sage-conf/_sage_conf/_conf.py.in b/pkgs/sage-conf/_sage_conf/_conf.py.in
-index d66bdb3d264..f2e197b45ed 100644
---- a/pkgs/sage-conf/_sage_conf/_conf.py.in
-+++ b/pkgs/sage-conf/_sage_conf/_conf.py.in
-@@ -9,9 +9,11 @@ VERSION = "@PACKAGE_VERSION@"
- SAGE_LOCAL = "@prefix@"
- SAGE_ROOT = "@SAGE_ROOT@"
- 
--MAXIMA = "@prefix@/bin/maxima"
-+# The path to the standalone maxima executable.
-+MAXIMA = "@SAGE_MAXIMA@".replace('${prefix}', SAGE_LOCAL)
- 
--# Delete this line if your ECL can load maxima without further prodding.
-+# Set this to the empty string if your ECL can load maxima without
-+# further prodding.
- MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace('${prefix}', SAGE_LOCAL)
- 
- # Delete this line if your ECL can load Kenzo without further prodding.
-diff --git a/src/bin/sage-env b/src/bin/sage-env
-index a7da60df28f..13b54fa7e92 100644
---- a/src/bin/sage-env
-+++ b/src/bin/sage-env
-@@ -440,9 +440,6 @@ if [ -d "$DOT_SAGE" ] ; then
-     fi
- fi
- 
--if [ -n "$SAGE_LOCAL" ]; then
--    export MAXIMA_PREFIX="$SAGE_LOCAL"
--fi
- export MAXIMA_USERDIR="$DOT_SAGE/maxima"
- 
- if [ -n "$SAGE_LOCAL" ]; then
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index dae380180ac..ee8f632e94c 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -136,10 +136,11 @@
-     [          1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x)) 1/2*(x*e^(2*sqrt(x)) - x)*sqrt(x)*e^(x - sqrt(x))]
-     [  1/2*(e^(2*sqrt(x)) - 1)*e^(x - sqrt(x))/x^(3/2)           1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x))]
- 
--And complex exponentiation works now::
-+Complex exponentiation works, but may require a patched version of
-+maxima (:trac:`32898`) for now::
- 
-     sage: M = i*matrix([[pi]])
--    sage: e^M
-+    sage: e^M  # not tested, requires patched maxima
-     [-1]
-     sage: M = i*matrix([[pi,0],[0,2*pi]])
-     sage: e^M
-@@ -1186,8 +1187,18 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-         e
-         sage: f.limit(x=5)
-         7776/3125
--        sage: f.limit(x=1.2)
-+
-+    Domain to real, a regression in 5.46.0, see https://sf.net/p/maxima/bugs/4138 ::
-+
-+        sage: maxima_calculus.eval("domain:real")
-+        ...
-+        sage: f.limit(x=1.2).n()
-         2.06961575467...
-+        sage: maxima_calculus.eval("domain:complex");
-+        ...
-+
-+    Otherwise, it works ::
-+
-         sage: f.limit(x=I, taylor=True)
-         (-I + 1)^I
-         sage: f(x=1.2)
-@@ -1215,7 +1226,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-     With this example, Maxima is looking for a LOT of information::
- 
-         sage: assume(a>0)
--        sage: limit(x^a,x=0)
-+        sage: limit(x^a,x=0)  # random - maxima 5.46.0 does not need extra assumption
-         Traceback (most recent call last):
-         ...
-         ValueError: Computation failed since Maxima requested additional
-@@ -1224,7 +1235,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-          more details)
-         Is a an integer?
-         sage: assume(a,'integer')
--        sage: limit(x^a, x=0)
-+        sage: limit(x^a, x=0)  # random - maxima 5.46.0 does not need extra assumption
-         Traceback (most recent call last):
-         ...
-         ValueError: Computation failed since Maxima requested additional
-@@ -2251,10 +2262,10 @@ def symbolic_expression_from_maxima_string(x, equals_sub=False, maxima=maxima):
-         True
-         sage: sefms("x # 3") == SR(x != 3)
-         True
--        sage: solve([x != 5], x)
--        [[x - 5 != 0]]
-+        sage: solve([x != 5], x) in [[[x - 5 != 0]], [[x < 5], [5 < x]]]
-+        True
-         sage: solve([2*x==3, x != 5], x)
--        [[x == (3/2), (-7/2) != 0]]
-+        [[x == (3/2)...
- 
-     Make sure that we don't accidentally pick up variables in the maxima namespace (:trac:`8734`)::
- 
-diff --git a/src/sage/functions/exp_integral.py b/src/sage/functions/exp_integral.py
-index e6c888c64b6..f314e525145 100644
---- a/src/sage/functions/exp_integral.py
-+++ b/src/sage/functions/exp_integral.py
-@@ -601,8 +601,8 @@ class Function_log_integral_offset(BuiltinFunction):
-         1/log(x)
-         sage: f.integrate(x)
-         -x*log_integral(2) + x*log_integral(x) - Ei(2*log(x))
--        sage: Li(x).integrate(x,2.0,4.5)
--        -2.5*log_integral(2) + 5.799321147411334
-+        sage: Li(x).integrate(x,2.0,4.5).n(digits=10)
-+        3.186411697
-         sage: N(f.integrate(x,2.0,3.0))   # abs tol 1e-15
-         0.601621785860587
- 
-diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
-index 68ae715e4c3..84adf0341b5 100644
---- a/src/sage/interfaces/expect.py
-+++ b/src/sage/interfaces/expect.py
-@@ -620,7 +620,7 @@ def quit(self, verbose=False):
- 
-             sage: a = maxima('y')
-             sage: maxima.quit(verbose=True)
--            Exiting Maxima with PID ... running .../bin/maxima...
-+            Exiting Maxima with PID ... running ...maxima...
-             sage: a._check_valid()
-             Traceback (most recent call last):
-             ...
-diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
-index 27b1e98a6ac..4829560f98b 100644
---- a/src/sage/interfaces/maxima.py
-+++ b/src/sage/interfaces/maxima.py
-@@ -622,11 +622,6 @@ def _start(self):
-             sage: m.is_running()
-             True
- 
--        Test that we can use more than 256MB RAM (see :trac:`6772`)::
--
--            sage: a = maxima(10)^(10^5)
--            sage: b = a^600              # long time -- about 10-15 seconds
--
-         """
-         Expect._start(self)
-         self._sendline(r":lisp (defun tex-derivative (x l r) (tex (if $derivabbrev (tex-dabbrev x) (tex-d x '\\partial)) l r lop rop ))")
-@@ -634,9 +629,6 @@ def _start(self):
-         # Don't use ! for factorials (#11539)
-         self._sendline(":lisp (remprop 'mfactorial 'grind)")
- 
--        # Remove limit on the max heapsize (since otherwise it defaults
--        # to 256MB with ECL).
--        self._sendline(":lisp (ext:set-limit 'ext:heap-size 0)")
-         self._eval_line('0;')
- 
-         # set random seed
-diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py
-index c263ac65f02..bba8504aa92 100644
---- a/src/sage/interfaces/maxima_lib.py
-+++ b/src/sage/interfaces/maxima_lib.py
-@@ -934,8 +934,15 @@ def sr_limit(self, expr, v, a, dir=None):
-             e
-             sage: limit(f,x = 5)
-             7776/3125
--            sage: limit(f,x = 1.2)
-+
-+        Domain to real, a regression in 5.46.0, see https://sf.net/p/maxima/bugs/4138 ::
-+
-+            sage: maxima_calculus.eval("domain:real")
-+            ...
-+            sage: limit(f,x = 1.2).n()
-             2.06961575467...
-+            sage: maxima_calculus.eval("domain:complex");
-+            ...
-             sage: var('a')
-             a
-             sage: limit(x^a,x=0)
-@@ -947,7 +954,7 @@ def sr_limit(self, expr, v, a, dir=None):
-             for more details)
-             Is a positive, negative or zero?
-             sage: assume(a>0)
--            sage: limit(x^a,x=0)
-+            sage: limit(x^a,x=0)  # random - not needed for maxima 5.46.0
-             Traceback (most recent call last):
-             ...
-             ValueError: Computation failed ...
-diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx
-index e2e6449dfa9..15914b0be3e 100644
---- a/src/sage/matrix/matrix2.pyx
-+++ b/src/sage/matrix/matrix2.pyx
-@@ -15425,9 +15425,10 @@ cdef class Matrix(Matrix1):
- 
-         TESTS:
- 
--        Check that sparse matrices are handled correctly (:trac:`28935`)::
-+        Sparse matrices are handled correctly (:trac:`28935`), but may
-+        require a patched version of maxima (:trac:`32898`) for now::
- 
--            sage: matrix.diagonal([0], sparse=True).exp()
-+            sage: matrix.diagonal([0], sparse=True).exp()  # not tested, requires patched maxima
-             [1]
-             sage: matrix.zero(CBF, 2, sparse=True).exp()
-             [1.000000000000000                 0]
-diff --git a/src/sage/matrix/matrix_symbolic_dense.pyx b/src/sage/matrix/matrix_symbolic_dense.pyx
-index 19ca5c85cb2..58a25e002f6 100644
---- a/src/sage/matrix/matrix_symbolic_dense.pyx
-+++ b/src/sage/matrix/matrix_symbolic_dense.pyx
-@@ -402,7 +402,8 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             [1/2*(e^(2*x) + 1)*e^(-x) 1/2*(e^(2*x) - 1)*e^(-x)]
-             [1/2*(e^(2*x) - 1)*e^(-x) 1/2*(e^(2*x) + 1)*e^(-x)]
- 
--        Exp works on 0x0 and 1x1 matrices::
-+        Exponentiation works on 0x0 and 1x1 matrices, but the 1x1 example
-+        requires a patched version of maxima (:trac:`32898`) for now::
- 
-             sage: m = matrix(SR,0,[]); m
-             []
-@@ -410,7 +411,7 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             []
-             sage: m = matrix(SR,1,[2]); m
-             [2]
--            sage: m.exp()
-+            sage: m.exp()  # not tested, requires patched maxima
-             [e^2]
- 
-         Commuting matrices `m, n` have the property that
-@@ -451,7 +452,6 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             [                       0 1/2*(e^(2*x) + 1)*e^(-x) 1/2*(e^(2*x) - 1)*e^(-x)                        0]
-             [                       0 1/2*(e^(2*x) - 1)*e^(-x) 1/2*(e^(2*x) + 1)*e^(-x)                        0]
-             [1/2*(e^(2*x) - 1)*e^(-x)                        0                        0 1/2*(e^(2*x) + 1)*e^(-x)]
--
-         """
-         if not self.is_square():
-             raise ValueError("exp only defined on square matrices")
-diff --git a/src/sage/symbolic/integration/integral.py b/src/sage/symbolic/integration/integral.py
-index c82e9ed73c3..e84ad357ee2 100644
---- a/src/sage/symbolic/integration/integral.py
-+++ b/src/sage/symbolic/integration/integral.py
-@@ -741,14 +741,14 @@ def integrate(expression, v=None, a=None, b=None, algorithm=None, hold=False):
- 
-         sage: _ = var('x,y')
-         sage: f = log(x^2+y^2)
--        sage: res = integral(f,x,0.0001414, 1.); res
-+        sage: res = integral(f,x,1414/10^7, 1); res
-         Traceback (most recent call last):
-         ...
--        ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(50015104*y^2-50015103>0)', see `assume?` for more details)
--        Is 50015104*y^2-50015103 positive, negative or zero?
-+        ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help ...
-+        Is ... positive, negative or zero?
-         sage: assume(y>1)
--        sage: res = integral(f,x,0.0001414, 1.); res
--        2*y*arctan(1.0/y) - 2*y*arctan(0.0001414/y) + 1.0*log(1.0*y^2 + 1.0) - 0.0001414*log(1.0*y^2 + 1.9993959999999997e-08) - 1.9997172
-+        sage: res = integral(f,x,1414/10^7, 1); res
-+        -2*y*arctan(707/5000000/y) + 2*y*arctan(1/y) + log(y^2 + 1) - 707/5000000*log(y^2 + 499849/25000000000000) - 4999293/2500000
-         sage: nres = numerical_integral(f.subs(y=2), 0.0001414, 1.); nres
-         (1.4638323264144..., 1.6251803529759...e-14)
-         sage: res.subs(y=2).n()
-diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
-index 94813315181..a72ab547c76 100644
---- a/src/sage/symbolic/relation.py
-+++ b/src/sage/symbolic/relation.py
-@@ -1787,8 +1787,8 @@ def solve_ineq_fourier(ineq, vars=None):
-         sage: y = var('y')
-         sage: solve_ineq_fourier([x+y<9,x-y>4],[x,y])
-         [[y + 4 < x, x < -y + 9, y < (5/2)]]
--        sage: solve_ineq_fourier([x+y<9,x-y>4],[y,x])
--        [[y < min(x - 4, -x + 9)]]
-+        sage: solve_ineq_fourier([x+y<9,x-y>4],[y,x])[0][0](x=42)
-+        y < -33
- 
-         sage: solve_ineq_fourier([x^2>=0])
-         [[x < +Infinity]]
diff --git a/srcpkgs/sagemath/patches/35635-sympy_1.12.patch b/srcpkgs/sagemath/patches/35635-sympy_1.12.patch
deleted file mode 100644
index 9cfc69c2adb6f..0000000000000
--- a/srcpkgs/sagemath/patches/35635-sympy_1.12.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index dae380180ac..ca3c59e63d2 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -1690,8 +1690,11 @@ def laplace(ex, t, s, algorithm='maxima'):
- 
-     Testing SymPy::
- 
--        sage: laplace(t^n, t, s, algorithm='sympy')
--        (gamma(n + 1)/(s*s^n), 0, re(n) > -1)
-+        sage: F, a, cond = laplace(t^n, t, s, algorithm='sympy')
-+        sage: a, cond
-+        (0, re(n) > -1)
-+        sage: F.simplify()
-+        s^(-n - 1)*gamma(n + 1)
- 
-     Testing Maxima::
- 
-@@ -1700,17 +1703,19 @@ def laplace(ex, t, s, algorithm='maxima'):
- 
-     Check that :trac:`24212` is fixed::
- 
--        sage: laplace(cos(t^2), t, s, algorithm='sympy')
--        (-1/2*sqrt(pi)*(sqrt(2)*cos(1/4*s^2)*fresnel_sin(1/2*sqrt(2)*s/sqrt(pi)) -
--        sqrt(2)*fresnel_cos(1/2*sqrt(2)*s/sqrt(pi))*sin(1/4*s^2) - cos(1/4*pi + 1/4*s^2)),
--        0, True)
-+        sage: F, a, cond = laplace(cos(t^2), t, s, algorithm='sympy')
-+        sage: a, cond
-+        (0, True)
-+        sage: F._sympy_().simplify()
-+        sqrt(pi)*(sqrt(2)*sin(s**2/4)*fresnelc(sqrt(2)*s/(2*sqrt(pi))) -
-+        sqrt(2)*cos(s**2/4)*fresnels(sqrt(2)*s/(2*sqrt(pi))) + cos(s**2/4 + pi/4))/2
- 
-     Testing result from SymPy that Sage doesn't know how to handle::
- 
-         sage: laplace(cos(-1/t), t, s, algorithm='sympy')
-         Traceback (most recent call last):
-         ...
--        AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), s**2/16)/4) into Sage
-+        AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), ...)/4) into Sage
-     """
-     if not isinstance(ex, (Expression, Function)):
-         ex = SR(ex)
-@@ -1817,8 +1822,8 @@ def inverse_laplace(ex, s, t, algorithm='maxima'):
- 
-     Transform an expression involving a time-shift, via SymPy::
- 
--        sage: inverse_laplace(1/s^2*exp(-s), s, t, algorithm='sympy')
--        -(log(e^(-t)) + 1)*heaviside(t - 1)
-+        sage: inverse_laplace(1/s^2*exp(-s), s, t, algorithm='sympy').simplify()
-+        (t - 1)*heaviside(t - 1)
- 
-     The same instance with Giac::
- 
diff --git a/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch b/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
deleted file mode 100644
index de10df8cb73c9..0000000000000
--- a/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
+++ /dev/null
@@ -1,879 +0,0 @@
-diff --git a/src/doc/de/tutorial/interfaces.rst b/src/doc/de/tutorial/interfaces.rst
-index edb4f383363..d83225b5315 100644
---- a/src/doc/de/tutorial/interfaces.rst
-+++ b/src/doc/de/tutorial/interfaces.rst
-@@ -272,8 +272,8 @@ deren :math:`i,j` Eintrag gerade :math:`i/j` ist, für :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Hier ein anderes Beispiel:
- 
-@@ -332,12 +332,9 @@ Und der letzte ist die berühmte Kleinsche Flasche:
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/de/tutorial/tour_algebra.rst b/src/doc/de/tutorial/tour_algebra.rst
-index baba2553a25..59eed8f1888 100644
---- a/src/doc/de/tutorial/tour_algebra.rst
-+++ b/src/doc/de/tutorial/tour_algebra.rst
-@@ -209,9 +209,12 @@ Lösung: Berechnen Sie die Laplace-Transformierte der ersten Gleichung
- 
- ::
- 
--    sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Das ist schwierig zu lesen, es besagt jedoch, dass
- 
-@@ -226,8 +229,8 @@ Laplace-Transformierte der zweiten Gleichung:
- ::
- 
-     sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: lde2 = de2.laplace("t","s"); lde2.sage()
-+    s^2*laplace(y(t), t, s) - s*y(0) - 2*laplace(x(t), t, s) + 2*laplace(y(t), t, s) - D[0](y)(0)
- 
- Dies besagt
- 
-diff --git a/src/doc/en/constructions/linear_algebra.rst b/src/doc/en/constructions/linear_algebra.rst
-index 8894de9a5fd..4e76c65ad0a 100644
---- a/src/doc/en/constructions/linear_algebra.rst
-+++ b/src/doc/en/constructions/linear_algebra.rst
-@@ -277,8 +277,8 @@ Another approach is to use the interface with Maxima:
- 
-     sage: A = maxima("matrix ([1, -4], [1, -1])")
-     sage: eig = A.eigenvectors()
--    sage: eig
--    [[[-sqrt(3)*%i,sqrt(3)*%i],[1,1]], [[[1,(sqrt(3)*%i+1)/4]],[[1,-(sqrt(3)*%i-1)/4]]]]
-+    sage: eig.sage()
-+    [[[-I*sqrt(3), I*sqrt(3)], [1, 1]], [[[1, 1/4*I*sqrt(3) + 1/4]], [[1, -1/4*I*sqrt(3) + 1/4]]]]
- 
- This tells us that :math:`\vec{v}_1 = [1,(\sqrt{3}i + 1)/4]` is
- an eigenvector of :math:`\lambda_1 = - \sqrt{3}i` (which occurs
-diff --git a/src/doc/en/tutorial/interfaces.rst b/src/doc/en/tutorial/interfaces.rst
-index b0e55345669..19c28f636d4 100644
---- a/src/doc/en/tutorial/interfaces.rst
-+++ b/src/doc/en/tutorial/interfaces.rst
-@@ -267,8 +267,8 @@ whose :math:`i,j` entry is :math:`i/j`, for
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Here's another example:
- 
-@@ -320,8 +320,8 @@ The next plot is the famous Klein bottle (do not type the ``....:``)::
- 
-     sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-     5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
-+    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)").sage()
-+    -5*(cos(1/2*x)*cos(y) + sin(1/2*x)*sin(2*y) + 3.0)*sin(x)
-     sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]",  # not tested
-diff --git a/src/doc/en/tutorial/tour_algebra.rst b/src/doc/en/tutorial/tour_algebra.rst
-index 2e872cc9059..225606a729f 100644
---- a/src/doc/en/tutorial/tour_algebra.rst
-+++ b/src/doc/en/tutorial/tour_algebra.rst
-@@ -216,9 +216,12 @@ the notation :math:`x=x_{1}`, :math:`y=x_{2}`):
- 
- ::
- 
--    sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- This is hard to read, but it says that
- 
-@@ -232,8 +235,8 @@ Laplace transform of the second equation:
- ::
- 
-     sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: lde2 = de2.laplace("t","s"); lde2.sage()
-+    s^2*laplace(y(t), t, s) - s*y(0) - 2*laplace(x(t), t, s) + 2*laplace(y(t), t, s) - D[0](y)(0)
- 
- This says
- 
-diff --git a/src/doc/es/tutorial/tour_algebra.rst b/src/doc/es/tutorial/tour_algebra.rst
-index dc1a7a96719..42c818fe8d7 100644
---- a/src/doc/es/tutorial/tour_algebra.rst
-+++ b/src/doc/es/tutorial/tour_algebra.rst
-@@ -197,8 +197,8 @@ la notación :math:`x=x_{1}`, :math:`y=x_{2}`):
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- El resultado puede ser difícil de leer, pero significa que
- 
-@@ -211,9 +211,12 @@ Toma la transformada de Laplace de la segunda ecuación:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Esto dice
- 
-diff --git a/src/doc/fr/tutorial/interfaces.rst b/src/doc/fr/tutorial/interfaces.rst
-index 1cd662f3083..2cb14e772eb 100644
---- a/src/doc/fr/tutorial/interfaces.rst
-+++ b/src/doc/fr/tutorial/interfaces.rst
-@@ -273,8 +273,8 @@ pour :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Un deuxième exemple :
- 
-@@ -334,12 +334,9 @@ Et la fameuse bouteille de Klein (n'entrez pas les ``....:``):
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/fr/tutorial/tour_algebra.rst b/src/doc/fr/tutorial/tour_algebra.rst
-index 658894b2e8b..267bd1dd4f9 100644
---- a/src/doc/fr/tutorial/tour_algebra.rst
-+++ b/src/doc/fr/tutorial/tour_algebra.rst
-@@ -182,8 +182,8 @@ Solution : Considérons la transformée de Laplace de la première équation
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- La réponse n'est pas très lisible, mais elle signifie que
- 
-@@ -196,9 +196,12 @@ la seconde équation :
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Ceci signifie
- 
-diff --git a/src/doc/it/tutorial/tour_algebra.rst b/src/doc/it/tutorial/tour_algebra.rst
-index 5a5311e9b1c..cde427d3090 100644
---- a/src/doc/it/tutorial/tour_algebra.rst
-+++ b/src/doc/it/tutorial/tour_algebra.rst
-@@ -183,8 +183,8 @@ la notazione :math:`x=x_{1}`, :math:`y=x_{2}`:
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Questo è di difficile lettura, ma dice che
- 
-@@ -197,9 +197,12 @@ trasformata di Laplace della seconda equazione:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- che significa
- 
-diff --git a/src/doc/ja/tutorial/interfaces.rst b/src/doc/ja/tutorial/interfaces.rst
-index 9c16b2eba08..892fc6f852f 100644
---- a/src/doc/ja/tutorial/interfaces.rst
-+++ b/src/doc/ja/tutorial/interfaces.rst
-@@ -239,8 +239,8 @@ Sage/Maximaインターフェイスの使い方を例示するため,ここで
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- 
- 使用例をもう一つ示す:
-@@ -299,11 +299,8 @@ Sage/Maximaインターフェイスの使い方を例示するため,ここで
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]",  # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]", '[plot_format, openmath]')
-diff --git a/src/doc/ja/tutorial/tour_algebra.rst b/src/doc/ja/tutorial/tour_algebra.rst
-index 784fd0d5c40..746cbb4475c 100644
---- a/src/doc/ja/tutorial/tour_algebra.rst
-+++ b/src/doc/ja/tutorial/tour_algebra.rst
-@@ -213,8 +213,8 @@ Sageを使って常微分方程式を研究することもできる. :math:`x'
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- この出力は読みにくいけれども,意味しているのは
- 
-@@ -226,9 +226,12 @@ Sageを使って常微分方程式を研究することもできる. :math:`x'
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- 意味するところは
- 
-diff --git a/src/doc/pt/tutorial/interfaces.rst b/src/doc/pt/tutorial/interfaces.rst
-index 386ef6456e5..5badb31ab35 100644
---- a/src/doc/pt/tutorial/interfaces.rst
-+++ b/src/doc/pt/tutorial/interfaces.rst
-@@ -269,8 +269,8 @@ entrada :math:`i,j` é :math:`i/j`, para :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Aqui vai outro exemplo:
- 
-@@ -330,13 +330,10 @@ E agora a famosa garrafa de Klein:
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)"
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)"
-     ....:        "- 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:               "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:               '[plot_format, openmath]')
-diff --git a/src/doc/pt/tutorial/tour_algebra.rst b/src/doc/pt/tutorial/tour_algebra.rst
-index baeb37b1c71..170e0d8a367 100644
---- a/src/doc/pt/tutorial/tour_algebra.rst
-+++ b/src/doc/pt/tutorial/tour_algebra.rst
-@@ -205,8 +205,8 @@ equação (usando a notação :math:`x=x_{1}`, :math:`y=x_{2}`):
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- O resultado é um pouco difícil de ler, mas diz que
- 
-@@ -219,9 +219,12 @@ calcule a transformada de Laplace da segunda equação:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- O resultado significa que
- 
-diff --git a/src/doc/ru/tutorial/interfaces.rst b/src/doc/ru/tutorial/interfaces.rst
-index ea84527f478..061818ca4a5 100644
---- a/src/doc/ru/tutorial/interfaces.rst
-+++ b/src/doc/ru/tutorial/interfaces.rst
-@@ -264,8 +264,8 @@ gnuplot, имеет методы решения и манипуляции мат
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Вот другой пример:
- 
-@@ -323,12 +323,9 @@ gnuplot, имеет методы решения и манипуляции мат
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/ru/tutorial/tour_algebra.rst b/src/doc/ru/tutorial/tour_algebra.rst
-index 9f08c41d118..bc0d4926f83 100644
---- a/src/doc/ru/tutorial/tour_algebra.rst
-+++ b/src/doc/ru/tutorial/tour_algebra.rst
-@@ -199,8 +199,8 @@ Sage может использоваться для решения диффер
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Данный результат тяжело читаем, однако должен быть понят как
- 
-@@ -210,9 +210,12 @@ Sage может использоваться для решения диффер
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Результат:
- 
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index c707530b9f1..f7ce8b95727 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -783,7 +783,7 @@ def nintegral(ex, x, a, b,
-     Now numerically integrating, we see why the answer is wrong::
- 
-         sage: f.nintegrate(x,0,1)
--        (-480.0000000000001, 5.32907051820075...e-12, 21, 0)
-+        (-480.000000000000..., 5.32907051820075...e-12, 21, 0)
- 
-     It is just because every floating point evaluation of return -480.0
-     in floating point.
-@@ -1336,7 +1336,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-         sage: limit(floor(x), x=0, dir='+')
-         0
-         sage: limit(floor(x), x=0)
--        und
-+        ...nd
- 
-     Maxima gives the right answer here, too, showing
-     that :trac:`4142` is fixed::
-diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py
-index e0c31925f44..6e91f7e2bb4 100644
---- a/src/sage/calculus/desolvers.py
-+++ b/src/sage/calculus/desolvers.py
-@@ -295,7 +295,7 @@ def desolve(de, dvar, ics=None, ivar=None, show_method=False, contrib_ode=False,
-     Clairaut equation: general and singular solutions::
- 
-         sage: desolve(diff(y,x)^2+x*diff(y,x)-y==0,y,contrib_ode=True,show_method=True)
--        [[y(x) == _C^2 + _C*x, y(x) == -1/4*x^2], 'clairault']
-+        [[y(x) == _C^2 + _C*x, y(x) == -1/4*x^2], 'clairau...']
- 
-     For equations involving more variables we specify an independent variable::
- 
-@@ -1325,7 +1325,7 @@ def desolve_rk4(de, dvar, ics=None, ivar=None, end_points=None, step=0.1, output
- 
-         sage: x,y = var('x,y')
-         sage: desolve_rk4(x*y*(2-y),y,ics=[0,1],end_points=1,step=0.5)
--        [[0, 1], [0.5, 1.12419127424558], [1.0, 1.461590162288825]]
-+        [[0, 1], [0.5, 1.12419127424558], [1.0, 1.46159016228882...]]
- 
-     Variant 1 for input - we can pass ODE in the form used by
-     desolve function In this example we integrate backwards, since
-@@ -1333,7 +1333,7 @@ def desolve_rk4(de, dvar, ics=None, ivar=None, end_points=None, step=0.1, output
- 
-         sage: y = function('y')(x)
-         sage: desolve_rk4(diff(y,x)+y*(y-1) == x-2,y,ics=[1,1],step=0.5, end_points=0)
--        [[0.0, 8.904257108962112], [0.5, 1.909327945361535], [1, 1]]
-+        [[0.0, 8.904257108962112], [0.5, 1.90932794536153...], [1, 1]]
- 
-     Here we show how to plot simple pictures. For more advanced
-     applications use list_plot instead. To see the resulting picture
-diff --git a/src/sage/functions/bessel.py b/src/sage/functions/bessel.py
-index 95405c3d72f..48607c49f56 100644
---- a/src/sage/functions/bessel.py
-+++ b/src/sage/functions/bessel.py
-@@ -293,9 +293,6 @@ class Function_Bessel_J(BuiltinFunction):
-         sage: f = bessel_J(2, x)
-         sage: f.integrate(x)
-         1/24*x^3*hypergeometric((3/2,), (5/2, 3), -1/4*x^2)
--        sage: m = maxima(bessel_J(2, x))
--        sage: m.integrate(x)
--        (hypergeometric([3/2],[5/2,3],-_SAGE_VAR_x^2/4)*_SAGE_VAR_x^3)/24
- 
-     Visualization (set plot_points to a higher value to get more detail)::
- 
-@@ -1118,11 +1115,11 @@ def Bessel(*args, **kwds):
-     Conversion to other systems::
- 
-         sage: x,y = var('x,y')
--        sage: f = maxima(Bessel(typ='K')(x,y))
--        sage: f.derivative('_SAGE_VAR_x')
--        (%pi*csc(%pi*_SAGE_VAR_x) *('diff(bessel_i(-_SAGE_VAR_x,_SAGE_VAR_y),_SAGE_VAR_x,1) -'diff(bessel_i(_SAGE_VAR_x,_SAGE_VAR_y),_SAGE_VAR_x,1))) /2 -%pi*bessel_k(_SAGE_VAR_x,_SAGE_VAR_y)*cot(%pi*_SAGE_VAR_x)
--        sage: f.derivative('_SAGE_VAR_y')
--        -(bessel_k(_SAGE_VAR_x+1,_SAGE_VAR_y)+bessel_k(_SAGE_VAR_x-1, _SAGE_VAR_y))/2
-+        sage: f = Bessel(typ='K')(x,y)
-+        sage: expected = f.derivative(y)
-+        sage: actual = maxima(f).derivative('_SAGE_VAR_y').sage()
-+        sage: bool(actual == expected)
-+        True
- 
-     Compute the particular solution to Bessel's Differential Equation that
-     satisfies `y(1) = 1` and `y'(1) = 1`, then verify the initial conditions
-diff --git a/src/sage/functions/hypergeometric.py b/src/sage/functions/hypergeometric.py
-index 752b8422fc6..fc2fb5875ce 100644
---- a/src/sage/functions/hypergeometric.py
-+++ b/src/sage/functions/hypergeometric.py
-@@ -19,8 +19,11 @@
-     sage: sum(((2*I)^x/(x^3 + 1)*(1/4)^x), x, 0, oo)
-     hypergeometric((1, 1, -1/2*I*sqrt(3) - 1/2, 1/2*I*sqrt(3) - 1/2),...
-     (2, -1/2*I*sqrt(3) + 1/2, 1/2*I*sqrt(3) + 1/2), 1/2*I)
--    sage: sum((-1)^x/((2*x + 1)*factorial(2*x + 1)), x, 0, oo)
-+    sage: res = sum((-1)^x/((2*x + 1)*factorial(2*x + 1)), x, 0, oo)
-+    sage: res  # not tested - depends on maxima version
-     hypergeometric((1/2,), (3/2, 3/2), -1/4)
-+    sage: res in [hypergeometric((1/2,), (3/2, 3/2), -1/4), sin_integral(1)]
-+    True
- 
- Simplification (note that ``simplify_full`` does not yet call
- ``simplify_hypergeometric``)::
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index 7398c763971..6127f5d9490 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -974,7 +974,7 @@ def __init__(self):
-             sage: chebyshev_U(x, x)._sympy_()
-             chebyshevu(x, x)
-             sage: maxima(chebyshev_U(2,x, hold=True))
--            3*((-(8*(1-_SAGE_VAR_x))/3)+(4*(1-_SAGE_VAR_x)^2)/3+1)
-+            3*(...-...(8*(1-_SAGE_VAR_x))/3)+(4*(1-_SAGE_VAR_x)^2)/3+1)
-             sage: maxima(chebyshev_U(n,x, hold=True))
-             chebyshev_u(_SAGE_VAR_n,_SAGE_VAR_x)
-         """
-diff --git a/src/sage/functions/other.py b/src/sage/functions/other.py
-index 3e2570e889e..5a0f06a27f8 100644
---- a/src/sage/functions/other.py
-+++ b/src/sage/functions/other.py
-@@ -498,10 +498,10 @@ def __init__(self):
-             <class 'sage.rings.integer.Integer'>
-             sage: var('x')
-             x
--            sage: a = floor(5.4 + x); a
--            floor(x + 5.40000000000000)
-+            sage: a = floor(5.25 + x); a
-+            floor(x + 5.25000000000000)
-             sage: a.simplify()
--            floor(x + 0.4000000000000004) + 5
-+            floor(x + 0.25) + 5
-             sage: a(x=2)
-             7
- 
-diff --git a/src/sage/functions/special.py b/src/sage/functions/special.py
-index faa6a73cc7e..d72e780836a 100644
---- a/src/sage/functions/special.py
-+++ b/src/sage/functions/special.py
-@@ -455,9 +455,8 @@ class EllipticE(BuiltinFunction):
-         sage: z = var("z")
-         sage: elliptic_e(z, 1)
-         elliptic_e(z, 1)
--        sage: # this is still wrong: must be abs(sin(z)) + 2*round(z/pi)
--        sage: elliptic_e(z, 1).simplify()
--        2*round(z/pi) + sin(z)
-+        sage: elliptic_e(z, 1).simplify() # not tested - gives wrong answer with maxima < 5.47
-+        2*round(z/pi) - sin(pi*round(z/pi) - z)
-         sage: elliptic_e(z, 0)
-         z
-         sage: elliptic_e(0.5, 0.1)  # abs tol 2e-15
-diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
-index 6baa4eb597c..f8237d3ad94 100644
---- a/src/sage/interfaces/interface.py
-+++ b/src/sage/interfaces/interface.py
-@@ -1579,20 +1579,20 @@ def _mul_(self, right):
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)') # not a function!
-+            sage: g = maxima('cos(x)') # not a function!
-             sage: f*g
--            -cos(x)*sin(x)
-+            cos(x)*sin(x)
-             sage: _(2)
--            -cos(2)*sin(2)
-+            cos(2)*sin(2)
- 
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: g*f
--            -cos(x)*sin(x)
-+            cos(x)*sin(x)
-             sage: _(2)
--            -cos(2)*sin(2)
-+            cos(2)*sin(2)
-             sage: 2*f
-             2*sin(x)
-         """
-@@ -1612,20 +1612,20 @@ def _div_(self, right):
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: f/g
--            -sin(x)/cos(x)
-+            sin(x)/cos(x)
-             sage: _(2)
--            -sin(2)/cos(2)
-+            sin(2)/cos(2)
- 
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: g/f
--            -cos(x)/sin(x)
-+            cos(x)/sin(x)
-             sage: _(2)
--            -cos(2)/sin(2)
-+            cos(2)/sin(2)
-             sage: 2/f
-             2/sin(x)
-         """
-diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
-index 4829560f98b..959e75459a2 100644
---- a/src/sage/interfaces/maxima.py
-+++ b/src/sage/interfaces/maxima.py
-@@ -49,9 +49,14 @@
- 
- ::
- 
-+    sage: x,y = SR.var('x,y')
-     sage: F = maxima.factor('x^5 - y^5')
--    sage: F
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: F # not tested - depends on maxima version
-+    -((y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4))
-+    sage: actual = F.sage()
-+    sage: expected = -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: bool(actual == expected)
-+    True
-     sage: type(F)
-     <class 'sage.interfaces.maxima.MaximaElement'>
- 
-@@ -71,18 +76,19 @@
- 
- ::
- 
-+    sage: F = maxima('x * y')
-     sage: repr(F)
--    '-(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)'
-+    'x*y'
-     sage: F.str()
--    '-(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)'
-+    'x*y'
- 
- The ``maxima.eval`` command evaluates an expression in
- maxima and returns the result as a *string* not a maxima object.
- 
- ::
- 
--    sage: print(maxima.eval('factor(x^5 - y^5)'))
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: print(maxima.eval('factor(x^5 - 1)'))
-+    (x-1)*(x^4+x^3+x^2+x+1)
- 
- We can create the polynomial `f` as a Maxima polynomial,
- then call the factor method on it. Notice that the notation
-@@ -91,11 +97,11 @@
- 
- ::
- 
--    sage: f = maxima('x^5 - y^5')
-+    sage: f = maxima('x^5 + y^5')
-     sage: f^2
--    (x^5-y^5)^2
-+    (y^5+x^5)^2
-     sage: f.factor()
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    (y+x)*(y^4-x*y^3+x^2*y^2-x^3*y+x^4)
- 
- Control-C interruption works well with the maxima interface,
- because of the excellent implementation of maxima. For example, try
-@@ -161,20 +167,20 @@
- 
-     sage: eqn = maxima(['a+b*c=1', 'b-a*c=0', 'a+b=5'])
-     sage: s = eqn.solve('[a,b,c]'); s
--    [[a = -(sqrt(79)*%i-11)/4,b = (sqrt(79)*%i+9)/4, c = (sqrt(79)*%i+1)/10], [a = (sqrt(79)*%i+11)/4,b = -(sqrt(79)*%i-9)/4, c = -(sqrt(79)*%i-1)/10]]
-+    [[a = -...(sqrt(79)*%i-11)/4...,b = (sqrt(79)*%i+9)/4, c = (sqrt(79)*%i+1)/10], [a = (sqrt(79)*%i+11)/4,b = -...(sqrt(79)*%i-9)/4..., c = -...(sqrt(79)*%i-1)/10...]]
- 
- Here is an example of solving an algebraic equation::
- 
-     sage: maxima('x^2+y^2=1').solve('y')
-     [y = -sqrt(1-x^2),y = sqrt(1-x^2)]
-     sage: maxima('x^2 + y^2 = (x^2 - y^2)/sqrt(x^2 + y^2)').solve('y')
--    [y = -sqrt(((-y^2)-x^2)*sqrt(y^2+x^2)+x^2), y = sqrt(((-y^2)-x^2)*sqrt(y^2+x^2)+x^2)]
-+    [y = -sqrt((...-y^2...-x^2)*sqrt(y^2+x^2)+x^2), y = sqrt((...-y^2...-x^2)*sqrt(y^2+x^2)+x^2)]
- 
- 
- You can even nicely typeset the solution in latex::
- 
-     sage: latex(s)
--    \left[ \left[ a=-{{\sqrt{79}\,i-11}\over{4}} , b={{\sqrt{79}\,i+9  }\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right]  , \left[ a={{  \sqrt{79}\,i+11}\over{4}} , b=-{{\sqrt{79}\,i-9}\over{4}} , c=-{{  \sqrt{79}\,i-1}\over{10}} \right]  \right]
-+    \left[ \left[ a=-...{{\sqrt{79}\,i-11}\over{4}}... , b={{...\sqrt{79}\,i+9...}\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right]  , \left[ a={{...\sqrt{79}\,i+11}\over{4}} , b=-...{{\sqrt{79}\,i-9...}\over{4}}... , c=-...{{...\sqrt{79}\,i-1}\over{10}}... \right]  \right]
- 
- To have the above appear onscreen via ``xdvi``, type
- ``view(s)``. (TODO: For OS X should create pdf output
-@@ -200,7 +206,7 @@
-     sage: f.diff('x')
-     k*x^3*%e^(k*x)*sin(w*x)+3*x^2*%e^(k*x)*sin(w*x)+w*x^3*%e^(k*x) *cos(w*x)
-     sage: f.integrate('x')
--    (((k*w^6+3*k^3*w^4+3*k^5*w^2+k^7)*x^3 +(3*w^6+3*k^2*w^4-3*k^4*w^2-3*k^6)*x^2+((-18*k*w^4)-12*k^3*w^2+6*k^5)*x-6*w^4 +36*k^2*w^2-6*k^4) *%e^(k*x)*sin(w*x) +(((-w^7)-3*k^2*w^5-3*k^4*w^3-k^6*w)*x^3 +(6*k*w^5+12*k^3*w^3+6*k^5*w)*x^2+(6*w^5-12*k^2*w^3-18*k^4*w)*x-24*k*w^3 +24*k^3*w) *%e^(k*x)*cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8)
-+    (((k*w^6+3*k^3*w^4+3*k^5*w^2+k^7)*x^3 +(3*w^6+3*k^2*w^4-3*k^4*w^2-3*k^6)*x^2+(...-...18*k*w^4)-12*k^3*w^2+6*k^5)*x-6*w^4 +36*k^2*w^2-6*k^4) *%e^(k*x)*sin(w*x) +((...-w^7...-3*k^2*w^5-3*k^4*w^3-k^6*w)*x^3...+(6*k*w^5+12*k^3*w^3+6*k^5*w)*x^2...+(6*w^5-12*k^2*w^3-18*k^4*w)*x-24*k*w^3 +24*k^3*w) *%e^(k*x)*cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8)
- 
- ::
- 
-@@ -234,7 +240,7 @@
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
-     sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-...4/3...]],[[1,2,3,4]]]]
- 
- We can also compute the echelon form in Sage::
- 
-@@ -287,12 +293,12 @@
- ::
- 
-     sage: maxima("laplace(diff(x(t),t,2),t,s)")
--    (-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s
-+    ...-...%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s
- 
- It is difficult to read some of these without the 2d
- representation::
- 
--    sage: print(maxima("laplace(diff(x(t),t,2),t,s)"))
-+    sage: print(maxima("laplace(diff(x(t),t,2),t,s)")) # not tested - depends on maxima version
-                              !
-                     d        !          2
-                  (- -- (x(t))!     ) + s  laplace(x(t), t, s) - x(0) s
-@@ -396,7 +402,7 @@
- 
-     sage: g = maxima('exp(3*%i*x)/(6*%i) + exp(%i*x)/(2*%i) + c')
-     sage: latex(g)
--    -{{i\,e^{3\,i\,x}}\over{6}}-{{i\,e^{i\,x}}\over{2}}+c
-+    -...{{i\,e^{3\,i\,x}}\over{6}}...-{{i\,e^{i\,x}}\over{2}}+c
- 
- Long Input
- ----------
-@@ -684,7 +690,7 @@ def _expect_expr(self, expr=None, timeout=None):
-             sage: maxima.assume('a>0')
-             [a > 0]
-             sage: maxima('integrate(1/(x^3*(a+b*x)^(1/3)),x)')
--            (-(b^2*log((b*x+a)^(2/3)+a^(1/3)*(b*x+a)^(1/3)+a^(2/3)))/(9*a^(7/3))) +(2*b^2*atan((2*(b*x+a)^(1/3)+a^(1/3))/(sqrt(3)*a^(1/3))))/(3^(3/2)*a^(7/3)) +(2*b^2*log((b*x+a)^(1/3)-a^(1/3)))/(9*a^(7/3)) +(4*b^2*(b*x+a)^(5/3)-7*a*b^2*(b*x+a)^(2/3)) /(6*a^2*(b*x+a)^2-12*a^3*(b*x+a)+6*a^4)
-+            ...-...(b^2*log((b*x+a)^(2/3)+a^(1/3)*(b*x+a)^(1/3)+a^(2/3)))/(9*a^(7/3))) +(2*b^2*atan((2*(b*x+a)^(1/3)+a^(1/3))/(sqrt(3)*a^(1/3))))/(3^(3/2)*a^(7/3)) +(2*b^2*log((b*x+a)^(1/3)-a^(1/3)))/(9*a^(7/3)) +(4*b^2*(b*x+a)^(5/3)-7*a*b^2*(b*x+a)^(2/3)) /(6*a^2*(b*x+a)^2-12*a^3*(b*x+a)+6*a^4)
-             sage: maxima('integrate(x^n,x)')
-             Traceback (most recent call last):
-             ...
-diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
-index 4f6306ba4fc..aecfcba5e23 100644
---- a/src/sage/interfaces/maxima_abstract.py
-+++ b/src/sage/interfaces/maxima_abstract.py
-@@ -856,9 +856,9 @@ def de_solve(self, de, vars, ics=None):
-             sage: maxima.de_solve('diff(y,x,2) + 3*x = y', ['x','y'])
-             y = %k1*%e^x+%k2*%e^-x+3*x
-             sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y'])
--            y = (%c-3*((-x)-1)*%e^-x)*%e^x
-+            y = (%c-3*(...-x...-1)*%e^-x)*%e^x
-             sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y'],[1,1])
--            y = -%e^-1*(5*%e^x-3*%e*x-3*%e)
-+            y = -...%e^-1*(5*%e^x-3*%e*x-3*%e)...
-         """
-         if not isinstance(vars, str):
-             str_vars = '%s, %s'%(vars[1], vars[0])
-@@ -1572,8 +1572,9 @@ def integral(self, var='x', min=None, max=None):
- 
-         ::
- 
--            sage: f = maxima('exp(x^2)').integral('x',0,1); f
--            -(sqrt(%pi)*%i*erf(%i))/2
-+            sage: f = maxima('exp(x^2)').integral('x',0,1)
-+            sage: f.sage()
-+            -1/2*I*sqrt(pi)*erf(I)
-             sage: f.numer()
-             1.46265174590718...
-         """
-diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py
-index bba8504aa92..cd1be891872 100644
---- a/src/sage/interfaces/maxima_lib.py
-+++ b/src/sage/interfaces/maxima_lib.py
-@@ -134,10 +134,11 @@
- else:
-     ecl_eval("(require 'maxima)")
- ecl_eval("(in-package :maxima)")
--ecl_eval("(setq $nolabels t))")
--ecl_eval("(defvar *MAXIMA-LANG-SUBDIR* NIL)")
- ecl_eval("(set-locale-subdir)")
- 
-+# This workaround has to happen before any call to (set-pathnames).
-+# To be safe please do not call anything other than
-+# (set-locale-subdir) before this block.
- try:
-     ecl_eval("(set-pathnames)")
- except RuntimeError:
-@@ -154,6 +155,8 @@
-     # Call `(set-pathnames)` again to complete its job.
-     ecl_eval("(set-pathnames)")
- 
-+ecl_eval("(initialize-runtime-globals)")
-+ecl_eval("(setq $nolabels t))")
- ecl_eval("(defun add-lineinfo (x) x)")
- ecl_eval('(defun principal nil (cond ($noprincipal (diverg)) ((not pcprntd) (merror "Divergent Integral"))))')
- ecl_eval("(remprop 'mfactorial 'grind)")  # don't use ! for factorials (#11539)
-diff --git a/src/sage/matrix/matrix1.pyx b/src/sage/matrix/matrix1.pyx
-index f38c429d994..47df9fc80a5 100644
---- a/src/sage/matrix/matrix1.pyx
-+++ b/src/sage/matrix/matrix1.pyx
-@@ -248,7 +248,7 @@ cdef class Matrix(Matrix0):
-             sage: a = maxima(m); a
-             matrix([0,1,2],[3,4,5],[6,7,8])
-             sage: a.charpoly('x').expand()
--            (-x^3)+12*x^2+18*x
-+            ...-x^3...+12*x^2+18*x
-             sage: m.charpoly()
-             x^3 - 12*x^2 - 18*x
-         """
-diff --git a/src/sage/modules/free_module_element.pyx b/src/sage/modules/free_module_element.pyx
-index 0532ea0c9bd..6ea2bd4473d 100644
---- a/src/sage/modules/free_module_element.pyx
-+++ b/src/sage/modules/free_module_element.pyx
-@@ -4053,7 +4053,7 @@ cdef class FreeModuleElement(Vector):   # abstract base class
-             sage: t=var('t')
-             sage: r=vector([t,t^2,sin(t)])
-             sage: vec,answers=r.nintegral(t,0,1)
--            sage: vec
-+            sage: vec # abs tol 1e-15
-             (0.5, 0.3333333333333334, 0.4596976941318602)
-             sage: type(vec)
-             <class 'sage.modules.vector_real_double_dense.Vector_real_double_dense'>
-diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
-index a72ab547c76..51dcaf8d847 100644
---- a/src/sage/symbolic/relation.py
-+++ b/src/sage/symbolic/relation.py
-@@ -657,7 +657,7 @@ def solve(f, *args, **kwds):
-     equations, at times approximations will be given by Maxima, due to the
-     underlying algorithm::
- 
--        sage: sols = solve([x^3==y,y^2==x], [x,y]); sols[-1], sols[0]
-+        sage: sols = solve([x^3==y,y^2==x], [x,y]); sols[-1], sols[0] # abs tol 1e-15
-         ([x == 0, y == 0],
-          [x == (0.3090169943749475 + 0.9510565162951535*I),
-           y == (-0.8090169943749475 - 0.5877852522924731*I)])
diff --git a/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch b/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
deleted file mode 100644
index 4d01eeabee6c9..0000000000000
--- a/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-index ea027e8a716..a1fe036917e 100644
---- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-+++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-@@ -1251,7 +1251,7 @@ def leinartas_decomposition(self):
-             sage: H = R(f.denominator())
-             sage: ff = FFPD(G, H.factor())
-             sage: decomp = ff.leinartas_decomposition()
--            sage: decomp
-+            sage: decomp  # random - non canonical depends on singular version
-             (0, []) +
-             (-(x*y^2*sin(x) + x^2*y + x*y + y*sin(x) + x)*y, [(y, 1)]) +
-             ((x*y^2*sin(x) + x^2*y + x*y + y*sin(x) + x)*x*y, [(x*y + 1, 1)]) +
-@@ -1611,9 +1611,7 @@ def asymptotics(self, p, alpha, N, asy_var=None, numerical=0,
-             (-16, [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 2)])
-             sage: alpha = [3, 3, 2]
-             sage: decomp = F.asymptotic_decomposition(alpha); decomp
--            (0, []) +
--            (16*r*(3/x - 2/z) + 16/x - 16/z,
--             [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 1)])
-+            (0, []) + (..., [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 1)])
-             sage: F1 = decomp[1]
-             sage: p = {x: 1, y: 1, z: 1}
-             sage: asy = F1.asymptotics(p, alpha, 2, verbose=True) # long time
diff --git a/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch b/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
deleted file mode 100644
index 426f841ebbab6..0000000000000
--- a/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py
-index 55ed3a0fe10..4cfa22a97e4 100644
---- a/src/sage/calculus/desolvers.py
-+++ b/src/sage/calculus/desolvers.py
-@@ -1598,7 +1598,7 @@ def desolve_odeint(des, ics, times, dvars, ivar=None, compute_jac=False, args=()
-         sage: ic=epsilon
-         sage: t=srange(0,2/epsilon,1)
-         sage: sol=desolve_odeint(f,ic,t,y,rtol=1e-9,atol=1e-10,compute_jac=True)
--        sage: p=points(zip(t,sol))
-+        sage: p=points(zip(t,sol[:,0]))
-         sage: p.show()
- 
-     Another stiff system with some optional parameters with no
-@@ -1637,7 +1637,7 @@ def desolve_odeint_inner(ivar):
-                 J = fast_float(J, dvar, ivar)
- 
-                 def Dfun(y, t):
--                    return [J(y, t)]
-+                    return [J(y.item(), t)]
- 
-         # n-dimensional systems:
-         else:
-diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx
-index d5402d5c3b0..a00912951c5 100644
---- a/src/sage/matrix/matrix2.pyx
-+++ b/src/sage/matrix/matrix2.pyx
-@@ -430,12 +430,12 @@ cdef class Matrix(Matrix1):
-             try:
-                 return self.transpose().solve_right(B, check=check)
-             except ValueError as e:
--                raise ValueError(str(e).replace('row', 'column'))
-+                raise e.__class__(str(e).replace('row', 'column'))
-         else:
-             try:
-                 return self.transpose().solve_right(B.transpose(), check=check).transpose()
-             except ValueError as e:
--                raise ValueError(str(e).replace('row', 'column'))
-+                raise e.__class__(str(e).replace('row', 'column'))
- 
-     def solve_right(self, B, check=True):
-         r"""
-diff --git a/src/sage/matrix/matrix_numpy_dense.pyx b/src/sage/matrix/matrix_numpy_dense.pyx
-index 5b75ed133ff..17867f9a65c 100644
---- a/src/sage/matrix/matrix_numpy_dense.pyx
-+++ b/src/sage/matrix/matrix_numpy_dense.pyx
-@@ -382,8 +382,9 @@ cdef class Matrix_numpy_dense(Matrix_dense):
-             sage: m = matrix(RDF,[[1,2],[3,4]])
-             sage: n = m.numpy()
-             sage: import numpy
--            sage: numpy.linalg.eig(n)
--            (array([-0.37228132,  5.37228132]), array([[-0.82456484, -0.41597356],
-+            sage: tuple(numpy.linalg.eig(n))
-+            (array([-0.37228132,  5.37228132]),
-+             array([[-0.82456484, -0.41597356],
-                    [ 0.56576746, -0.90937671]]))
-             sage: m = matrix(RDF, 2, range(6)); m
-             [0.0 1.0 2.0]
-diff --git a/src/sage/plot/plot3d/list_plot3d.py b/src/sage/plot/plot3d/list_plot3d.py
-index d64b766001e..0158f856dbb 100644
---- a/src/sage/plot/plot3d/list_plot3d.py
-+++ b/src/sage/plot/plot3d/list_plot3d.py
-@@ -602,7 +602,7 @@ def g(x, y):
-         from .parametric_surface import ParametricSurface
- 
-         def g(x, y):
--            z = f([x, y])
-+            z = f([x, y]).item()
-             return (x, y, z)
-         G = ParametricSurface(g, (list(numpy.r_[xmin:xmax:num_points * j]),
-                                   list(numpy.r_[ymin:ymax:num_points * j])),
-diff --git a/src/sage/plot/plot3d/plot3d.py b/src/sage/plot/plot3d/plot3d.py
-index e9bbfaa8370..9ba89595d70 100644
---- a/src/sage/plot/plot3d/plot3d.py
-+++ b/src/sage/plot/plot3d/plot3d.py
-@@ -378,7 +378,7 @@ def to_cartesian(self, func, params=None):
-             ....: [ 0.16763356,  0.19993708,  0.31403568,  0.47359696, 0.55282422],
-             ....: [ 0.16763356,  0.25683223,  0.16649297,  0.10594339, 0.55282422]])
-             sage: import scipy.interpolate
--            sage: f=scipy.interpolate.RectBivariateSpline(v_phi,v_theta,m_r)
-+            sage: f=scipy.interpolate.RectBivariateSpline(v_phi,v_theta,m_r).ev
-             sage: spherical_plot3d(f,(0,2*pi),(0,pi))
-             Graphics3d Object
- 
diff --git a/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch b/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
deleted file mode 100644
index dec7851e027d1..0000000000000
--- a/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage/all__sagemath_repl.py b/src/sage/all__sagemath_repl.py
-index 6800eb9a27b..8d0b43679ca 100644
---- a/src/sage/all__sagemath_repl.py
-+++ b/src/sage/all__sagemath_repl.py
-@@ -44,7 +44,7 @@
- warnings.filterwarnings('ignore', category=DeprecationWarning,
-     message='pkg_resources is deprecated as an API|'
-             'Deprecated call to `pkg_resources.declare_namespace(.*)`',
--    module='pkg_resources')
-+    module='pkg_resources|setuptools.sandbox')
- warnings.filterwarnings('ignore', category=DeprecationWarning,
-     message='msvccompiler is deprecated and slated to be removed',
-     module='distutils.msvccompiler')
diff --git a/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch b/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
new file mode 100644
index 0000000000000..7c55bce6e9bb4
--- /dev/null
+++ b/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
@@ -0,0 +1,221 @@
+diff --git a/build/pkgs/singular/checksums.ini b/build/pkgs/singular/checksums.ini
+index 313463d2fea..1101fc55700 100644
+--- a/build/pkgs/singular/checksums.ini
++++ b/build/pkgs/singular/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=singular-VERSION.tar.gz
+-sha1=28bb3ee97ef48d04dfa96de182fd93eebe08426c
+-md5=fc0a4f5720dadba45a52ee94324ce00c
+-cksum=1573851737
+-upstream_url=ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-3-1/singular-VERSION.tar.gz
++sha1=df1997f412580f2073295aba569bb955ad227317
++md5=50349213e206a18cdaa1bc410dde7ea4
++cksum=376854707
++upstream_url=ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-3-2/singular-VERSION.tar.gz
+diff --git a/build/pkgs/singular/package-version.txt b/build/pkgs/singular/package-version.txt
+index 66e2bede53a..9f1bf008217 100644
+--- a/build/pkgs/singular/package-version.txt
++++ b/build/pkgs/singular/package-version.txt
+@@ -1 +1 @@
+-4.3.1p3
++4.3.2p7
+diff --git a/build/pkgs/singular/spkg-configure.m4 b/build/pkgs/singular/spkg-configure.m4
+index 6a85631f624..f7621ec5fa1 100644
+--- a/build/pkgs/singular/spkg-configure.m4
++++ b/build/pkgs/singular/spkg-configure.m4
+@@ -6,14 +6,27 @@ SAGE_SPKG_CONFIGURE([singular], [
+     AS_IF([test -z "${SINGULAR_BIN}"], [sage_spkg_install_singular=yes], [
+       dnl Use pkg-config to ensure that Singular is new enough.
+       PKG_CHECK_MODULES([SINGULAR], [Singular >= 4.2.1], [
+-       AC_MSG_CHECKING([that Singular's help is working])
+-       AS_IF([test x`printf "system(\"--browser\", \"builtin\"); \n help;" | Singular 2>&1 | grep "error occurred"` = x], [
+-        AC_MSG_RESULT(yes)
+-       ], [
+-       AC_MSG_RESULT(no)
+-       sage_spkg_install_singular=yes
+-       ]
+-      )], [
++        AC_MSG_CHECKING([whether Singular is built with FLINT])
++        AC_COMPILE_IFELSE([
++          AC_LANG_PROGRAM([
++            #include <singular/singularconfig.h>
++            #if !defined(HAVE_FLINT)
++            #  error "Need Singular compiled with FLINT"
++          ], [])
++        ], [
++          AC_MSG_RESULT([yes])
++          AC_MSG_CHECKING([that Singular's help is working])
++          AS_IF([test x`printf "system(\"--browser\", \"builtin\"); \n help;" | Singular 2>&1 | grep "error occurred"` = x], [
++            AC_MSG_RESULT(yes)
++          ], [
++            AC_MSG_RESULT(no)
++            sage_spkg_install_singular=yes
++          ])
++        ], [
++          AC_MSG_RESULT([no])
++          sage_spkg_install_singular=yes
++        ])
++      ], [
+       dnl pkg-config version check failed
+       sage_spkg_install_singular=yes
+       ])
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index b15cc1c602c..4b5c76e2bfa 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -604,8 +604,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+             sage: i = singular.ideal(['x^2','y^2','z^2'])
+             sage: s = i.std()
+             sage: singular.eval('hilb(%s)'%(s.name()))
+-            '// 1 t^0\n// -3 t^2\n// 3 t^4\n// -1 t^6\n\n// 1 t^0\n//
+-            3 t^1\n// 3 t^2\n// 1 t^3\n// dimension (affine) = 0\n//
++            '...// dimension (affine) = 0\n//
+             degree (affine) = 8'
+ 
+         ::
+@@ -613,15 +612,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+             sage: from sage.misc.verbose import set_verbose
+             sage: set_verbose(1)
+             sage: o = singular.eval('hilb(%s)'%(s.name()))
+-            //         1 t^0
+-            //        -3 t^2
+-            //         3 t^4
+-            //        -1 t^6
+-            //         1 t^0
+-            //         3 t^1
+-            //         3 t^2
+-            //         1 t^3
+-            // dimension (affine) = 0
++            ...// dimension (affine) = 0
+             // degree (affine)  = 8
+ 
+         This is mainly useful if this method is called implicitly. Because
+@@ -631,15 +622,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+         ::
+ 
+             sage: o = s.hilb()
+-            //         1 t^0
+-            //        -3 t^2
+-            //         3 t^4
+-            //        -1 t^6
+-            //         1 t^0
+-            //         3 t^1
+-            //         3 t^2
+-            //         1 t^3
+-            // dimension (affine) = 0
++            ...// dimension (affine) = 0
+             // degree (affine)  = 8
+             // ** right side is not a datum, assignment ignored
+             ...
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index f40346d1fd0..c597c63aafe 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -1241,32 +1241,22 @@ cdef class SingularFunction(SageObject):
+             sage: I = Ideal([x^3*y^2 + 3*x^2*y^2*z + y^3*z^2 + z^5])
+             sage: I = Ideal(I.groebner_basis())
+             sage: hilb = sage.libs.singular.function_factory.ff.hilb
+-            sage: hilb(I) # Singular will print // ** _ is no standard basis
+-            // ** _ is no standard basis
+-            //         1 t^0
+-            //        -1 t^5
+-            <BLANKLINE>
+-            //         1 t^0
+-            //         1 t^1
+-            //         1 t^2
+-            //         1 t^3
+-            //         1 t^4
+-            // dimension (proj.)  = 1
+-            // degree (proj.)   = 5
++            sage: from sage.misc.sage_ostools import redirection
++            sage: out = tmp_filename()
++            sage: with redirection(sys.stdout,  open(out, 'w')):
++            ....:     hilb(I) # Singular will print // ** _ is no standard basis
++            sage: with open(out) as f:
++            ....:     'is no standard basis' in f.read()
++            True
+ 
+         So we tell Singular that ``I`` is indeed a Groebner basis::
+ 
+-            sage: hilb(I,attributes={I:{'isSB':1}}) # no complaint from Singular
+-            //         1 t^0
+-            //        -1 t^5
+-            <BLANKLINE>
+-            //         1 t^0
+-            //         1 t^1
+-            //         1 t^2
+-            //         1 t^3
+-            //         1 t^4
+-            // dimension (proj.)  = 1
+-            // degree (proj.)   = 5
++            sage: out = tmp_filename()
++            sage: with redirection(sys.stdout,  open(out, 'w')):
++            ....:     hilb(I,attributes={I:{'isSB':1}}) # no complaint from Singular
++            sage: with open(out) as f:
++            ....:     'is no standard basis' in f.read()
++            False
+ 
+ 
+         TESTS:
+diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+index 22ada6de947..80352700872 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_ideal.py
++++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+@@ -3132,13 +3132,16 @@ def hilbert_numerator(self, grading=None, algorithm='sage'):
+             sage: I.hilbert_numerator()                                                 # needs sage.rings.number_field
+             -t^5 + 1
+ 
+-        This example returns a wrong answer due to an integer overflow in Singular::
++        This example returns a wrong answer in singular < 4.3.2p4 due to an integer overflow::
+ 
+             sage: n=4; m=11; P = PolynomialRing(QQ, n*m, "x"); x = P.gens(); M = Matrix(n, x)
+             sage: I = P.ideal(M.minors(2))
+             sage: J = P * [m.lm() for m in I.groebner_basis()]
+-            sage: J.hilbert_numerator(algorithm='singular')
+-            ...120*t^33 - 3465*t^32 + 48180*t^31 - ...
++            sage: J.hilbert_numerator(algorithm='singular') # known bug
++            Traceback (most recent call last):
++            ....
++            RuntimeError: error in Singular function call 'hilb':
++            overflow at t^22
+ 
+         Our two algorithms should always agree; not tested until
+         :trac:`33178` is fixed::
+diff --git a/src/sage/sandpiles/sandpile.py b/src/sage/sandpiles/sandpile.py
+index 02d2021b2fb..c8e15e06f05 100644
+--- a/src/sage/sandpiles/sandpile.py
++++ b/src/sage/sandpiles/sandpile.py
+@@ -2493,9 +2493,15 @@ def _set_ideal(self):
+             sage: '_ideal' in S.__dict__
+             True
+         """
++        from sage.libs.singular.function_factory import ff
++        try:
++            sat = ff.elim__lib.sat_with_exp
++        except NameError:
++            sat = ff.elim__lib.sat
+         R = self.ring()
+-        I = self._unsaturated_ideal._singular_()
+-        self._ideal = R.ideal(I.sat(prod(R.gens())._singular_())[1])
++        I = self._unsaturated_ideal
++        I_sat_gens = sat(I, prod(R.gens()))[0]
++        self._ideal = R.ideal(I_sat_gens)
+ 
+     def unsaturated_ideal(self):
+         r"""
+diff --git a/src/sage/schemes/projective/projective_subscheme.py b/src/sage/schemes/projective/projective_subscheme.py
+index e6caf19ba74..afd6484d779 100644
+--- a/src/sage/schemes/projective/projective_subscheme.py
++++ b/src/sage/schemes/projective/projective_subscheme.py
+@@ -1001,7 +1001,10 @@ def dual(self):
+         for i in range(n + 1):
+             J = J + S.ideal(z[-1] * f_S.derivative(z[i]) - z[i + n + 1])
+ 
+-        sat = ff.elim__lib.sat
++        try:
++            sat = ff.elim__lib.sat_with_exp
++        except NameError:
++            sat = ff.elim__lib.sat
+ 
+         max_ideal = S.ideal(z[n + 1: 2 * n + 2])
+         J_sat_gens = sat(J, max_ideal)[0]
diff --git a/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
new file mode 100644
index 0000000000000..91a77de342935
--- /dev/null
+++ b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
@@ -0,0 +1,38 @@
+diff --git a/src/sage/ext/memory.pyx b/src/sage/ext/memory.pyx
+index 1de6dedab82..b95130b19dd 100644
+--- a/src/sage/ext/memory.pyx
++++ b/src/sage/ext/memory.pyx
+@@ -3,14 +3,14 @@ Low-level memory allocation functions
+ 
+ TESTS:
+ 
+-Check that a ``MemoryError`` is raised if we try to allocate a
++Check that an error is raised if we try to allocate a
+ ridiculously large integer, see :trac:`15363`::
+ 
+-    sage: 2^(2^63-3)
+-    Traceback (most recent call last):
+-    ...
+-    OverflowError: exponent must be at most 2147483647         # 32-bit
+-    RuntimeError: Aborted                                      # 64-bit
++    sage: try:
++    ....:     2^(2^63-3)
++    ....: except (OverflowError, RuntimeError, FloatingPointError):
++    ....:     print ('Overflow error')
++    ...Overflow error
+ 
+ AUTHORS:
+ 
+diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
+index 2cd080ddafa..090ab59cb28 100644
+--- a/src/sage/rings/integer.pyx
++++ b/src/sage/rings/integer.pyx
+@@ -6654,7 +6654,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
+             sage: try:
+             ....:     print('Possible error output from gmp', flush=True)
+             ....:     1 << (2^60)
+-            ....: except (MemoryError, OverflowError, RuntimeError):
++            ....: except (MemoryError, OverflowError, RuntimeError, FloatingPointError):
+             ....:     pass
+             ....: else:
+             ....:     print("Failed to raise exception")
diff --git a/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch b/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch
new file mode 100644
index 0000000000000..3d2a4bd9cd96f
--- /dev/null
+++ b/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch
@@ -0,0 +1,740 @@
+diff --git a/src/sage/ext_data/valgrind/valgrind-python.supp b/src/sage/ext_data/valgrind/valgrind-python.supp
+new file mode 100644
+index 00000000000..16aa2858484
+--- /dev/null
++++ b/src/sage/ext_data/valgrind/valgrind-python.supp
+@@ -0,0 +1,480 @@
++# From the CPython repository with the suppressions for _PyObject_Free
++# and _PyObject_Realloc enabled. See the upstream suppression file for
++# details:
++#
++# https://github.com/python/cpython/blob/main/Misc/valgrind-python.supp
++
++# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
++   Memcheck:Value8
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:address_in_range
++}
++
++#
++# Leaks (including possible leaks)
++#    Hmmm, I wonder if this masks some real leaks.  I think it does.
++#    Will need to fix that.
++#
++
++{
++   Suppress leaking the GIL after a fork.
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_allocate_lock
++   fun:PyEval_ReInitThreads
++}
++
++{
++   Suppress leaking the autoTLSkey.  This looks like it shouldn't leak though.
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_create_key
++   fun:_PyGILState_Init
++   fun:Py_InitializeEx
++   fun:Py_Main
++}
++
++{
++   Hmmm, is this a real leak or like the GIL?
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_ReInitTLS
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:realloc
++   fun:_PyObject_GC_Resize
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:malloc
++   fun:_PyObject_GC_New
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:malloc
++   fun:_PyObject_GC_NewVar
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++#
++# Non-python specific leaks
++#
++
++{
++   Handle pthread issue (possibly leaked)
++   Memcheck:Leak
++   fun:calloc
++   fun:allocate_dtv
++   fun:_dl_allocate_tls_storage
++   fun:_dl_allocate_tls
++}
++
++{
++   Handle pthread issue (possibly leaked)
++   Memcheck:Leak
++   fun:memalign
++   fun:_dl_allocate_tls_storage
++   fun:_dl_allocate_tls
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Addr8
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Value8
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Addr8
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Value8
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:_PyObject_Realloc
++}
++
++###
++### All the suppressions below are for errors that occur within libraries
++### that Python uses.  The problems to not appear to be related to Python's
++### use of the libraries.
++###
++
++{
++   Generic ubuntu ld problems
++   Memcheck:Addr8
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++}
++
++{
++   Generic gentoo ld problems
++   Memcheck:Cond
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Param
++   write(buf)
++   fun:write
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_close
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Value8
++   fun:memmove
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Cond
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Cond
++   fun:memmove
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   GDBM problems, see test_gdbm
++   Memcheck:Param
++   write(buf)
++   fun:write
++   fun:gdbm_open
++
++}
++
++{
++   Uninitialised byte(s) false alarm, see bpo-35561
++   Memcheck:Param
++   epoll_ctl(event)
++   fun:epoll_ctl
++   fun:pyepoll_internal_ctl
++}
++
++{
++   ZLIB problems, see test_gzip
++   Memcheck:Cond
++   obj:/lib/libz.so.1.2.3
++   obj:/lib/libz.so.1.2.3
++   fun:deflate
++}
++
++{
++   Avoid problems w/readline doing a putenv and leaking on exit
++   Memcheck:Leak
++   fun:malloc
++   fun:xmalloc
++   fun:sh_set_lines_and_columns
++   fun:_rl_get_screen_size
++   fun:_rl_init_terminal_io
++   obj:/lib/libreadline.so.4.3
++   fun:rl_initialize
++}
++
++# Valgrind emits "Conditional jump or move depends on uninitialised value(s)"
++# false alarms on GCC builtin strcmp() function. The GCC code is correct.
++#
++# Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=264936
++{
++   bpo-38118: Valgrind emits false alarm on GCC builtin strcmp()
++   Memcheck:Cond
++   fun:PyUnicode_Decode
++}
++
++
++###
++### These occur from somewhere within the SSL, when running
++###  test_socket_sll.  They are too general to leave on by default.
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Cond
++###   fun:memset
++###}
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Value4
++###   fun:memset
++###}
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Cond
++###   fun:MD5_Update
++###}
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Value4
++###   fun:MD5_Update
++###}
++
++# Fedora's package "openssl-1.0.1-0.1.beta2.fc17.x86_64" on x86_64
++# See http://bugs.python.org/issue14171
++{
++   openssl 1.0.1 prng 1
++   Memcheck:Cond
++   fun:bcmp
++   fun:fips_get_entropy
++   fun:FIPS_drbg_instantiate
++   fun:RAND_init_fips
++   fun:OPENSSL_init_library
++   fun:SSL_library_init
++   fun:init_hashlib
++}
++
++{
++   openssl 1.0.1 prng 2
++   Memcheck:Cond
++   fun:fips_get_entropy
++   fun:FIPS_drbg_instantiate
++   fun:RAND_init_fips
++   fun:OPENSSL_init_library
++   fun:SSL_library_init
++   fun:init_hashlib
++}
++
++{
++   openssl 1.0.1 prng 3
++   Memcheck:Value8
++   fun:_x86_64_AES_encrypt_compact
++   fun:AES_encrypt
++}
++
++#
++# All of these problems come from using test_socket_ssl
++#
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_bin2bn
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_num_bits_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:BN_num_bits_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_mod_exp_mont_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_mod_exp_mont
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Param
++   write(buf)
++   fun:write
++   obj:/usr/lib/libcrypto.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:RSA_verify
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:RSA_verify
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:DES_set_key_unchecked
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:DES_encrypt2
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   obj:/usr/lib/libssl.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   obj:/usr/lib/libssl.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BUF_MEM_grow_clean
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:memcpy
++   fun:ssl3_read_bytes
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:SHA1_Update
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:SHA1_Update
++}
++
++{
++   test_buffer_non_debug
++   Memcheck:Addr4
++   fun:PyUnicodeUCS2_FSConverter
++}
++
++{
++   test_buffer_non_debug
++   Memcheck:Addr4
++   fun:PyUnicode_FSConverter
++}
++
++{
++   wcscmp_false_positive
++   Memcheck:Addr8
++   fun:wcscmp
++   fun:_PyOS_GetOpt
++   fun:Py_Main
++   fun:main
++}
++
++# Additional suppressions for the unified decimal tests:
++{
++   test_decimal
++   Memcheck:Addr4
++   fun:PyUnicodeUCS2_FSConverter
++}
++
++{
++   test_decimal2
++   Memcheck:Addr4
++   fun:PyUnicode_FSConverter
++}
++
+diff --git a/src/sage/symbolic/ginac/numeric.cpp b/src/sage/symbolic/ginac/numeric.cpp
+index b40ed64edb5..8c55861c147 100644
+--- a/src/sage/symbolic/ginac/numeric.cpp
++++ b/src/sage/symbolic/ginac/numeric.cpp
+@@ -1576,6 +1576,62 @@ const numeric numeric::div(const numeric &other) const {
+         }
+ }
+ 
++
++// Compute `a^b` as an integer, where a is an integer. Assign to ``res``` if it is integral, or return ``false``.
++// The nonnegative real root is taken for even denominators. To be used inside numeric::integer_rational_power,
++// to handle the special case of integral ``a``.
++bool integer_rational_power_of_mpz(
++        numeric& res,
++        const numeric& a,
++        const numeric& b
++) {
++        if (a.t != MPZ)
++                throw std::runtime_error("integer_rational_power_of_mpz: bad input");
++        mpz_t z;
++        mpz_init(z);
++        mpz_set_ui(z, 0);
++        int sgn = mpz_sgn(a.v._bigint);
++        if (mpz_cmp_ui(a.v._bigint, 1) == 0
++            or mpz_cmp_ui(mpq_numref(b.v._bigrat), 0) == 0)
++                mpz_set_ui(z, 1);
++        else if (sgn == 0) {
++                res = *_num0_p;
++                mpz_clear(z);
++                return true;
++        }
++        else if (sgn < 0 and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1)) {
++                mpz_clear(z);
++                return false;
++        } else {
++                if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
++                    or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat))) {
++                        // too big to take roots/powers
++                        mpz_clear(z);
++                        return false;
++                }
++                if (mpz_cmp_ui(mpq_denref(b.v._bigrat), 2) == 0) {
++                        if (mpz_perfect_square_p(a.v._bigint)) {
++                                mpz_sqrt(z, a.v._bigint);
++                        } else {
++                                mpz_clear(z);
++                                return false;
++                        }
++                }
++                else {
++                        bool exact = mpz_root(z, a.v._bigint,
++                                              mpz_get_ui(mpq_denref(b.v._bigrat)));
++                        if (not exact) {
++                                mpz_clear(z);
++                                return false;
++                        }
++                }
++                mpz_pow_ui(z, z, mpz_get_ui(mpq_numref(b.v._bigrat)));
++        }
++        res = numeric(z);   // transfers ownership, no mpz_clear
++        return true;
++}
++
++
+ // Compute `a^b` as an integer, if it is integral, or return ``false``.
+ // The nonnegative real root is taken for even denominators.
+ bool numeric::integer_rational_power(numeric& res,
+@@ -1598,13 +1654,12 @@ bool numeric::integer_rational_power(numeric& res,
+                 if (a.v._long < 0
+                     and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1))
+                         return false;
+-                long z;
+                 if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
+                     or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat)))
+                 // too big to take roots/powers
+                         return false;
+                 if (b.is_equal(*_num1_2_p)) {
+-                        z = std::lround(std::sqrt(a.v._long));
++                        long z = std::lround(std::sqrt(a.v._long));
+                         if (a.v._long == z*z) {
+                                 res = numeric(z);
+                                 return true;
+@@ -1613,44 +1668,11 @@ bool numeric::integer_rational_power(numeric& res,
+                 }
+                 return integer_rational_power(res, a.to_bigint(), b);
+         }
+-        if (a.t != MPZ)
+-                throw std::runtime_error("integer_rational_power: bad input");
+-        int sgn = mpz_sgn(a.v._bigint);
+-        mpz_t z;
+-        mpz_init(z);
+-        mpz_set_ui(z, 0);
+-        if (mpz_cmp_ui(a.v._bigint, 1) == 0
+-            or mpz_cmp_ui(mpq_numref(b.v._bigrat), 0) == 0)
+-                mpz_set_ui(z, 1);
+-        else if (sgn == 0) {
+-                res = *_num0_p;
+-                return true;
+-        }
+-        else if (sgn < 0 and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1))
+-                return false;
+-        else {
+-                if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
+-                    or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat)))
+-                // too big to take roots/powers
+-                        return false;
+-                if (mpz_cmp_ui(mpq_denref(b.v._bigrat), 2) == 0) {
+-                        if (mpz_perfect_square_p(a.v._bigint))
+-                                mpz_sqrt(z, a.v._bigint);
+-                        else
+-                                return false;
+-                }
+-                else {
+-                        bool exact = mpz_root(z, a.v._bigint,
+-                                        mpz_get_ui(mpq_denref(b.v._bigrat)));
+-                        if (not exact)
+-                                return false;
+-                }
+-                mpz_pow_ui(z, z, mpz_get_ui(mpq_numref(b.v._bigrat)));
+-        }
+-        res = numeric(z);
+-        return true;
++        // otherwise: a is integer
++        return integer_rational_power_of_mpz(res, a, b);
+ }
+ 
++
+ // for a^b return c,d such that a^b = c*d^b
+ // only for MPZ/MPQ base and MPQ exponent
+ void rational_power_parts(const numeric& a_orig, const numeric& b_orig,
+diff --git a/src/sage/tests/memcheck/__init__.py b/src/sage/tests/memcheck/__init__.py
+new file mode 100644
+index 00000000000..e69de29bb2d
+diff --git a/src/sage/tests/memcheck/run_tests.py b/src/sage/tests/memcheck/run_tests.py
+new file mode 100644
+index 00000000000..6ff4503a81b
+--- /dev/null
++++ b/src/sage/tests/memcheck/run_tests.py
+@@ -0,0 +1,24 @@
++import types
++
++
++def run_tests() -> None:
++    """
++    Run all memcheck tests
++    """
++    from sage.tests.memcheck import symbolic_expression
++    run_tests_in_module(symbolic_expression)
++
++
++def run_tests_in_module(mod: types.ModuleType) -> None:
++    """
++    Run all memcheck tests in the given module
++    """
++    for entry in dir(mod):
++        if not entry.startswith('test_'):
++            continue
++        test_func = getattr(mod, entry)
++        test_func()
++
++
++if __name__ == '__main__':
++    run_tests()
+diff --git a/src/sage/tests/memcheck/run_tests_in_valgrind.py b/src/sage/tests/memcheck/run_tests_in_valgrind.py
+new file mode 100644
+index 00000000000..df5ad0e92b2
+--- /dev/null
++++ b/src/sage/tests/memcheck/run_tests_in_valgrind.py
+@@ -0,0 +1,35 @@
++"""
++Launch valgrind and run the memory leak tests
++
++
++From the commandline, run
++
++    sage -python -m sage.tests.memcheck.run_tests_in_valgrind
++
++to launch valgrind and execute the memory leak tests. Requires valgrind
++to be installed. Alternatively, run as a unit test:
++
++    sage: from sage.tests.memcheck.run_tests_in_valgrind import run_tests_in_valgrind
++    sage: run_tests_in_valgrind()    # optional - valgrind
++"""
++
++import subprocess
++
++
++def run_tests_in_valgrind() -> None:
++    """
++    Run the sage.tests.memcheck.run_tests module inside valgrind
++    """
++    subprocess.check_call([
++        'valgrind',
++        '--suppressions=src/sage/ext_data/valgrind/valgrind-python.supp',
++        '--show-possibly-lost=no',
++        '--show-reachable=no',
++        './venv/bin/python',
++        '-m',
++        'sage.tests.memcheck.run_tests'
++    ])
++
++
++if __name__ == '__main__':
++    run_tests_in_valgrind()
+diff --git a/src/sage/tests/memcheck/symbolic_expression.py b/src/sage/tests/memcheck/symbolic_expression.py
+new file mode 100644
+index 00000000000..52182fbe62d
+--- /dev/null
++++ b/src/sage/tests/memcheck/symbolic_expression.py
+@@ -0,0 +1,11 @@
++from sage.tests.memcheck.verify_no_leak import verify_no_leak
++
++
++def test_sqrt_sqrt_2() -> None:
++    from sage.misc.functional import sqrt
++    T2 = sqrt(2)
++
++    def sqrt_T2() -> None:
++        sqrt(T2)
++
++    verify_no_leak(sqrt_T2)
+diff --git a/src/sage/tests/memcheck/verify_no_leak.py b/src/sage/tests/memcheck/verify_no_leak.py
+new file mode 100644
+index 00000000000..89ca90cf89c
+--- /dev/null
++++ b/src/sage/tests/memcheck/verify_no_leak.py
+@@ -0,0 +1,27 @@
++from typing import Tuple, Sequence, List, Callable, Any
++import valgrind
++
++
++def verify_no_leak(callback: Callable[[], Any],
++                   repeat: int = 10000,
++                   fuzzy: int = 10,
++                   ) -> None:
++    """
++    Verify that the callback does not generate new definitely lost blocks
++
++    Raises an assertion if the callback leaks memory
++    """
++    callback()   # warm_up
++    initial_blocks = (0, 0, 0, 0)
++    valgrind.memcheck_do_leak_check()
++    initial_blocks = valgrind.memcheck_count_leak_blocks()
++    for _ in range(repeat):
++        callback()
++    valgrind.memcheck_do_leak_check()
++    leak_blocks = valgrind.memcheck_count_leak_blocks()
++    leak = leak_blocks[0] - initial_blocks[0]
++    if leak < repeat - fuzzy:
++        return  # callback did not leak at least once per call
++    blocks = round(leak / repeat, 2)
++    message = f'{callback} leaked {blocks} block on average ({repeat} iterations)'
++    raise AssertionError(message)
diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches
index 888c66f779e09..c2c5aa1c7eccd 100755
--- a/srcpkgs/sagemath/patches/get_patches
+++ b/srcpkgs/sagemath/patches/get_patches
@@ -1,7 +1,9 @@
 #! /bin/sh
 
+version=10.1
+
 URL_BASE_PR="https://github.com/sagemath/sage/pull/"
-URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/10.0..."
+URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/${version}..."
 
 case "$1" in
 	-n)  DO=echo ;;
@@ -18,18 +20,10 @@ get_pr() {
 # run from patches dir
 cd $(dirname "$0")
 
-# merged in 10.0.beta0
-get_pr 35584 "networkx 3.1"
-
-# merged in 10.0.beta1
-get_pr 35612 "linbox 1.7.0"
-get_pr 35635 "sympy 1.12"
-get_pr 35619 "maxima 5.46.0"
+# merged in 10.2.beta0
+#get_pr  36018   "singular 4.3.2p4" # included in #35934
+get_pr  36046   "fix memory leak"
 
 # positive review
-get_pr 35707 "maxima 5.47.0"
-get_pr 35831 "setuptools 68.0.0"
-
-# needs review
-get_pr 35825 "singular 4.3.2p2"
-get_pr 35826 "numpy 1.25.0"
+get_pr  35934   "singular 4.3.2p7"
+get_pr  36006   "gmp 6.3.0"
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 2491d77dbc8d9..bccf7d3a28d23 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,13 +1,13 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=10.0
-revision=2
+version=10.1
+revision=1
 build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -15,10 +15,10 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  mpfr-devel ntl-devel openblas-devel pari-devel planarity-devel python3-cypari2
  python3-cysignals python3-devel python3-gmpy2 python3-memory_allocator
  python3-numpy rankwidth-devel singular symmetrica-devel"
-depends="FlintQS eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
+depends="eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig
@@ -30,18 +30,15 @@ checkdepends="$depends pythran python3-Sphinx"
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
-homepage="http://sagemath.org/"
+homepage="https://www.sagemath.org/"
 changelog="https://github.com/sagemath/sage/releases"
 distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
-checksum=60858efd0d1f2526486740962bf72c99f9141a56caf8395f3291fded276faf55
+checksum=a658612b1b2376ddaf207cc8ed0ef458d4c2880c16e19139bedbe8baa42ad62f
 nocross="due to ntl (flintlib), fflas-ffpack, givaro, linbox, cysignals, sympow, maxima"
 
-do_configure() {
+post_patch() {
 	# git tree needs bootstrapping
-	( cd $wrksrc/build/pkgs/sagelib &&
-	  PATH=../../bin:$PATH \
-	  BOOTSTRAP_QUIET=no \
-	  ./bootstrap )
+	$wrksrc/bootstrap sagelib
 }
 
 pre_build() {
diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From bb841277ed1f82a5b4ead4b97493f3ce5aa99273 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 21:50:11 -0400
Subject: [PATCH 31/31] xpra: update to 5.0.

---
 srcpkgs/xpra/patches/setup.patch | 13 +------------
 srcpkgs/xpra/template            |  8 ++++----
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/xpra/patches/setup.patch b/srcpkgs/xpra/patches/setup.patch
index 237f04308b1a7..9870936cabf46 100644
--- a/srcpkgs/xpra/patches/setup.patch
+++ b/srcpkgs/xpra/patches/setup.patch
@@ -1,6 +1,4 @@
-Make sure the build script pulls the right CFLAGS and prevent -Werror. In
-addition, remove a stray CUDA README that is only supposed to installed when
-CUDA is actually available.
+Make sure the build script pulls the right CFLAGS and prevent -Werror.
 
 --- a/setup.py
 +++ b/setup.py
@@ -31,12 +29,3 @@ CUDA is actually available.
              if NETBSD:
                  #see: http://trac.cython.org/ticket/395
                  addcflags("-fno-strict-aliasing")
-@@ -2252,8 +2252,6 @@
-         if nvjpeg_encoder_ENABLED or nvjpeg_decoder_ENABLED:
-             add_data_files("", glob.glob(f"{CUDA_BIN_DIR}/nvjpeg64*dll"))
- 
--add_data_files(CUDA_BIN, ["fs/share/xpra/cuda/README.md"])
--
- tace(nvenc_ENABLED, "xpra.codecs.nvenc.encoder", "nvenc",
-      extra_compile_args="-Wno-error=sign-compare" if get_gcc_version()<(8, ) else None)
- 
diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index 0a63fdb6c7437..d3ee36ce48ca4 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.4.6
+version=5.0
 revision=1
 build_style=python3-module
 make_build_args="--without-cuda_kernels --without-cuda_rebuild"
@@ -8,17 +8,17 @@ make_install_args="$(vopt_with docs) ${make_build_args}"
 hostmakedepends="pkg-config python3-Cython $(vopt_if docs pandoc)"
 makedepends="ffmpeg-devel libXcomposite-devel libXrandr-devel libXtst-devel
  libvpx-devel libwebp-devel libxkbfile-devel python3-gobject-devel x264-devel
- x265-devel gtk+3-devel pam-devel libXres-devel liblz4-devel"
+ gtk+3-devel pam-devel libXres-devel liblz4-devel libavif-devel procps-ng-devel"
 depends="cups python3-gobject python3-Pillow python3-cups python3-dbus
  python3-lz4 python3-paramiko python3-rencode xauth xf86-video-dummy
- xorg-server-xvfb"
+ xorg-server-xvfb python3-typing_extensions python3-cairo"
 short_desc="Persistent remote display server and client for X11 clients"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=7fec998cf9816df3f0fa5ded01903b07211b0c36a7316c9e9bf6db8b80fb477a
+checksum=69bf2da133a6ee28ad4e3a849f997b32e5bab4f4b616ff5acd0811e8ac9e4c14
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 # Tests don't run properly without package installed
 make_check=no

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (24 preceding siblings ...)
  2023-08-31  1:15 ` ahesford
@ 2023-08-31 14:01 ` ahesford
  2023-09-01 14:36 ` ahesford
                   ` (4 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-08-31 14:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 163800 bytes --]

From 1bf41176ebf0ff752908568d97403766c1bdda46 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From f6acfb0a3182f484039846ac0d3a428f442dbcb3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 0810791e5de0bad66ed8d252a870b6687ab3c675 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From a8d78b930361ee51b05e64bd975e8666db5088e9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 600107583c3887eef4e09a410be0038aee17c2dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-warning.patch         | 13 ++++++++
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
new file mode 100644
index 0000000000000..98cad9625e402
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
+index c86e085..a98c8d1 100644
+--- a/src/cysignals/signals.pxd.in
++++ b/src/cysignals/signals.pxd.in
+@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
+ # can be used to make Cython check whether there is a pending exception
+ # (PyErr_Occurred() is non-NULL). To Cython, it will look like
+ # cython_check_exception() actually raised the exception.
+-cdef inline void cython_check_exception() nogil except *:
++cdef inline void cython_check_exception() except * nogil:
+     pass
+ 
+ 
diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From aa460a00ccf3fb6abc7d6e991a882d752c4bea13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 08849b2375160208e991317ef68eb053ac6d809f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From a365d1807c7f143efd685f97825f0788f119fe89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: build with python3-Cython0.29

---
 .../patches/fix-rel-imports.patch             | 22 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  4 ++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/fix-rel-imports.patch

diff --git a/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..fe6b08dba40f2 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -1,9 +1,9 @@
 # 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"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-cysignals python3-gmpy2 python3-devel gmp-devel
  gmpxx-devel ppl-devel mpfr-devel libmpc-devel pari-devel"
 depends="python3"

From e7bdce0ac6a373ab462849c4873c8991471c03eb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From 34bf8ff33ba27b73515c70f9ef4edff5dd30e844 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From 88808d59f5dacbbb68a92d364937d8702d2d6e4f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 99c3711c014f6e7358b8fa8f390a238d5a4ad5f7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From d38aeaa398c5fecc1238e5e1a0c7e7aea8460972 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 3c2268201c5101c5dd2a11a1783ad9f535d538b0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From dcf62b0dde7ca709321cc1093b5816f74fea1c28 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 075d2b4a026cf1381843bc7512307d5d5acb575d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 747975113afc0e4f024221604a209bd9ffd39bec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From 9a1447256ad12f7e789a2ca6df40f7c1cd9bc2c2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 2770f40100a41ae3858b9346f3dbf542de022368 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 123f8896587809378e13d30cd0d6c952a8771a51 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From f3b72c5551e57918ab60802a04976bbd0151fd03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 924ec092ba0cdcf98ad566a63a0f5d64764d7129 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From a55b44dd0c7c638c6f3433ebbcb213e0ab922ea7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 105ab8f840d2ff3247cadee8df5d53a409fab33a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From a395bfc0792e46ae80fc4da27df02640b4778bdf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From fc36ab0bc02d401ae6e6f4670ed6d5705153c3be Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From 5adeb10e7de9f65502ac668056d7275f5f6c744a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 988ac49c154a94abf7d0a7e6e5238c0a654404dd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..1e2721e335922 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,12 +1,12 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.4
-revision=1
+revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 28d4d367320240a7c97efe113b5feeed895714db Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From db33a5afd34b8ab05dc16cdb5744085cddc1c1dd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/31] sagemath: update to 10.1.

---
 .../sagemath/patches/35584-networkx_3.1.patch |  92 --
 .../sagemath/patches/35612-linbox_1.7.0.patch |  64 --
 .../patches/35619-maxima_5.46.0.patch         | 586 ------------
 .../sagemath/patches/35635-sympy_1.12.patch   |  54 --
 .../patches/35707-maxima_5.47.0.patch         | 879 ------------------
 .../patches/35825-singular_4.3.2p2.patch      |  24 -
 .../sagemath/patches/35826-numpy_1.25.0.patch |  83 --
 .../patches/35831-setuptools_68.0.0.patch     |  13 -
 .../patches/35934-singular_4.3.2p7.patch      | 221 +++++
 .../sagemath/patches/36006-gmp_6.3.0.patch    |  38 +
 .../patches/36046-fix_memory_leak.patch       | 740 +++++++++++++++
 srcpkgs/sagemath/patches/get_patches          |  22 +-
 srcpkgs/sagemath/template                     |  23 +-
 srcpkgs/vidcutter/template                    |   2 +-
 14 files changed, 1018 insertions(+), 1823 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/35584-networkx_3.1.patch
 delete mode 100644 srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35635-sympy_1.12.patch
 delete mode 100644 srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
 delete mode 100644 srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
 delete mode 100644 srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
 create mode 100644 srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
 create mode 100644 srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
 create mode 100644 srcpkgs/sagemath/patches/36046-fix_memory_leak.patch

diff --git a/srcpkgs/sagemath/patches/35584-networkx_3.1.patch b/srcpkgs/sagemath/patches/35584-networkx_3.1.patch
deleted file mode 100644
index 9331258986d3d..0000000000000
--- a/srcpkgs/sagemath/patches/35584-networkx_3.1.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/src/sage/graphs/graph.py b/src/sage/graphs/graph.py
-index c2e42bcbd38..0d13f071dc4 100644
---- a/src/sage/graphs/graph.py
-+++ b/src/sage/graphs/graph.py
-@@ -6786,13 +6786,26 @@ def cliques_number_of(self, vertices=None, cliques=None):
-             {(0, 0): 2, (0, 1): 3, (0, 2): 2, (1, 0): 2, (1, 1): 3, (1, 2): 2}
-             sage: F.cliques_number_of(vertices=[(0, 1), (1, 2)])
-             {(0, 1): 3, (1, 2): 2}
-+            sage: F.cliques_number_of(vertices=(0, 1))
-+            3
-             sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
-             sage: G.show(figsize=[2,2])
-             sage: G.cliques_number_of()
-             {0: 2, 1: 2, 2: 1, 3: 1}
-         """
--        import networkx
--        return networkx.number_of_cliques(self.networkx_graph(), vertices, cliques)
-+        if cliques is None:
-+            cliques = self.cliques_maximal()
-+
-+        if vertices in self:  # single vertex
-+            return sum(1 for c in cliques if vertices in c)
-+
-+        from collections import Counter
-+        count = Counter()
-+
-+        for c in cliques:
-+            count.update(c)
-+
-+        return {v : count[v] for v in vertices or self}
- 
-     @doc_index("Clique-related methods")
-     def cliques_get_max_clique_graph(self):
-@@ -7493,17 +7506,32 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
- 
-             sage: C = Graph('DJ{')
-             sage: C.cliques_containing_vertex()
--            {0: [[4, 0]], 1: [[4, 1, 2, 3]], 2: [[4, 1, 2, 3]], 3: [[4, 1, 2, 3]], 4: [[4, 0], [4, 1, 2, 3]]}
-+            {0: [[0, 4]],
-+             1: [[1, 2, 3, 4]],
-+             2: [[1, 2, 3, 4]],
-+             3: [[1, 2, 3, 4]],
-+             4: [[0, 4], [1, 2, 3, 4]]}
-+            sage: C.cliques_containing_vertex(4)
-+            [[0, 4], [1, 2, 3, 4]]
-+            sage: C.cliques_containing_vertex([0, 1])
-+            {0: [[0, 4]], 1: [[1, 2, 3, 4]]}
-             sage: E = C.cliques_maximal()
-             sage: E
-             [[0, 4], [1, 2, 3, 4]]
-             sage: C.cliques_containing_vertex(cliques=E)
--            {0: [[0, 4]], 1: [[1, 2, 3, 4]], 2: [[1, 2, 3, 4]], 3: [[1, 2, 3, 4]], 4: [[0, 4], [1, 2, 3, 4]]}
-+            {0: [[0, 4]],
-+             1: [[1, 2, 3, 4]],
-+             2: [[1, 2, 3, 4]],
-+             3: [[1, 2, 3, 4]],
-+             4: [[0, 4], [1, 2, 3, 4]]}
- 
-             sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
-             sage: G.show(figsize=[2,2])
-             sage: G.cliques_containing_vertex()
--            {0: [[0, 1, 2], [0, 1, 3]], 1: [[0, 1, 2], [0, 1, 3]], 2: [[0, 1, 2]], 3: [[0, 1, 3]]}
-+            {0: [[0, 1, 2], [0, 1, 3]],
-+             1: [[0, 1, 2], [0, 1, 3]],
-+             2: [[0, 1, 2]],
-+             3: [[0, 1, 3]]}
- 
-         Since each clique of a 2 dimensional grid corresponds to an edge, the
-         number of cliques in which a vertex is involved equals its degree::
-@@ -7518,8 +7546,20 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
-             sage: sorted(sorted(x for x in L) for L in d[(0, 1)])
-             [[(0, 0), (0, 1)], [(0, 1), (0, 2)], [(0, 1), (1, 1)]]
-         """
--        import networkx
--        return networkx.cliques_containing_node(self.networkx_graph(), vertices, cliques)
-+        if cliques is None:
-+            cliques = self.cliques_maximal()
-+
-+        if vertices in self:  # single vertex
-+            return [c for c in cliques if vertices in c]
-+
-+        from collections import defaultdict
-+        d = defaultdict(list)
-+
-+        for c in cliques:
-+            for v in c:
-+                d[v].append(c)
-+
-+        return {v : d[v] for v in vertices or self}
- 
-     @doc_index("Clique-related methods")
-     def clique_complex(self):
diff --git a/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch b/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
deleted file mode 100644
index 58dddf34a69d8..0000000000000
--- a/srcpkgs/sagemath/patches/35612-linbox_1.7.0.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
-index 7794c9edc39..1753277b1f1 100644
---- a/src/sage/libs/linbox/conversion.pxd
-+++ b/src/sage/libs/linbox/conversion.pxd
-@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
-     - v -- linbox vector
-     """
-     cdef Vector_integer_dense res = P()
--    cdef cppvector[Integer] * vec = &v.refRep()
-     cdef size_t i
-     for i in range(<size_t> res._degree):
--        mpz_set(res._entries[i], vec[0][i].get_mpz_const())
-+        mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
- 
-     return res
-diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
-index 9112d151f8b..bfeda4b6042 100644
---- a/src/sage/libs/linbox/linbox.pxd
-+++ b/src/sage/libs/linbox/linbox.pxd
-@@ -32,7 +32,6 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_double Field
-         ctypedef double Element
-         DenseMatrix_Modular_double(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -42,7 +41,6 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_float Field
-         ctypedef float Element
-         DenseMatrix_Modular_float(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -101,7 +99,6 @@ cdef extern from "linbox/vector/vector.h":
-         DenseVector_integer (Field &F)
-         DenseVector_integer (Field &F, long& m)
-         DenseVector_integer (Field &F, cppvector[Integer]&)
--        cppvector[Element]& refRep()
-         size_t size()
-         void resize(size_t)
-         void resize(size_t n, const Element&)
-diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
-index abf29badce6..68b869ce314 100644
---- a/src/sage/matrix/matrix_modn_dense_template.pxi
-+++ b/src/sage/matrix/matrix_modn_dense_template.pxi
-@@ -221,9 +221,14 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
-         return 0,[]
- 
-     cdef ModField *F = new ModField(<long>modulus)
--    cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
--    cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-+    cdef DenseMatrix *A = new DenseMatrix(F[0], nrows, ncols)
-+
-     cdef Py_ssize_t i,j
-+    for i in range(nrows):
-+        for j in range(ncols):
-+            A.setEntry(i, j, entries[i*ncols+j])
-+
-+    cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-     for i in range(nrows):
-         for j in range(ncols):
-             entries[i*ncols+j] = <celement>A.getEntry(i,j)
diff --git a/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch b/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
deleted file mode 100644
index 970de6e5beb6c..0000000000000
--- a/srcpkgs/sagemath/patches/35619-maxima_5.46.0.patch
+++ /dev/null
@@ -1,586 +0,0 @@
-diff --git a/build/pkgs/ecl/dependencies b/build/pkgs/ecl/dependencies
-index cda6316bf5a..51a953403e9 100644
---- a/build/pkgs/ecl/dependencies
-+++ b/build/pkgs/ecl/dependencies
-@@ -1,4 +1,4 @@
--$(MP_LIBRARY) readline gc libffi
-+$(MP_LIBRARY) readline gc libffi info
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4
-index ae1e0ac5e1a..7dbcfa6377b 100644
---- a/build/pkgs/ecl/spkg-configure.m4
-+++ b/build/pkgs/ecl/spkg-configure.m4
-@@ -35,10 +35,7 @@ SAGE_SPKG_CONFIGURE([ecl], [
-     AC_SUBST(SAGE_ECL_CONFIG, [$ECL_CONFIG])
-   fi
- 
--  # Maxima cannot yet be provided by the system, so we always use
-+  # Kenzo cannot yet be provided by the system, so we always use
-   # the SAGE_LOCAL path for now.
--  AC_SUBST(SAGE_MAXIMA_FAS, ['${prefix}'/lib/ecl/maxima.fas])
--
--  # Likewise for the optional Kenzo SPKG
-   AC_SUBST(SAGE_KENZO_FAS, ['${prefix}'/lib/ecl/kenzo.fas])
- ])
-diff --git a/build/pkgs/ecl/spkg-install.in b/build/pkgs/ecl/spkg-install.in
-index ee1667aec16..72083337942 100644
---- a/build/pkgs/ecl/spkg-install.in
-+++ b/build/pkgs/ecl/spkg-install.in
-@@ -31,18 +31,6 @@ cp "$SAGE_ROOT"/config/config.* src
- 
- if [ x"$SAGE_SPKG_INSTALL_DOCS" != xyes ] ; then
-     ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--else
--    # ECL 2020 needs modern makeinfo
--    command -v texi2any >/dev/null 2>&1
--    if [ $? -ne 0 ]; then # texi2any not found -> makeinfo too old, if present
--        ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--    else
--        if makeinfo -c foo 2>&1 | grep -q invalid; then
--            # makeinfo found but does not support all options that ecl
--            # likes to use
--            ECL_CONFIGURE="$ECL_CONFIGURE --enable-manual=no"
--        fi
--    fi
- fi
- 
- sdh_configure $SAGE_CONFIGURE_GMP \
-diff --git a/build/pkgs/giac/spkg-configure.m4 b/build/pkgs/giac/spkg-configure.m4
-index 5859e35f12e..53e3a8301cd 100644
---- a/build/pkgs/giac/spkg-configure.m4
-+++ b/build/pkgs/giac/spkg-configure.m4
-@@ -5,7 +5,7 @@ SAGE_SPKG_CONFIGURE([giac], [
-        m4_pushdef([GIAC_MAX_VERSION], [1.9.999])
-        AC_CACHE_CHECK([for giac >= ]GIAC_MIN_VERSION[, <= ]GIAC_MAX_VERSION, [ac_cv_path_GIAC], [
-          AC_PATH_PROGS_FEATURE_CHECK([GIAC], [giac], [
--            giac_version=$($ac_path_GIAC --version 2> /dev/null | tail -1)
-+            giac_version=$($ac_path_GIAC --version 2> /dev/null | tail -n 1)
-             AS_IF([test -n "$giac_version"], [
-                 AX_COMPARE_VERSION([$giac_version], [ge], GIAC_MIN_VERSION, [
-                     AX_COMPARE_VERSION([$giac_version], [le], GIAC_MAX_VERSION, [
-diff --git a/build/pkgs/info/distros/fedora.txt b/build/pkgs/info/distros/fedora.txt
-index 283aa462f74..c0d8f74e0ad 100644
---- a/build/pkgs/info/distros/fedora.txt
-+++ b/build/pkgs/info/distros/fedora.txt
-@@ -1 +1 @@
--texinfo
-+texinfo info
-diff --git a/build/pkgs/info/spkg-configure.m4 b/build/pkgs/info/spkg-configure.m4
-index 0980a4b8ef8..85fe1ea4731 100644
---- a/build/pkgs/info/spkg-configure.m4
-+++ b/build/pkgs/info/spkg-configure.m4
-@@ -1,4 +1,14 @@
- SAGE_SPKG_CONFIGURE([info], [
-   AC_PATH_PROG(INFO, info)
--  AS_IF([test -z "${INFO}"], [sage_spkg_install_info=yes])
-+  AS_IF([test -z "${INFO}"], [sage_spkg_install_info=yes
-+    ], [
-+     dnl very old makeinfo are not texi2any, newer are symlinks to texi2any
-+     AC_PATH_PROG(TEXI2ANY, texi2any)
-+     AS_IF([test -z "${TEXI2ANY}"], [sage_spkg_install_info=yes
-+       ], [
-+        AS_IF([makeinfo -c foo 2>&1 | grep -q invalid], [
-+         dnl makeinfo found, but too old, and  does not support all options that ecl likes to use
-+         sage_spkg_install_info=yes])
-+       ])
-+    ])
- ])
-diff --git a/build/pkgs/info/spkg-install.in b/build/pkgs/info/spkg-install.in
-index 8086e4b2ec8..3ea8c053669 100644
---- a/build/pkgs/info/spkg-install.in
-+++ b/build/pkgs/info/spkg-install.in
-@@ -1,2 +1,2 @@
--cd src/info
-+cd src
- sdh_make_install
-diff --git a/build/pkgs/info/type b/build/pkgs/info/type
-index 134d9bc32d5..a6a7b9cd726 100644
---- a/build/pkgs/info/type
-+++ b/build/pkgs/info/type
-@@ -1 +1 @@
--optional
-+standard
-diff --git a/build/pkgs/maxima/checksums.ini b/build/pkgs/maxima/checksums.ini
-index a804c7b831f..0f594389fe6 100644
---- a/build/pkgs/maxima/checksums.ini
-+++ b/build/pkgs/maxima/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=maxima-VERSION.tar.gz
--sha1=ed15d5285794413ba94412079eca3d0fa55a47bf
--md5=9b9ae1dace55b1386739dabaa9122e60
--cksum=1765409766
-+sha1=1010594e6d6082bbd8efaac1b7756ec1721a4ed5
-+md5=3c01f1daa6936e11d8713fef7751d3fe
-+cksum=2420393096
- upstream_url=https://sourceforge.net/projects/maxima/files/Maxima-source/VERSION-source/maxima-VERSION.tar.gz/download
-diff --git a/build/pkgs/maxima/dependencies b/build/pkgs/maxima/dependencies
-index fffb89e2050..55c7e0d8d14 100644
---- a/build/pkgs/maxima/dependencies
-+++ b/build/pkgs/maxima/dependencies
-@@ -1,4 +1,4 @@
--ecl
-+ecl info
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/maxima/distros/arch.txt b/build/pkgs/maxima/distros/arch.txt
-index 6400290f44d..6ac052fa62b 100644
---- a/build/pkgs/maxima/distros/arch.txt
-+++ b/build/pkgs/maxima/distros/arch.txt
-@@ -1 +1 @@
--maxima-ecl
-+maxima-fas
-diff --git a/build/pkgs/maxima/distros/cygwin.txt b/build/pkgs/maxima/distros/cygwin.txt
-new file mode 100644
-index 00000000000..f5fe3fdc6cb
---- /dev/null
-+++ b/build/pkgs/maxima/distros/cygwin.txt
-@@ -0,0 +1 @@
-+maxima
-diff --git a/build/pkgs/maxima/distros/freebsd.txt b/build/pkgs/maxima/distros/freebsd.txt
-new file mode 100644
-index 00000000000..766a71b5074
---- /dev/null
-+++ b/build/pkgs/maxima/distros/freebsd.txt
-@@ -0,0 +1 @@
-+math/maxima
-diff --git a/build/pkgs/maxima/distros/gentoo.txt b/build/pkgs/maxima/distros/gentoo.txt
-new file mode 100644
-index 00000000000..85fb33f1610
---- /dev/null
-+++ b/build/pkgs/maxima/distros/gentoo.txt
-@@ -0,0 +1,2 @@
-+sci-mathematics/maxima[ecls]
-+
-diff --git a/build/pkgs/maxima/package-version.txt b/build/pkgs/maxima/package-version.txt
-index 83476624dc0..5681375f3be 100644
---- a/build/pkgs/maxima/package-version.txt
-+++ b/build/pkgs/maxima/package-version.txt
-@@ -1 +1 @@
--5.45.0.p0
-+5.46.0
-diff --git a/build/pkgs/maxima/patches/matrixexp.patch b/build/pkgs/maxima/patches/matrixexp.patch
-deleted file mode 100644
-index 5c8527c33bf..00000000000
---- a/build/pkgs/maxima/patches/matrixexp.patch
-+++ /dev/null
-@@ -1,15 +0,0 @@
--diff --git a/share/linearalgebra/matrixexp.lisp b/share/linearalgebra/matrixexp.lisp
--index 218bf35..f2fd468 100644
----- a/share/linearalgebra/matrixexp.lisp
--+++ b/share/linearalgebra/matrixexp.lisp
--@@ -138,8 +138,8 @@
-- 	   (print `(ratvars = ,$ratvars gcd = '$gcd algebraic = ,$algebraic))
-- 	   (print `(ratfac = ,$ratfac))
-- 	   (merror "Unable to find the spectrum")))
---   
---    (setq res ($fullratsimp (ncpower (sub (mult z ($ident n)) mat) -1) z))
--+
--+    (setq res ($fullratsimp ($invert_by_lu (sub (mult z ($ident n)) mat) '$crering) z))
--     (setq m (length sp))
--     (dotimes (i m)
--       (setq zi (nth i sp))
-diff --git a/build/pkgs/maxima/patches/maxima.system.patch b/build/pkgs/maxima/patches/maxima.system.patch
-deleted file mode 100644
-index 74db62e7f9f..00000000000
---- a/build/pkgs/maxima/patches/maxima.system.patch
-+++ /dev/null
-@@ -1,25 +0,0 @@
--diff --git a/src/maxima.system b/src/maxima.system
--index 76f2452..cf25f51 100644
----- a/src/maxima.system
--+++ b/src/maxima.system
--@@ -1,5 +1,8 @@
-- ;;; -*- Lisp -*-
-- 
--+(require :cmp)
--+(setf c::*compile-in-constants* t)
--+
-- (in-package :cl-user)
-- 
-- (pushnew :cl *features*)
--@@ -75,6 +78,11 @@
-- 			     ;; Convert dir/foo.fas to dir/foo.o
-- 			     (make-pathname :type "o" :defaults p))
-- 			 files)))
--+	(c::build-fasl "binary-ecl/maxima" :lisp-files obj
--+			  :ld-flags
--+			  (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
--+							      (find-package "MAXIMA")))))
--+			    (if (and x (not (string= x ""))) (list x))))
-- 	(c::build-program "binary-ecl/maxima" :lisp-files obj
-- 			  :ld-flags
-- 			  (let ((x (symbol-value (find-symbol "*AUTOCONF-LD-FLAGS*"
-diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4
-new file mode 100644
-index 00000000000..86de8c1dfc1
---- /dev/null
-+++ b/build/pkgs/maxima/spkg-configure.m4
-@@ -0,0 +1,46 @@
-+SAGE_SPKG_CONFIGURE([maxima], [
-+  m4_pushdef([SAGE_MAXIMA_MINVER],["5.45.0"])dnl this version and higher allowed
-+  SAGE_SPKG_DEPCHECK([ecl], [
-+    dnl First check for the "maxima" executable in the user's PATH, because
-+    dnl we still use pexpect to communicate with it in a few places.
-+    AC_CACHE_CHECK([for Maxima >= $SAGE_MAXIMA_MINVER], [ac_cv_path_MAXIMA], [
-+        AC_PATH_PROGS_FEATURE_CHECK([MAXIMA], [maxima], [
-+            maxima_version=`$ac_path_MAXIMA --version 2>&1 | tail -n 1\
-+                | $SED -n -e 's/Maxima *\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)/\1/p'`
-+            AS_IF([test -n "$maxima_version"], [
-+                AX_COMPARE_VERSION([$maxima_version], [ge], [SAGE_MAXIMA_MINVER], [
-+                    ac_cv_path_MAXIMA="$ac_path_MAXIMA"
-+                    ac_path_MAXIMA_found=:
-+                ])
-+            ])
-+        ])
-+    ])
-+    SAGE_MAXIMA="$ac_cv_path_MAXIMA"
-+    AS_IF([test -z "${SAGE_MAXIMA}"], [
-+      sage_spkg_install_maxima=yes
-+    ],[
-+      dnl If we have the executable, check also for the ECL library.
-+      AC_MSG_CHECKING([if ECL can "require" the maxima module])
-+      AS_IF([ecl --eval "(require 'maxima)" --eval "(quit)" \
-+               >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
-+        AC_MSG_RESULT(yes)
-+      ], [
-+        AC_MSG_RESULT(no)
-+        sage_spkg_install_maxima=yes
-+      ])
-+    ])
-+  ])
-+  m4_popdef([SAGE_MAXIMA_MINVER])
-+],[],[],[
-+  # post-check
-+  AS_IF([test x$sage_spkg_install_maxima = xyes], [
-+    dnl Leaving this variable empty will tell sagelib to load
-+    dnl the maxima library (within ECL) by name instead of by
-+    dnl absolute path.
-+    SAGE_MAXIMA='${prefix}'/bin/maxima
-+    SAGE_MAXIMA_FAS='${prefix}'/lib/ecl/maxima.fas
-+  ])
-+
-+  AC_SUBST(SAGE_MAXIMA, "${SAGE_MAXIMA}")
-+  AC_SUBST(SAGE_MAXIMA_FAS, "${SAGE_MAXIMA_FAS}")
-+])
-diff --git a/build/pkgs/maxima/spkg-install.in b/build/pkgs/maxima/spkg-install.in
-index 3ae6382f9ba..cdb6fbf2069 100644
---- a/build/pkgs/maxima/spkg-install.in
-+++ b/build/pkgs/maxima/spkg-install.in
-@@ -28,28 +28,6 @@ echo
- echo "Now configuring Maxima..."
- sdh_configure --enable-ecl git_found=false
- 
--# Note the following is regression in maxima build system
--# see https://sourceforge.net/p/maxima/bugs/3278/
--# and https://sourceforge.net/p/maxima/bugs/2878/
--# For the previous time it was fixed.
--#---------------------------------------------------------------
--# Touching html and info file to avoid to regenerate them.
--# This must be done after configuration since the timestamp need
--# to be later than include-maxima.texi which is generated at
--# configuration time
--for i in doc/info/*.html ; do
--    touch "${i}"
--done
--touch doc/info/maxima.info*
--# Maxima 5.44.0 build_html.sh is not compatible with makeinfo 4.8
--# (which is /usr/bin/makeinfo on macOS).  #30063
--# Do not build the HTML docs unless the user asks for it,
--# in which case it is their problem to install a better
--# makeinfo version.
--if [[ "$SAGE_SPKG_INSTALL_DOCS" != yes ]] ; then
--touch doc/info/maxima_toc.html interfaces/xmaxima/doc/xmaxima.html
--fi
--
- #---------------------------------------------------------------
- 
- sdh_make
-diff --git a/build/pkgs/tox/spkg-configure.m4 b/build/pkgs/tox/spkg-configure.m4
-index 7d8ade4c14b..5a260439cdd 100644
---- a/build/pkgs/tox/spkg-configure.m4
-+++ b/build/pkgs/tox/spkg-configure.m4
-@@ -5,7 +5,7 @@ SAGE_SPKG_CONFIGURE([tox], [
-        m4_pushdef([TOX4_MIN_VERSION], [4.0.15])
-        AC_CACHE_CHECK([for tox 3 >= ]TOX3_MIN_VERSION[ or tox 4 >= ]TOX4_MIN_VERSION, [ac_cv_path_TOX], [
-          AC_PATH_PROGS_FEATURE_CHECK([TOX], [tox], [
--            tox_version=$($ac_path_TOX --version 2> /dev/null | tail -1)
-+            tox_version=$($ac_path_TOX --version 2> /dev/null | tail -n 1)
-             AS_IF([test -n "$tox_version"], [
-                 AX_COMPARE_VERSION([$tox_version], [lt], [4], [
-                     AX_COMPARE_VERSION([$tox_version], [ge], TOX3_MIN_VERSION, [
-diff --git a/pkgs/sage-conf/_sage_conf/_conf.py.in b/pkgs/sage-conf/_sage_conf/_conf.py.in
-index d66bdb3d264..f2e197b45ed 100644
---- a/pkgs/sage-conf/_sage_conf/_conf.py.in
-+++ b/pkgs/sage-conf/_sage_conf/_conf.py.in
-@@ -9,9 +9,11 @@ VERSION = "@PACKAGE_VERSION@"
- SAGE_LOCAL = "@prefix@"
- SAGE_ROOT = "@SAGE_ROOT@"
- 
--MAXIMA = "@prefix@/bin/maxima"
-+# The path to the standalone maxima executable.
-+MAXIMA = "@SAGE_MAXIMA@".replace('${prefix}', SAGE_LOCAL)
- 
--# Delete this line if your ECL can load maxima without further prodding.
-+# Set this to the empty string if your ECL can load maxima without
-+# further prodding.
- MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace('${prefix}', SAGE_LOCAL)
- 
- # Delete this line if your ECL can load Kenzo without further prodding.
-diff --git a/src/bin/sage-env b/src/bin/sage-env
-index a7da60df28f..13b54fa7e92 100644
---- a/src/bin/sage-env
-+++ b/src/bin/sage-env
-@@ -440,9 +440,6 @@ if [ -d "$DOT_SAGE" ] ; then
-     fi
- fi
- 
--if [ -n "$SAGE_LOCAL" ]; then
--    export MAXIMA_PREFIX="$SAGE_LOCAL"
--fi
- export MAXIMA_USERDIR="$DOT_SAGE/maxima"
- 
- if [ -n "$SAGE_LOCAL" ]; then
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index dae380180ac..ee8f632e94c 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -136,10 +136,11 @@
-     [          1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x)) 1/2*(x*e^(2*sqrt(x)) - x)*sqrt(x)*e^(x - sqrt(x))]
-     [  1/2*(e^(2*sqrt(x)) - 1)*e^(x - sqrt(x))/x^(3/2)           1/2*(e^(2*sqrt(x)) + 1)*e^(x - sqrt(x))]
- 
--And complex exponentiation works now::
-+Complex exponentiation works, but may require a patched version of
-+maxima (:trac:`32898`) for now::
- 
-     sage: M = i*matrix([[pi]])
--    sage: e^M
-+    sage: e^M  # not tested, requires patched maxima
-     [-1]
-     sage: M = i*matrix([[pi,0],[0,2*pi]])
-     sage: e^M
-@@ -1186,8 +1187,18 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-         e
-         sage: f.limit(x=5)
-         7776/3125
--        sage: f.limit(x=1.2)
-+
-+    Domain to real, a regression in 5.46.0, see https://sf.net/p/maxima/bugs/4138 ::
-+
-+        sage: maxima_calculus.eval("domain:real")
-+        ...
-+        sage: f.limit(x=1.2).n()
-         2.06961575467...
-+        sage: maxima_calculus.eval("domain:complex");
-+        ...
-+
-+    Otherwise, it works ::
-+
-         sage: f.limit(x=I, taylor=True)
-         (-I + 1)^I
-         sage: f(x=1.2)
-@@ -1215,7 +1226,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-     With this example, Maxima is looking for a LOT of information::
- 
-         sage: assume(a>0)
--        sage: limit(x^a,x=0)
-+        sage: limit(x^a,x=0)  # random - maxima 5.46.0 does not need extra assumption
-         Traceback (most recent call last):
-         ...
-         ValueError: Computation failed since Maxima requested additional
-@@ -1224,7 +1235,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-          more details)
-         Is a an integer?
-         sage: assume(a,'integer')
--        sage: limit(x^a, x=0)
-+        sage: limit(x^a, x=0)  # random - maxima 5.46.0 does not need extra assumption
-         Traceback (most recent call last):
-         ...
-         ValueError: Computation failed since Maxima requested additional
-@@ -2251,10 +2262,10 @@ def symbolic_expression_from_maxima_string(x, equals_sub=False, maxima=maxima):
-         True
-         sage: sefms("x # 3") == SR(x != 3)
-         True
--        sage: solve([x != 5], x)
--        [[x - 5 != 0]]
-+        sage: solve([x != 5], x) in [[[x - 5 != 0]], [[x < 5], [5 < x]]]
-+        True
-         sage: solve([2*x==3, x != 5], x)
--        [[x == (3/2), (-7/2) != 0]]
-+        [[x == (3/2)...
- 
-     Make sure that we don't accidentally pick up variables in the maxima namespace (:trac:`8734`)::
- 
-diff --git a/src/sage/functions/exp_integral.py b/src/sage/functions/exp_integral.py
-index e6c888c64b6..f314e525145 100644
---- a/src/sage/functions/exp_integral.py
-+++ b/src/sage/functions/exp_integral.py
-@@ -601,8 +601,8 @@ class Function_log_integral_offset(BuiltinFunction):
-         1/log(x)
-         sage: f.integrate(x)
-         -x*log_integral(2) + x*log_integral(x) - Ei(2*log(x))
--        sage: Li(x).integrate(x,2.0,4.5)
--        -2.5*log_integral(2) + 5.799321147411334
-+        sage: Li(x).integrate(x,2.0,4.5).n(digits=10)
-+        3.186411697
-         sage: N(f.integrate(x,2.0,3.0))   # abs tol 1e-15
-         0.601621785860587
- 
-diff --git a/src/sage/interfaces/expect.py b/src/sage/interfaces/expect.py
-index 68ae715e4c3..84adf0341b5 100644
---- a/src/sage/interfaces/expect.py
-+++ b/src/sage/interfaces/expect.py
-@@ -620,7 +620,7 @@ def quit(self, verbose=False):
- 
-             sage: a = maxima('y')
-             sage: maxima.quit(verbose=True)
--            Exiting Maxima with PID ... running .../bin/maxima...
-+            Exiting Maxima with PID ... running ...maxima...
-             sage: a._check_valid()
-             Traceback (most recent call last):
-             ...
-diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
-index 27b1e98a6ac..4829560f98b 100644
---- a/src/sage/interfaces/maxima.py
-+++ b/src/sage/interfaces/maxima.py
-@@ -622,11 +622,6 @@ def _start(self):
-             sage: m.is_running()
-             True
- 
--        Test that we can use more than 256MB RAM (see :trac:`6772`)::
--
--            sage: a = maxima(10)^(10^5)
--            sage: b = a^600              # long time -- about 10-15 seconds
--
-         """
-         Expect._start(self)
-         self._sendline(r":lisp (defun tex-derivative (x l r) (tex (if $derivabbrev (tex-dabbrev x) (tex-d x '\\partial)) l r lop rop ))")
-@@ -634,9 +629,6 @@ def _start(self):
-         # Don't use ! for factorials (#11539)
-         self._sendline(":lisp (remprop 'mfactorial 'grind)")
- 
--        # Remove limit on the max heapsize (since otherwise it defaults
--        # to 256MB with ECL).
--        self._sendline(":lisp (ext:set-limit 'ext:heap-size 0)")
-         self._eval_line('0;')
- 
-         # set random seed
-diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py
-index c263ac65f02..bba8504aa92 100644
---- a/src/sage/interfaces/maxima_lib.py
-+++ b/src/sage/interfaces/maxima_lib.py
-@@ -934,8 +934,15 @@ def sr_limit(self, expr, v, a, dir=None):
-             e
-             sage: limit(f,x = 5)
-             7776/3125
--            sage: limit(f,x = 1.2)
-+
-+        Domain to real, a regression in 5.46.0, see https://sf.net/p/maxima/bugs/4138 ::
-+
-+            sage: maxima_calculus.eval("domain:real")
-+            ...
-+            sage: limit(f,x = 1.2).n()
-             2.06961575467...
-+            sage: maxima_calculus.eval("domain:complex");
-+            ...
-             sage: var('a')
-             a
-             sage: limit(x^a,x=0)
-@@ -947,7 +954,7 @@ def sr_limit(self, expr, v, a, dir=None):
-             for more details)
-             Is a positive, negative or zero?
-             sage: assume(a>0)
--            sage: limit(x^a,x=0)
-+            sage: limit(x^a,x=0)  # random - not needed for maxima 5.46.0
-             Traceback (most recent call last):
-             ...
-             ValueError: Computation failed ...
-diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx
-index e2e6449dfa9..15914b0be3e 100644
---- a/src/sage/matrix/matrix2.pyx
-+++ b/src/sage/matrix/matrix2.pyx
-@@ -15425,9 +15425,10 @@ cdef class Matrix(Matrix1):
- 
-         TESTS:
- 
--        Check that sparse matrices are handled correctly (:trac:`28935`)::
-+        Sparse matrices are handled correctly (:trac:`28935`), but may
-+        require a patched version of maxima (:trac:`32898`) for now::
- 
--            sage: matrix.diagonal([0], sparse=True).exp()
-+            sage: matrix.diagonal([0], sparse=True).exp()  # not tested, requires patched maxima
-             [1]
-             sage: matrix.zero(CBF, 2, sparse=True).exp()
-             [1.000000000000000                 0]
-diff --git a/src/sage/matrix/matrix_symbolic_dense.pyx b/src/sage/matrix/matrix_symbolic_dense.pyx
-index 19ca5c85cb2..58a25e002f6 100644
---- a/src/sage/matrix/matrix_symbolic_dense.pyx
-+++ b/src/sage/matrix/matrix_symbolic_dense.pyx
-@@ -402,7 +402,8 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             [1/2*(e^(2*x) + 1)*e^(-x) 1/2*(e^(2*x) - 1)*e^(-x)]
-             [1/2*(e^(2*x) - 1)*e^(-x) 1/2*(e^(2*x) + 1)*e^(-x)]
- 
--        Exp works on 0x0 and 1x1 matrices::
-+        Exponentiation works on 0x0 and 1x1 matrices, but the 1x1 example
-+        requires a patched version of maxima (:trac:`32898`) for now::
- 
-             sage: m = matrix(SR,0,[]); m
-             []
-@@ -410,7 +411,7 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             []
-             sage: m = matrix(SR,1,[2]); m
-             [2]
--            sage: m.exp()
-+            sage: m.exp()  # not tested, requires patched maxima
-             [e^2]
- 
-         Commuting matrices `m, n` have the property that
-@@ -451,7 +452,6 @@ cdef class Matrix_symbolic_dense(Matrix_generic_dense):
-             [                       0 1/2*(e^(2*x) + 1)*e^(-x) 1/2*(e^(2*x) - 1)*e^(-x)                        0]
-             [                       0 1/2*(e^(2*x) - 1)*e^(-x) 1/2*(e^(2*x) + 1)*e^(-x)                        0]
-             [1/2*(e^(2*x) - 1)*e^(-x)                        0                        0 1/2*(e^(2*x) + 1)*e^(-x)]
--
-         """
-         if not self.is_square():
-             raise ValueError("exp only defined on square matrices")
-diff --git a/src/sage/symbolic/integration/integral.py b/src/sage/symbolic/integration/integral.py
-index c82e9ed73c3..e84ad357ee2 100644
---- a/src/sage/symbolic/integration/integral.py
-+++ b/src/sage/symbolic/integration/integral.py
-@@ -741,14 +741,14 @@ def integrate(expression, v=None, a=None, b=None, algorithm=None, hold=False):
- 
-         sage: _ = var('x,y')
-         sage: f = log(x^2+y^2)
--        sage: res = integral(f,x,0.0001414, 1.); res
-+        sage: res = integral(f,x,1414/10^7, 1); res
-         Traceback (most recent call last):
-         ...
--        ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help (example of legal syntax is 'assume(50015104*y^2-50015103>0)', see `assume?` for more details)
--        Is 50015104*y^2-50015103 positive, negative or zero?
-+        ValueError: Computation failed since Maxima requested additional constraints; using the 'assume' command before evaluation *may* help ...
-+        Is ... positive, negative or zero?
-         sage: assume(y>1)
--        sage: res = integral(f,x,0.0001414, 1.); res
--        2*y*arctan(1.0/y) - 2*y*arctan(0.0001414/y) + 1.0*log(1.0*y^2 + 1.0) - 0.0001414*log(1.0*y^2 + 1.9993959999999997e-08) - 1.9997172
-+        sage: res = integral(f,x,1414/10^7, 1); res
-+        -2*y*arctan(707/5000000/y) + 2*y*arctan(1/y) + log(y^2 + 1) - 707/5000000*log(y^2 + 499849/25000000000000) - 4999293/2500000
-         sage: nres = numerical_integral(f.subs(y=2), 0.0001414, 1.); nres
-         (1.4638323264144..., 1.6251803529759...e-14)
-         sage: res.subs(y=2).n()
-diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
-index 94813315181..a72ab547c76 100644
---- a/src/sage/symbolic/relation.py
-+++ b/src/sage/symbolic/relation.py
-@@ -1787,8 +1787,8 @@ def solve_ineq_fourier(ineq, vars=None):
-         sage: y = var('y')
-         sage: solve_ineq_fourier([x+y<9,x-y>4],[x,y])
-         [[y + 4 < x, x < -y + 9, y < (5/2)]]
--        sage: solve_ineq_fourier([x+y<9,x-y>4],[y,x])
--        [[y < min(x - 4, -x + 9)]]
-+        sage: solve_ineq_fourier([x+y<9,x-y>4],[y,x])[0][0](x=42)
-+        y < -33
- 
-         sage: solve_ineq_fourier([x^2>=0])
-         [[x < +Infinity]]
diff --git a/srcpkgs/sagemath/patches/35635-sympy_1.12.patch b/srcpkgs/sagemath/patches/35635-sympy_1.12.patch
deleted file mode 100644
index 9cfc69c2adb6f..0000000000000
--- a/srcpkgs/sagemath/patches/35635-sympy_1.12.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index dae380180ac..ca3c59e63d2 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -1690,8 +1690,11 @@ def laplace(ex, t, s, algorithm='maxima'):
- 
-     Testing SymPy::
- 
--        sage: laplace(t^n, t, s, algorithm='sympy')
--        (gamma(n + 1)/(s*s^n), 0, re(n) > -1)
-+        sage: F, a, cond = laplace(t^n, t, s, algorithm='sympy')
-+        sage: a, cond
-+        (0, re(n) > -1)
-+        sage: F.simplify()
-+        s^(-n - 1)*gamma(n + 1)
- 
-     Testing Maxima::
- 
-@@ -1700,17 +1703,19 @@ def laplace(ex, t, s, algorithm='maxima'):
- 
-     Check that :trac:`24212` is fixed::
- 
--        sage: laplace(cos(t^2), t, s, algorithm='sympy')
--        (-1/2*sqrt(pi)*(sqrt(2)*cos(1/4*s^2)*fresnel_sin(1/2*sqrt(2)*s/sqrt(pi)) -
--        sqrt(2)*fresnel_cos(1/2*sqrt(2)*s/sqrt(pi))*sin(1/4*s^2) - cos(1/4*pi + 1/4*s^2)),
--        0, True)
-+        sage: F, a, cond = laplace(cos(t^2), t, s, algorithm='sympy')
-+        sage: a, cond
-+        (0, True)
-+        sage: F._sympy_().simplify()
-+        sqrt(pi)*(sqrt(2)*sin(s**2/4)*fresnelc(sqrt(2)*s/(2*sqrt(pi))) -
-+        sqrt(2)*cos(s**2/4)*fresnels(sqrt(2)*s/(2*sqrt(pi))) + cos(s**2/4 + pi/4))/2
- 
-     Testing result from SymPy that Sage doesn't know how to handle::
- 
-         sage: laplace(cos(-1/t), t, s, algorithm='sympy')
-         Traceback (most recent call last):
-         ...
--        AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), s**2/16)/4) into Sage
-+        AttributeError: Unable to convert SymPy result (=meijerg(((), ()), ((-1/2, 0, 1/2), (0,)), ...)/4) into Sage
-     """
-     if not isinstance(ex, (Expression, Function)):
-         ex = SR(ex)
-@@ -1817,8 +1822,8 @@ def inverse_laplace(ex, s, t, algorithm='maxima'):
- 
-     Transform an expression involving a time-shift, via SymPy::
- 
--        sage: inverse_laplace(1/s^2*exp(-s), s, t, algorithm='sympy')
--        -(log(e^(-t)) + 1)*heaviside(t - 1)
-+        sage: inverse_laplace(1/s^2*exp(-s), s, t, algorithm='sympy').simplify()
-+        (t - 1)*heaviside(t - 1)
- 
-     The same instance with Giac::
- 
diff --git a/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch b/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
deleted file mode 100644
index de10df8cb73c9..0000000000000
--- a/srcpkgs/sagemath/patches/35707-maxima_5.47.0.patch
+++ /dev/null
@@ -1,879 +0,0 @@
-diff --git a/src/doc/de/tutorial/interfaces.rst b/src/doc/de/tutorial/interfaces.rst
-index edb4f383363..d83225b5315 100644
---- a/src/doc/de/tutorial/interfaces.rst
-+++ b/src/doc/de/tutorial/interfaces.rst
-@@ -272,8 +272,8 @@ deren :math:`i,j` Eintrag gerade :math:`i/j` ist, für :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Hier ein anderes Beispiel:
- 
-@@ -332,12 +332,9 @@ Und der letzte ist die berühmte Kleinsche Flasche:
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/de/tutorial/tour_algebra.rst b/src/doc/de/tutorial/tour_algebra.rst
-index baba2553a25..59eed8f1888 100644
---- a/src/doc/de/tutorial/tour_algebra.rst
-+++ b/src/doc/de/tutorial/tour_algebra.rst
-@@ -209,9 +209,12 @@ Lösung: Berechnen Sie die Laplace-Transformierte der ersten Gleichung
- 
- ::
- 
--    sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Das ist schwierig zu lesen, es besagt jedoch, dass
- 
-@@ -226,8 +229,8 @@ Laplace-Transformierte der zweiten Gleichung:
- ::
- 
-     sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: lde2 = de2.laplace("t","s"); lde2.sage()
-+    s^2*laplace(y(t), t, s) - s*y(0) - 2*laplace(x(t), t, s) + 2*laplace(y(t), t, s) - D[0](y)(0)
- 
- Dies besagt
- 
-diff --git a/src/doc/en/constructions/linear_algebra.rst b/src/doc/en/constructions/linear_algebra.rst
-index 8894de9a5fd..4e76c65ad0a 100644
---- a/src/doc/en/constructions/linear_algebra.rst
-+++ b/src/doc/en/constructions/linear_algebra.rst
-@@ -277,8 +277,8 @@ Another approach is to use the interface with Maxima:
- 
-     sage: A = maxima("matrix ([1, -4], [1, -1])")
-     sage: eig = A.eigenvectors()
--    sage: eig
--    [[[-sqrt(3)*%i,sqrt(3)*%i],[1,1]], [[[1,(sqrt(3)*%i+1)/4]],[[1,-(sqrt(3)*%i-1)/4]]]]
-+    sage: eig.sage()
-+    [[[-I*sqrt(3), I*sqrt(3)], [1, 1]], [[[1, 1/4*I*sqrt(3) + 1/4]], [[1, -1/4*I*sqrt(3) + 1/4]]]]
- 
- This tells us that :math:`\vec{v}_1 = [1,(\sqrt{3}i + 1)/4]` is
- an eigenvector of :math:`\lambda_1 = - \sqrt{3}i` (which occurs
-diff --git a/src/doc/en/tutorial/interfaces.rst b/src/doc/en/tutorial/interfaces.rst
-index b0e55345669..19c28f636d4 100644
---- a/src/doc/en/tutorial/interfaces.rst
-+++ b/src/doc/en/tutorial/interfaces.rst
-@@ -267,8 +267,8 @@ whose :math:`i,j` entry is :math:`i/j`, for
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Here's another example:
- 
-@@ -320,8 +320,8 @@ The next plot is the famous Klein bottle (do not type the ``....:``)::
- 
-     sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-     5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
-+    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)").sage()
-+    -5*(cos(1/2*x)*cos(y) + sin(1/2*x)*sin(2*y) + 3.0)*sin(x)
-     sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]",  # not tested
-diff --git a/src/doc/en/tutorial/tour_algebra.rst b/src/doc/en/tutorial/tour_algebra.rst
-index 2e872cc9059..225606a729f 100644
---- a/src/doc/en/tutorial/tour_algebra.rst
-+++ b/src/doc/en/tutorial/tour_algebra.rst
-@@ -216,9 +216,12 @@ the notation :math:`x=x_{1}`, :math:`y=x_{2}`):
- 
- ::
- 
--    sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- This is hard to read, but it says that
- 
-@@ -232,8 +235,8 @@ Laplace transform of the second equation:
- ::
- 
-     sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: lde2 = de2.laplace("t","s"); lde2.sage()
-+    s^2*laplace(y(t), t, s) - s*y(0) - 2*laplace(x(t), t, s) + 2*laplace(y(t), t, s) - D[0](y)(0)
- 
- This says
- 
-diff --git a/src/doc/es/tutorial/tour_algebra.rst b/src/doc/es/tutorial/tour_algebra.rst
-index dc1a7a96719..42c818fe8d7 100644
---- a/src/doc/es/tutorial/tour_algebra.rst
-+++ b/src/doc/es/tutorial/tour_algebra.rst
-@@ -197,8 +197,8 @@ la notación :math:`x=x_{1}`, :math:`y=x_{2}`):
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- El resultado puede ser difícil de leer, pero significa que
- 
-@@ -211,9 +211,12 @@ Toma la transformada de Laplace de la segunda ecuación:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Esto dice
- 
-diff --git a/src/doc/fr/tutorial/interfaces.rst b/src/doc/fr/tutorial/interfaces.rst
-index 1cd662f3083..2cb14e772eb 100644
---- a/src/doc/fr/tutorial/interfaces.rst
-+++ b/src/doc/fr/tutorial/interfaces.rst
-@@ -273,8 +273,8 @@ pour :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Un deuxième exemple :
- 
-@@ -334,12 +334,9 @@ Et la fameuse bouteille de Klein (n'entrez pas les ``....:``):
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/fr/tutorial/tour_algebra.rst b/src/doc/fr/tutorial/tour_algebra.rst
-index 658894b2e8b..267bd1dd4f9 100644
---- a/src/doc/fr/tutorial/tour_algebra.rst
-+++ b/src/doc/fr/tutorial/tour_algebra.rst
-@@ -182,8 +182,8 @@ Solution : Considérons la transformée de Laplace de la première équation
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- La réponse n'est pas très lisible, mais elle signifie que
- 
-@@ -196,9 +196,12 @@ la seconde équation :
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Ceci signifie
- 
-diff --git a/src/doc/it/tutorial/tour_algebra.rst b/src/doc/it/tutorial/tour_algebra.rst
-index 5a5311e9b1c..cde427d3090 100644
---- a/src/doc/it/tutorial/tour_algebra.rst
-+++ b/src/doc/it/tutorial/tour_algebra.rst
-@@ -183,8 +183,8 @@ la notazione :math:`x=x_{1}`, :math:`y=x_{2}`:
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Questo è di difficile lettura, ma dice che
- 
-@@ -197,9 +197,12 @@ trasformata di Laplace della seconda equazione:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- che significa
- 
-diff --git a/src/doc/ja/tutorial/interfaces.rst b/src/doc/ja/tutorial/interfaces.rst
-index 9c16b2eba08..892fc6f852f 100644
---- a/src/doc/ja/tutorial/interfaces.rst
-+++ b/src/doc/ja/tutorial/interfaces.rst
-@@ -239,8 +239,8 @@ Sage/Maximaインターフェイスの使い方を例示するため,ここで
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- 
- 使用例をもう一つ示す:
-@@ -299,11 +299,8 @@ Sage/Maximaインターフェイスの使い方を例示するため,ここで
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]",  # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]", '[plot_format, openmath]')
-diff --git a/src/doc/ja/tutorial/tour_algebra.rst b/src/doc/ja/tutorial/tour_algebra.rst
-index 784fd0d5c40..746cbb4475c 100644
---- a/src/doc/ja/tutorial/tour_algebra.rst
-+++ b/src/doc/ja/tutorial/tour_algebra.rst
-@@ -213,8 +213,8 @@ Sageを使って常微分方程式を研究することもできる. :math:`x'
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- この出力は読みにくいけれども,意味しているのは
- 
-@@ -226,9 +226,12 @@ Sageを使って常微分方程式を研究することもできる. :math:`x'
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- 意味するところは
- 
-diff --git a/src/doc/pt/tutorial/interfaces.rst b/src/doc/pt/tutorial/interfaces.rst
-index 386ef6456e5..5badb31ab35 100644
---- a/src/doc/pt/tutorial/interfaces.rst
-+++ b/src/doc/pt/tutorial/interfaces.rst
-@@ -269,8 +269,8 @@ entrada :math:`i,j` é :math:`i/j`, para :math:`i,j=1,\ldots,4`.
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Aqui vai outro exemplo:
- 
-@@ -330,13 +330,10 @@ E agora a famosa garrafa de Klein:
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)"
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)"
-     ....:        "- 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:               "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:               '[plot_format, openmath]')
-diff --git a/src/doc/pt/tutorial/tour_algebra.rst b/src/doc/pt/tutorial/tour_algebra.rst
-index baeb37b1c71..170e0d8a367 100644
---- a/src/doc/pt/tutorial/tour_algebra.rst
-+++ b/src/doc/pt/tutorial/tour_algebra.rst
-@@ -205,8 +205,8 @@ equação (usando a notação :math:`x=x_{1}`, :math:`y=x_{2}`):
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- O resultado é um pouco difícil de ler, mas diz que
- 
-@@ -219,9 +219,12 @@ calcule a transformada de Laplace da segunda equação:
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- O resultado significa que
- 
-diff --git a/src/doc/ru/tutorial/interfaces.rst b/src/doc/ru/tutorial/interfaces.rst
-index ea84527f478..061818ca4a5 100644
---- a/src/doc/ru/tutorial/interfaces.rst
-+++ b/src/doc/ru/tutorial/interfaces.rst
-@@ -264,8 +264,8 @@ gnuplot, имеет методы решения и манипуляции мат
-     matrix([1,1/2,1/3,1/4],[0,0,0,0],[0,0,0,0],[0,0,0,0])
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
--    sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    sage: A.eigenvectors().sage()
-+    [[[0, 4], [3, 1]], [[[1, 0, 0, -4], [0, 1, 0, -2], [0, 0, 1, -4/3]], [[1, 2, 3, 4]]]]
- 
- Вот другой пример:
- 
-@@ -323,12 +323,9 @@ gnuplot, имеет методы решения и манипуляции мат
- 
- ::
- 
--    sage: maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
--    5*cos(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)-10.0
--    sage: maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
--    -5*sin(x)*(sin(x/2)*sin(2*y)+cos(x/2)*cos(y)+3.0)
--    sage: maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
--    5*(cos(x/2)*sin(2*y)-sin(x/2)*cos(y))
-+    sage: _ = maxima("expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0) - 10.0")
-+    sage: _ = maxima("expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y)+ 3.0)")
-+    sage: _ = maxima("expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))")
-     sage: maxima.plot3d ("[expr_1, expr_2, expr_3]", "[x, -%pi, %pi]", # not tested
-     ....:     "[y, -%pi, %pi]", "['grid, 40, 40]",
-     ....:     '[plot_format, openmath]')
-diff --git a/src/doc/ru/tutorial/tour_algebra.rst b/src/doc/ru/tutorial/tour_algebra.rst
-index 9f08c41d118..bc0d4926f83 100644
---- a/src/doc/ru/tutorial/tour_algebra.rst
-+++ b/src/doc/ru/tutorial/tour_algebra.rst
-@@ -199,8 +199,8 @@ Sage может использоваться для решения диффер
- ::
- 
-     sage: de1 = maxima("2*diff(x(t),t, 2) + 6*x(t) - 2*y(t)")
--    sage: lde1 = de1.laplace("t","s"); lde1
--    2*((-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s) -2*'laplace(y(t),t,s)+6*'laplace(x(t),t,s)
-+    sage: lde1 = de1.laplace("t","s"); lde1.sage()
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Данный результат тяжело читаем, однако должен быть понят как
- 
-@@ -210,9 +210,12 @@ Sage может использоваться для решения диффер
- 
- ::
- 
--    sage: de2 = maxima("diff(y(t),t, 2) + 2*y(t) - 2*x(t)")
--    sage: lde2 = de2.laplace("t","s"); lde2
--    (-%at('diff(y(t),t,1),t = 0))+s^2*'laplace(y(t),t,s) +2*'laplace(y(t),t,s)-2*'laplace(x(t),t,s) -y(0)*s
-+    sage: t,s = SR.var('t,s')
-+    sage: x = function('x')
-+    sage: y = function('y')
-+    sage: f = 2*x(t).diff(t,2) + 6*x(t) - 2*y(t)
-+    sage: f.laplace(t,s)
-+    2*s^2*laplace(x(t), t, s) - 2*s*x(0) + 6*laplace(x(t), t, s) - 2*laplace(y(t), t, s) - 2*D[0](x)(0)
- 
- Результат:
- 
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index c707530b9f1..f7ce8b95727 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -783,7 +783,7 @@ def nintegral(ex, x, a, b,
-     Now numerically integrating, we see why the answer is wrong::
- 
-         sage: f.nintegrate(x,0,1)
--        (-480.0000000000001, 5.32907051820075...e-12, 21, 0)
-+        (-480.000000000000..., 5.32907051820075...e-12, 21, 0)
- 
-     It is just because every floating point evaluation of return -480.0
-     in floating point.
-@@ -1336,7 +1336,7 @@ def limit(ex, dir=None, taylor=False, algorithm='maxima', **argv):
-         sage: limit(floor(x), x=0, dir='+')
-         0
-         sage: limit(floor(x), x=0)
--        und
-+        ...nd
- 
-     Maxima gives the right answer here, too, showing
-     that :trac:`4142` is fixed::
-diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py
-index e0c31925f44..6e91f7e2bb4 100644
---- a/src/sage/calculus/desolvers.py
-+++ b/src/sage/calculus/desolvers.py
-@@ -295,7 +295,7 @@ def desolve(de, dvar, ics=None, ivar=None, show_method=False, contrib_ode=False,
-     Clairaut equation: general and singular solutions::
- 
-         sage: desolve(diff(y,x)^2+x*diff(y,x)-y==0,y,contrib_ode=True,show_method=True)
--        [[y(x) == _C^2 + _C*x, y(x) == -1/4*x^2], 'clairault']
-+        [[y(x) == _C^2 + _C*x, y(x) == -1/4*x^2], 'clairau...']
- 
-     For equations involving more variables we specify an independent variable::
- 
-@@ -1325,7 +1325,7 @@ def desolve_rk4(de, dvar, ics=None, ivar=None, end_points=None, step=0.1, output
- 
-         sage: x,y = var('x,y')
-         sage: desolve_rk4(x*y*(2-y),y,ics=[0,1],end_points=1,step=0.5)
--        [[0, 1], [0.5, 1.12419127424558], [1.0, 1.461590162288825]]
-+        [[0, 1], [0.5, 1.12419127424558], [1.0, 1.46159016228882...]]
- 
-     Variant 1 for input - we can pass ODE in the form used by
-     desolve function In this example we integrate backwards, since
-@@ -1333,7 +1333,7 @@ def desolve_rk4(de, dvar, ics=None, ivar=None, end_points=None, step=0.1, output
- 
-         sage: y = function('y')(x)
-         sage: desolve_rk4(diff(y,x)+y*(y-1) == x-2,y,ics=[1,1],step=0.5, end_points=0)
--        [[0.0, 8.904257108962112], [0.5, 1.909327945361535], [1, 1]]
-+        [[0.0, 8.904257108962112], [0.5, 1.90932794536153...], [1, 1]]
- 
-     Here we show how to plot simple pictures. For more advanced
-     applications use list_plot instead. To see the resulting picture
-diff --git a/src/sage/functions/bessel.py b/src/sage/functions/bessel.py
-index 95405c3d72f..48607c49f56 100644
---- a/src/sage/functions/bessel.py
-+++ b/src/sage/functions/bessel.py
-@@ -293,9 +293,6 @@ class Function_Bessel_J(BuiltinFunction):
-         sage: f = bessel_J(2, x)
-         sage: f.integrate(x)
-         1/24*x^3*hypergeometric((3/2,), (5/2, 3), -1/4*x^2)
--        sage: m = maxima(bessel_J(2, x))
--        sage: m.integrate(x)
--        (hypergeometric([3/2],[5/2,3],-_SAGE_VAR_x^2/4)*_SAGE_VAR_x^3)/24
- 
-     Visualization (set plot_points to a higher value to get more detail)::
- 
-@@ -1118,11 +1115,11 @@ def Bessel(*args, **kwds):
-     Conversion to other systems::
- 
-         sage: x,y = var('x,y')
--        sage: f = maxima(Bessel(typ='K')(x,y))
--        sage: f.derivative('_SAGE_VAR_x')
--        (%pi*csc(%pi*_SAGE_VAR_x) *('diff(bessel_i(-_SAGE_VAR_x,_SAGE_VAR_y),_SAGE_VAR_x,1) -'diff(bessel_i(_SAGE_VAR_x,_SAGE_VAR_y),_SAGE_VAR_x,1))) /2 -%pi*bessel_k(_SAGE_VAR_x,_SAGE_VAR_y)*cot(%pi*_SAGE_VAR_x)
--        sage: f.derivative('_SAGE_VAR_y')
--        -(bessel_k(_SAGE_VAR_x+1,_SAGE_VAR_y)+bessel_k(_SAGE_VAR_x-1, _SAGE_VAR_y))/2
-+        sage: f = Bessel(typ='K')(x,y)
-+        sage: expected = f.derivative(y)
-+        sage: actual = maxima(f).derivative('_SAGE_VAR_y').sage()
-+        sage: bool(actual == expected)
-+        True
- 
-     Compute the particular solution to Bessel's Differential Equation that
-     satisfies `y(1) = 1` and `y'(1) = 1`, then verify the initial conditions
-diff --git a/src/sage/functions/hypergeometric.py b/src/sage/functions/hypergeometric.py
-index 752b8422fc6..fc2fb5875ce 100644
---- a/src/sage/functions/hypergeometric.py
-+++ b/src/sage/functions/hypergeometric.py
-@@ -19,8 +19,11 @@
-     sage: sum(((2*I)^x/(x^3 + 1)*(1/4)^x), x, 0, oo)
-     hypergeometric((1, 1, -1/2*I*sqrt(3) - 1/2, 1/2*I*sqrt(3) - 1/2),...
-     (2, -1/2*I*sqrt(3) + 1/2, 1/2*I*sqrt(3) + 1/2), 1/2*I)
--    sage: sum((-1)^x/((2*x + 1)*factorial(2*x + 1)), x, 0, oo)
-+    sage: res = sum((-1)^x/((2*x + 1)*factorial(2*x + 1)), x, 0, oo)
-+    sage: res  # not tested - depends on maxima version
-     hypergeometric((1/2,), (3/2, 3/2), -1/4)
-+    sage: res in [hypergeometric((1/2,), (3/2, 3/2), -1/4), sin_integral(1)]
-+    True
- 
- Simplification (note that ``simplify_full`` does not yet call
- ``simplify_hypergeometric``)::
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index 7398c763971..6127f5d9490 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -974,7 +974,7 @@ def __init__(self):
-             sage: chebyshev_U(x, x)._sympy_()
-             chebyshevu(x, x)
-             sage: maxima(chebyshev_U(2,x, hold=True))
--            3*((-(8*(1-_SAGE_VAR_x))/3)+(4*(1-_SAGE_VAR_x)^2)/3+1)
-+            3*(...-...(8*(1-_SAGE_VAR_x))/3)+(4*(1-_SAGE_VAR_x)^2)/3+1)
-             sage: maxima(chebyshev_U(n,x, hold=True))
-             chebyshev_u(_SAGE_VAR_n,_SAGE_VAR_x)
-         """
-diff --git a/src/sage/functions/other.py b/src/sage/functions/other.py
-index 3e2570e889e..5a0f06a27f8 100644
---- a/src/sage/functions/other.py
-+++ b/src/sage/functions/other.py
-@@ -498,10 +498,10 @@ def __init__(self):
-             <class 'sage.rings.integer.Integer'>
-             sage: var('x')
-             x
--            sage: a = floor(5.4 + x); a
--            floor(x + 5.40000000000000)
-+            sage: a = floor(5.25 + x); a
-+            floor(x + 5.25000000000000)
-             sage: a.simplify()
--            floor(x + 0.4000000000000004) + 5
-+            floor(x + 0.25) + 5
-             sage: a(x=2)
-             7
- 
-diff --git a/src/sage/functions/special.py b/src/sage/functions/special.py
-index faa6a73cc7e..d72e780836a 100644
---- a/src/sage/functions/special.py
-+++ b/src/sage/functions/special.py
-@@ -455,9 +455,8 @@ class EllipticE(BuiltinFunction):
-         sage: z = var("z")
-         sage: elliptic_e(z, 1)
-         elliptic_e(z, 1)
--        sage: # this is still wrong: must be abs(sin(z)) + 2*round(z/pi)
--        sage: elliptic_e(z, 1).simplify()
--        2*round(z/pi) + sin(z)
-+        sage: elliptic_e(z, 1).simplify() # not tested - gives wrong answer with maxima < 5.47
-+        2*round(z/pi) - sin(pi*round(z/pi) - z)
-         sage: elliptic_e(z, 0)
-         z
-         sage: elliptic_e(0.5, 0.1)  # abs tol 2e-15
-diff --git a/src/sage/interfaces/interface.py b/src/sage/interfaces/interface.py
-index 6baa4eb597c..f8237d3ad94 100644
---- a/src/sage/interfaces/interface.py
-+++ b/src/sage/interfaces/interface.py
-@@ -1579,20 +1579,20 @@ def _mul_(self, right):
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)') # not a function!
-+            sage: g = maxima('cos(x)') # not a function!
-             sage: f*g
--            -cos(x)*sin(x)
-+            cos(x)*sin(x)
-             sage: _(2)
--            -cos(2)*sin(2)
-+            cos(2)*sin(2)
- 
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: g*f
--            -cos(x)*sin(x)
-+            cos(x)*sin(x)
-             sage: _(2)
--            -cos(2)*sin(2)
-+            cos(2)*sin(2)
-             sage: 2*f
-             2*sin(x)
-         """
-@@ -1612,20 +1612,20 @@ def _div_(self, right):
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: f/g
--            -sin(x)/cos(x)
-+            sin(x)/cos(x)
-             sage: _(2)
--            -sin(2)/cos(2)
-+            sin(2)/cos(2)
- 
-         ::
- 
-             sage: f = maxima.function('x','sin(x)')
--            sage: g = maxima('-cos(x)')
-+            sage: g = maxima('cos(x)')
-             sage: g/f
--            -cos(x)/sin(x)
-+            cos(x)/sin(x)
-             sage: _(2)
--            -cos(2)/sin(2)
-+            cos(2)/sin(2)
-             sage: 2/f
-             2/sin(x)
-         """
-diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
-index 4829560f98b..959e75459a2 100644
---- a/src/sage/interfaces/maxima.py
-+++ b/src/sage/interfaces/maxima.py
-@@ -49,9 +49,14 @@
- 
- ::
- 
-+    sage: x,y = SR.var('x,y')
-     sage: F = maxima.factor('x^5 - y^5')
--    sage: F
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: F # not tested - depends on maxima version
-+    -((y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4))
-+    sage: actual = F.sage()
-+    sage: expected = -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: bool(actual == expected)
-+    True
-     sage: type(F)
-     <class 'sage.interfaces.maxima.MaximaElement'>
- 
-@@ -71,18 +76,19 @@
- 
- ::
- 
-+    sage: F = maxima('x * y')
-     sage: repr(F)
--    '-(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)'
-+    'x*y'
-     sage: F.str()
--    '-(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)'
-+    'x*y'
- 
- The ``maxima.eval`` command evaluates an expression in
- maxima and returns the result as a *string* not a maxima object.
- 
- ::
- 
--    sage: print(maxima.eval('factor(x^5 - y^5)'))
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    sage: print(maxima.eval('factor(x^5 - 1)'))
-+    (x-1)*(x^4+x^3+x^2+x+1)
- 
- We can create the polynomial `f` as a Maxima polynomial,
- then call the factor method on it. Notice that the notation
-@@ -91,11 +97,11 @@
- 
- ::
- 
--    sage: f = maxima('x^5 - y^5')
-+    sage: f = maxima('x^5 + y^5')
-     sage: f^2
--    (x^5-y^5)^2
-+    (y^5+x^5)^2
-     sage: f.factor()
--    -(y-x)*(y^4+x*y^3+x^2*y^2+x^3*y+x^4)
-+    (y+x)*(y^4-x*y^3+x^2*y^2-x^3*y+x^4)
- 
- Control-C interruption works well with the maxima interface,
- because of the excellent implementation of maxima. For example, try
-@@ -161,20 +167,20 @@
- 
-     sage: eqn = maxima(['a+b*c=1', 'b-a*c=0', 'a+b=5'])
-     sage: s = eqn.solve('[a,b,c]'); s
--    [[a = -(sqrt(79)*%i-11)/4,b = (sqrt(79)*%i+9)/4, c = (sqrt(79)*%i+1)/10], [a = (sqrt(79)*%i+11)/4,b = -(sqrt(79)*%i-9)/4, c = -(sqrt(79)*%i-1)/10]]
-+    [[a = -...(sqrt(79)*%i-11)/4...,b = (sqrt(79)*%i+9)/4, c = (sqrt(79)*%i+1)/10], [a = (sqrt(79)*%i+11)/4,b = -...(sqrt(79)*%i-9)/4..., c = -...(sqrt(79)*%i-1)/10...]]
- 
- Here is an example of solving an algebraic equation::
- 
-     sage: maxima('x^2+y^2=1').solve('y')
-     [y = -sqrt(1-x^2),y = sqrt(1-x^2)]
-     sage: maxima('x^2 + y^2 = (x^2 - y^2)/sqrt(x^2 + y^2)').solve('y')
--    [y = -sqrt(((-y^2)-x^2)*sqrt(y^2+x^2)+x^2), y = sqrt(((-y^2)-x^2)*sqrt(y^2+x^2)+x^2)]
-+    [y = -sqrt((...-y^2...-x^2)*sqrt(y^2+x^2)+x^2), y = sqrt((...-y^2...-x^2)*sqrt(y^2+x^2)+x^2)]
- 
- 
- You can even nicely typeset the solution in latex::
- 
-     sage: latex(s)
--    \left[ \left[ a=-{{\sqrt{79}\,i-11}\over{4}} , b={{\sqrt{79}\,i+9  }\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right]  , \left[ a={{  \sqrt{79}\,i+11}\over{4}} , b=-{{\sqrt{79}\,i-9}\over{4}} , c=-{{  \sqrt{79}\,i-1}\over{10}} \right]  \right]
-+    \left[ \left[ a=-...{{\sqrt{79}\,i-11}\over{4}}... , b={{...\sqrt{79}\,i+9...}\over{4}} , c={{\sqrt{79}\,i+1}\over{10}} \right]  , \left[ a={{...\sqrt{79}\,i+11}\over{4}} , b=-...{{\sqrt{79}\,i-9...}\over{4}}... , c=-...{{...\sqrt{79}\,i-1}\over{10}}... \right]  \right]
- 
- To have the above appear onscreen via ``xdvi``, type
- ``view(s)``. (TODO: For OS X should create pdf output
-@@ -200,7 +206,7 @@
-     sage: f.diff('x')
-     k*x^3*%e^(k*x)*sin(w*x)+3*x^2*%e^(k*x)*sin(w*x)+w*x^3*%e^(k*x) *cos(w*x)
-     sage: f.integrate('x')
--    (((k*w^6+3*k^3*w^4+3*k^5*w^2+k^7)*x^3 +(3*w^6+3*k^2*w^4-3*k^4*w^2-3*k^6)*x^2+((-18*k*w^4)-12*k^3*w^2+6*k^5)*x-6*w^4 +36*k^2*w^2-6*k^4) *%e^(k*x)*sin(w*x) +(((-w^7)-3*k^2*w^5-3*k^4*w^3-k^6*w)*x^3 +(6*k*w^5+12*k^3*w^3+6*k^5*w)*x^2+(6*w^5-12*k^2*w^3-18*k^4*w)*x-24*k*w^3 +24*k^3*w) *%e^(k*x)*cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8)
-+    (((k*w^6+3*k^3*w^4+3*k^5*w^2+k^7)*x^3 +(3*w^6+3*k^2*w^4-3*k^4*w^2-3*k^6)*x^2+(...-...18*k*w^4)-12*k^3*w^2+6*k^5)*x-6*w^4 +36*k^2*w^2-6*k^4) *%e^(k*x)*sin(w*x) +((...-w^7...-3*k^2*w^5-3*k^4*w^3-k^6*w)*x^3...+(6*k*w^5+12*k^3*w^3+6*k^5*w)*x^2...+(6*w^5-12*k^2*w^3-18*k^4*w)*x-24*k*w^3 +24*k^3*w) *%e^(k*x)*cos(w*x)) /(w^8+4*k^2*w^6+6*k^4*w^4+4*k^6*w^2+k^8)
- 
- ::
- 
-@@ -234,7 +240,7 @@
-     sage: A.eigenvalues()
-     [[0,4],[3,1]]
-     sage: A.eigenvectors()
--    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-4/3]],[[1,2,3,4]]]]
-+    [[[0,4],[3,1]],[[[1,0,0,-4],[0,1,0,-2],[0,0,1,-...4/3...]],[[1,2,3,4]]]]
- 
- We can also compute the echelon form in Sage::
- 
-@@ -287,12 +293,12 @@
- ::
- 
-     sage: maxima("laplace(diff(x(t),t,2),t,s)")
--    (-%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s
-+    ...-...%at('diff(x(t),t,1),t = 0))+s^2*'laplace(x(t),t,s)-x(0)*s
- 
- It is difficult to read some of these without the 2d
- representation::
- 
--    sage: print(maxima("laplace(diff(x(t),t,2),t,s)"))
-+    sage: print(maxima("laplace(diff(x(t),t,2),t,s)")) # not tested - depends on maxima version
-                              !
-                     d        !          2
-                  (- -- (x(t))!     ) + s  laplace(x(t), t, s) - x(0) s
-@@ -396,7 +402,7 @@
- 
-     sage: g = maxima('exp(3*%i*x)/(6*%i) + exp(%i*x)/(2*%i) + c')
-     sage: latex(g)
--    -{{i\,e^{3\,i\,x}}\over{6}}-{{i\,e^{i\,x}}\over{2}}+c
-+    -...{{i\,e^{3\,i\,x}}\over{6}}...-{{i\,e^{i\,x}}\over{2}}+c
- 
- Long Input
- ----------
-@@ -684,7 +690,7 @@ def _expect_expr(self, expr=None, timeout=None):
-             sage: maxima.assume('a>0')
-             [a > 0]
-             sage: maxima('integrate(1/(x^3*(a+b*x)^(1/3)),x)')
--            (-(b^2*log((b*x+a)^(2/3)+a^(1/3)*(b*x+a)^(1/3)+a^(2/3)))/(9*a^(7/3))) +(2*b^2*atan((2*(b*x+a)^(1/3)+a^(1/3))/(sqrt(3)*a^(1/3))))/(3^(3/2)*a^(7/3)) +(2*b^2*log((b*x+a)^(1/3)-a^(1/3)))/(9*a^(7/3)) +(4*b^2*(b*x+a)^(5/3)-7*a*b^2*(b*x+a)^(2/3)) /(6*a^2*(b*x+a)^2-12*a^3*(b*x+a)+6*a^4)
-+            ...-...(b^2*log((b*x+a)^(2/3)+a^(1/3)*(b*x+a)^(1/3)+a^(2/3)))/(9*a^(7/3))) +(2*b^2*atan((2*(b*x+a)^(1/3)+a^(1/3))/(sqrt(3)*a^(1/3))))/(3^(3/2)*a^(7/3)) +(2*b^2*log((b*x+a)^(1/3)-a^(1/3)))/(9*a^(7/3)) +(4*b^2*(b*x+a)^(5/3)-7*a*b^2*(b*x+a)^(2/3)) /(6*a^2*(b*x+a)^2-12*a^3*(b*x+a)+6*a^4)
-             sage: maxima('integrate(x^n,x)')
-             Traceback (most recent call last):
-             ...
-diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
-index 4f6306ba4fc..aecfcba5e23 100644
---- a/src/sage/interfaces/maxima_abstract.py
-+++ b/src/sage/interfaces/maxima_abstract.py
-@@ -856,9 +856,9 @@ def de_solve(self, de, vars, ics=None):
-             sage: maxima.de_solve('diff(y,x,2) + 3*x = y', ['x','y'])
-             y = %k1*%e^x+%k2*%e^-x+3*x
-             sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y'])
--            y = (%c-3*((-x)-1)*%e^-x)*%e^x
-+            y = (%c-3*(...-x...-1)*%e^-x)*%e^x
-             sage: maxima.de_solve('diff(y,x) + 3*x = y', ['x','y'],[1,1])
--            y = -%e^-1*(5*%e^x-3*%e*x-3*%e)
-+            y = -...%e^-1*(5*%e^x-3*%e*x-3*%e)...
-         """
-         if not isinstance(vars, str):
-             str_vars = '%s, %s'%(vars[1], vars[0])
-@@ -1572,8 +1572,9 @@ def integral(self, var='x', min=None, max=None):
- 
-         ::
- 
--            sage: f = maxima('exp(x^2)').integral('x',0,1); f
--            -(sqrt(%pi)*%i*erf(%i))/2
-+            sage: f = maxima('exp(x^2)').integral('x',0,1)
-+            sage: f.sage()
-+            -1/2*I*sqrt(pi)*erf(I)
-             sage: f.numer()
-             1.46265174590718...
-         """
-diff --git a/src/sage/interfaces/maxima_lib.py b/src/sage/interfaces/maxima_lib.py
-index bba8504aa92..cd1be891872 100644
---- a/src/sage/interfaces/maxima_lib.py
-+++ b/src/sage/interfaces/maxima_lib.py
-@@ -134,10 +134,11 @@
- else:
-     ecl_eval("(require 'maxima)")
- ecl_eval("(in-package :maxima)")
--ecl_eval("(setq $nolabels t))")
--ecl_eval("(defvar *MAXIMA-LANG-SUBDIR* NIL)")
- ecl_eval("(set-locale-subdir)")
- 
-+# This workaround has to happen before any call to (set-pathnames).
-+# To be safe please do not call anything other than
-+# (set-locale-subdir) before this block.
- try:
-     ecl_eval("(set-pathnames)")
- except RuntimeError:
-@@ -154,6 +155,8 @@
-     # Call `(set-pathnames)` again to complete its job.
-     ecl_eval("(set-pathnames)")
- 
-+ecl_eval("(initialize-runtime-globals)")
-+ecl_eval("(setq $nolabels t))")
- ecl_eval("(defun add-lineinfo (x) x)")
- ecl_eval('(defun principal nil (cond ($noprincipal (diverg)) ((not pcprntd) (merror "Divergent Integral"))))')
- ecl_eval("(remprop 'mfactorial 'grind)")  # don't use ! for factorials (#11539)
-diff --git a/src/sage/matrix/matrix1.pyx b/src/sage/matrix/matrix1.pyx
-index f38c429d994..47df9fc80a5 100644
---- a/src/sage/matrix/matrix1.pyx
-+++ b/src/sage/matrix/matrix1.pyx
-@@ -248,7 +248,7 @@ cdef class Matrix(Matrix0):
-             sage: a = maxima(m); a
-             matrix([0,1,2],[3,4,5],[6,7,8])
-             sage: a.charpoly('x').expand()
--            (-x^3)+12*x^2+18*x
-+            ...-x^3...+12*x^2+18*x
-             sage: m.charpoly()
-             x^3 - 12*x^2 - 18*x
-         """
-diff --git a/src/sage/modules/free_module_element.pyx b/src/sage/modules/free_module_element.pyx
-index 0532ea0c9bd..6ea2bd4473d 100644
---- a/src/sage/modules/free_module_element.pyx
-+++ b/src/sage/modules/free_module_element.pyx
-@@ -4053,7 +4053,7 @@ cdef class FreeModuleElement(Vector):   # abstract base class
-             sage: t=var('t')
-             sage: r=vector([t,t^2,sin(t)])
-             sage: vec,answers=r.nintegral(t,0,1)
--            sage: vec
-+            sage: vec # abs tol 1e-15
-             (0.5, 0.3333333333333334, 0.4596976941318602)
-             sage: type(vec)
-             <class 'sage.modules.vector_real_double_dense.Vector_real_double_dense'>
-diff --git a/src/sage/symbolic/relation.py b/src/sage/symbolic/relation.py
-index a72ab547c76..51dcaf8d847 100644
---- a/src/sage/symbolic/relation.py
-+++ b/src/sage/symbolic/relation.py
-@@ -657,7 +657,7 @@ def solve(f, *args, **kwds):
-     equations, at times approximations will be given by Maxima, due to the
-     underlying algorithm::
- 
--        sage: sols = solve([x^3==y,y^2==x], [x,y]); sols[-1], sols[0]
-+        sage: sols = solve([x^3==y,y^2==x], [x,y]); sols[-1], sols[0] # abs tol 1e-15
-         ([x == 0, y == 0],
-          [x == (0.3090169943749475 + 0.9510565162951535*I),
-           y == (-0.8090169943749475 - 0.5877852522924731*I)])
diff --git a/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch b/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
deleted file mode 100644
index 4d01eeabee6c9..0000000000000
--- a/srcpkgs/sagemath/patches/35825-singular_4.3.2p2.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-index ea027e8a716..a1fe036917e 100644
---- a/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-+++ b/src/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py
-@@ -1251,7 +1251,7 @@ def leinartas_decomposition(self):
-             sage: H = R(f.denominator())
-             sage: ff = FFPD(G, H.factor())
-             sage: decomp = ff.leinartas_decomposition()
--            sage: decomp
-+            sage: decomp  # random - non canonical depends on singular version
-             (0, []) +
-             (-(x*y^2*sin(x) + x^2*y + x*y + y*sin(x) + x)*y, [(y, 1)]) +
-             ((x*y^2*sin(x) + x^2*y + x*y + y*sin(x) + x)*x*y, [(x*y + 1, 1)]) +
-@@ -1611,9 +1611,7 @@ def asymptotics(self, p, alpha, N, asy_var=None, numerical=0,
-             (-16, [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 2)])
-             sage: alpha = [3, 3, 2]
-             sage: decomp = F.asymptotic_decomposition(alpha); decomp
--            (0, []) +
--            (16*r*(3/x - 2/z) + 16/x - 16/z,
--             [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 1)])
-+            (0, []) + (..., [(x + 2*y + z - 4, 1), (2*x + y + z - 4, 1)])
-             sage: F1 = decomp[1]
-             sage: p = {x: 1, y: 1, z: 1}
-             sage: asy = F1.asymptotics(p, alpha, 2, verbose=True) # long time
diff --git a/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch b/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
deleted file mode 100644
index 426f841ebbab6..0000000000000
--- a/srcpkgs/sagemath/patches/35826-numpy_1.25.0.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff --git a/src/sage/calculus/desolvers.py b/src/sage/calculus/desolvers.py
-index 55ed3a0fe10..4cfa22a97e4 100644
---- a/src/sage/calculus/desolvers.py
-+++ b/src/sage/calculus/desolvers.py
-@@ -1598,7 +1598,7 @@ def desolve_odeint(des, ics, times, dvars, ivar=None, compute_jac=False, args=()
-         sage: ic=epsilon
-         sage: t=srange(0,2/epsilon,1)
-         sage: sol=desolve_odeint(f,ic,t,y,rtol=1e-9,atol=1e-10,compute_jac=True)
--        sage: p=points(zip(t,sol))
-+        sage: p=points(zip(t,sol[:,0]))
-         sage: p.show()
- 
-     Another stiff system with some optional parameters with no
-@@ -1637,7 +1637,7 @@ def desolve_odeint_inner(ivar):
-                 J = fast_float(J, dvar, ivar)
- 
-                 def Dfun(y, t):
--                    return [J(y, t)]
-+                    return [J(y.item(), t)]
- 
-         # n-dimensional systems:
-         else:
-diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx
-index d5402d5c3b0..a00912951c5 100644
---- a/src/sage/matrix/matrix2.pyx
-+++ b/src/sage/matrix/matrix2.pyx
-@@ -430,12 +430,12 @@ cdef class Matrix(Matrix1):
-             try:
-                 return self.transpose().solve_right(B, check=check)
-             except ValueError as e:
--                raise ValueError(str(e).replace('row', 'column'))
-+                raise e.__class__(str(e).replace('row', 'column'))
-         else:
-             try:
-                 return self.transpose().solve_right(B.transpose(), check=check).transpose()
-             except ValueError as e:
--                raise ValueError(str(e).replace('row', 'column'))
-+                raise e.__class__(str(e).replace('row', 'column'))
- 
-     def solve_right(self, B, check=True):
-         r"""
-diff --git a/src/sage/matrix/matrix_numpy_dense.pyx b/src/sage/matrix/matrix_numpy_dense.pyx
-index 5b75ed133ff..17867f9a65c 100644
---- a/src/sage/matrix/matrix_numpy_dense.pyx
-+++ b/src/sage/matrix/matrix_numpy_dense.pyx
-@@ -382,8 +382,9 @@ cdef class Matrix_numpy_dense(Matrix_dense):
-             sage: m = matrix(RDF,[[1,2],[3,4]])
-             sage: n = m.numpy()
-             sage: import numpy
--            sage: numpy.linalg.eig(n)
--            (array([-0.37228132,  5.37228132]), array([[-0.82456484, -0.41597356],
-+            sage: tuple(numpy.linalg.eig(n))
-+            (array([-0.37228132,  5.37228132]),
-+             array([[-0.82456484, -0.41597356],
-                    [ 0.56576746, -0.90937671]]))
-             sage: m = matrix(RDF, 2, range(6)); m
-             [0.0 1.0 2.0]
-diff --git a/src/sage/plot/plot3d/list_plot3d.py b/src/sage/plot/plot3d/list_plot3d.py
-index d64b766001e..0158f856dbb 100644
---- a/src/sage/plot/plot3d/list_plot3d.py
-+++ b/src/sage/plot/plot3d/list_plot3d.py
-@@ -602,7 +602,7 @@ def g(x, y):
-         from .parametric_surface import ParametricSurface
- 
-         def g(x, y):
--            z = f([x, y])
-+            z = f([x, y]).item()
-             return (x, y, z)
-         G = ParametricSurface(g, (list(numpy.r_[xmin:xmax:num_points * j]),
-                                   list(numpy.r_[ymin:ymax:num_points * j])),
-diff --git a/src/sage/plot/plot3d/plot3d.py b/src/sage/plot/plot3d/plot3d.py
-index e9bbfaa8370..9ba89595d70 100644
---- a/src/sage/plot/plot3d/plot3d.py
-+++ b/src/sage/plot/plot3d/plot3d.py
-@@ -378,7 +378,7 @@ def to_cartesian(self, func, params=None):
-             ....: [ 0.16763356,  0.19993708,  0.31403568,  0.47359696, 0.55282422],
-             ....: [ 0.16763356,  0.25683223,  0.16649297,  0.10594339, 0.55282422]])
-             sage: import scipy.interpolate
--            sage: f=scipy.interpolate.RectBivariateSpline(v_phi,v_theta,m_r)
-+            sage: f=scipy.interpolate.RectBivariateSpline(v_phi,v_theta,m_r).ev
-             sage: spherical_plot3d(f,(0,2*pi),(0,pi))
-             Graphics3d Object
- 
diff --git a/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch b/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
deleted file mode 100644
index dec7851e027d1..0000000000000
--- a/srcpkgs/sagemath/patches/35831-setuptools_68.0.0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage/all__sagemath_repl.py b/src/sage/all__sagemath_repl.py
-index 6800eb9a27b..8d0b43679ca 100644
---- a/src/sage/all__sagemath_repl.py
-+++ b/src/sage/all__sagemath_repl.py
-@@ -44,7 +44,7 @@
- warnings.filterwarnings('ignore', category=DeprecationWarning,
-     message='pkg_resources is deprecated as an API|'
-             'Deprecated call to `pkg_resources.declare_namespace(.*)`',
--    module='pkg_resources')
-+    module='pkg_resources|setuptools.sandbox')
- warnings.filterwarnings('ignore', category=DeprecationWarning,
-     message='msvccompiler is deprecated and slated to be removed',
-     module='distutils.msvccompiler')
diff --git a/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch b/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
new file mode 100644
index 0000000000000..7c55bce6e9bb4
--- /dev/null
+++ b/srcpkgs/sagemath/patches/35934-singular_4.3.2p7.patch
@@ -0,0 +1,221 @@
+diff --git a/build/pkgs/singular/checksums.ini b/build/pkgs/singular/checksums.ini
+index 313463d2fea..1101fc55700 100644
+--- a/build/pkgs/singular/checksums.ini
++++ b/build/pkgs/singular/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=singular-VERSION.tar.gz
+-sha1=28bb3ee97ef48d04dfa96de182fd93eebe08426c
+-md5=fc0a4f5720dadba45a52ee94324ce00c
+-cksum=1573851737
+-upstream_url=ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-3-1/singular-VERSION.tar.gz
++sha1=df1997f412580f2073295aba569bb955ad227317
++md5=50349213e206a18cdaa1bc410dde7ea4
++cksum=376854707
++upstream_url=ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/SOURCES/4-3-2/singular-VERSION.tar.gz
+diff --git a/build/pkgs/singular/package-version.txt b/build/pkgs/singular/package-version.txt
+index 66e2bede53a..9f1bf008217 100644
+--- a/build/pkgs/singular/package-version.txt
++++ b/build/pkgs/singular/package-version.txt
+@@ -1 +1 @@
+-4.3.1p3
++4.3.2p7
+diff --git a/build/pkgs/singular/spkg-configure.m4 b/build/pkgs/singular/spkg-configure.m4
+index 6a85631f624..f7621ec5fa1 100644
+--- a/build/pkgs/singular/spkg-configure.m4
++++ b/build/pkgs/singular/spkg-configure.m4
+@@ -6,14 +6,27 @@ SAGE_SPKG_CONFIGURE([singular], [
+     AS_IF([test -z "${SINGULAR_BIN}"], [sage_spkg_install_singular=yes], [
+       dnl Use pkg-config to ensure that Singular is new enough.
+       PKG_CHECK_MODULES([SINGULAR], [Singular >= 4.2.1], [
+-       AC_MSG_CHECKING([that Singular's help is working])
+-       AS_IF([test x`printf "system(\"--browser\", \"builtin\"); \n help;" | Singular 2>&1 | grep "error occurred"` = x], [
+-        AC_MSG_RESULT(yes)
+-       ], [
+-       AC_MSG_RESULT(no)
+-       sage_spkg_install_singular=yes
+-       ]
+-      )], [
++        AC_MSG_CHECKING([whether Singular is built with FLINT])
++        AC_COMPILE_IFELSE([
++          AC_LANG_PROGRAM([
++            #include <singular/singularconfig.h>
++            #if !defined(HAVE_FLINT)
++            #  error "Need Singular compiled with FLINT"
++          ], [])
++        ], [
++          AC_MSG_RESULT([yes])
++          AC_MSG_CHECKING([that Singular's help is working])
++          AS_IF([test x`printf "system(\"--browser\", \"builtin\"); \n help;" | Singular 2>&1 | grep "error occurred"` = x], [
++            AC_MSG_RESULT(yes)
++          ], [
++            AC_MSG_RESULT(no)
++            sage_spkg_install_singular=yes
++          ])
++        ], [
++          AC_MSG_RESULT([no])
++          sage_spkg_install_singular=yes
++        ])
++      ], [
+       dnl pkg-config version check failed
+       sage_spkg_install_singular=yes
+       ])
+diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
+index b15cc1c602c..4b5c76e2bfa 100644
+--- a/src/sage/interfaces/singular.py
++++ b/src/sage/interfaces/singular.py
+@@ -604,8 +604,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+             sage: i = singular.ideal(['x^2','y^2','z^2'])
+             sage: s = i.std()
+             sage: singular.eval('hilb(%s)'%(s.name()))
+-            '// 1 t^0\n// -3 t^2\n// 3 t^4\n// -1 t^6\n\n// 1 t^0\n//
+-            3 t^1\n// 3 t^2\n// 1 t^3\n// dimension (affine) = 0\n//
++            '...// dimension (affine) = 0\n//
+             degree (affine) = 8'
+ 
+         ::
+@@ -613,15 +612,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+             sage: from sage.misc.verbose import set_verbose
+             sage: set_verbose(1)
+             sage: o = singular.eval('hilb(%s)'%(s.name()))
+-            //         1 t^0
+-            //        -3 t^2
+-            //         3 t^4
+-            //        -1 t^6
+-            //         1 t^0
+-            //         3 t^1
+-            //         3 t^2
+-            //         1 t^3
+-            // dimension (affine) = 0
++            ...// dimension (affine) = 0
+             // degree (affine)  = 8
+ 
+         This is mainly useful if this method is called implicitly. Because
+@@ -631,15 +622,7 @@ def eval(self, x, allow_semicolon=True, strip=True, **kwds):
+         ::
+ 
+             sage: o = s.hilb()
+-            //         1 t^0
+-            //        -3 t^2
+-            //         3 t^4
+-            //        -1 t^6
+-            //         1 t^0
+-            //         3 t^1
+-            //         3 t^2
+-            //         1 t^3
+-            // dimension (affine) = 0
++            ...// dimension (affine) = 0
+             // degree (affine)  = 8
+             // ** right side is not a datum, assignment ignored
+             ...
+diff --git a/src/sage/libs/singular/function.pyx b/src/sage/libs/singular/function.pyx
+index f40346d1fd0..c597c63aafe 100644
+--- a/src/sage/libs/singular/function.pyx
++++ b/src/sage/libs/singular/function.pyx
+@@ -1241,32 +1241,22 @@ cdef class SingularFunction(SageObject):
+             sage: I = Ideal([x^3*y^2 + 3*x^2*y^2*z + y^3*z^2 + z^5])
+             sage: I = Ideal(I.groebner_basis())
+             sage: hilb = sage.libs.singular.function_factory.ff.hilb
+-            sage: hilb(I) # Singular will print // ** _ is no standard basis
+-            // ** _ is no standard basis
+-            //         1 t^0
+-            //        -1 t^5
+-            <BLANKLINE>
+-            //         1 t^0
+-            //         1 t^1
+-            //         1 t^2
+-            //         1 t^3
+-            //         1 t^4
+-            // dimension (proj.)  = 1
+-            // degree (proj.)   = 5
++            sage: from sage.misc.sage_ostools import redirection
++            sage: out = tmp_filename()
++            sage: with redirection(sys.stdout,  open(out, 'w')):
++            ....:     hilb(I) # Singular will print // ** _ is no standard basis
++            sage: with open(out) as f:
++            ....:     'is no standard basis' in f.read()
++            True
+ 
+         So we tell Singular that ``I`` is indeed a Groebner basis::
+ 
+-            sage: hilb(I,attributes={I:{'isSB':1}}) # no complaint from Singular
+-            //         1 t^0
+-            //        -1 t^5
+-            <BLANKLINE>
+-            //         1 t^0
+-            //         1 t^1
+-            //         1 t^2
+-            //         1 t^3
+-            //         1 t^4
+-            // dimension (proj.)  = 1
+-            // degree (proj.)   = 5
++            sage: out = tmp_filename()
++            sage: with redirection(sys.stdout,  open(out, 'w')):
++            ....:     hilb(I,attributes={I:{'isSB':1}}) # no complaint from Singular
++            sage: with open(out) as f:
++            ....:     'is no standard basis' in f.read()
++            False
+ 
+ 
+         TESTS:
+diff --git a/src/sage/rings/polynomial/multi_polynomial_ideal.py b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+index 22ada6de947..80352700872 100644
+--- a/src/sage/rings/polynomial/multi_polynomial_ideal.py
++++ b/src/sage/rings/polynomial/multi_polynomial_ideal.py
+@@ -3132,13 +3132,16 @@ def hilbert_numerator(self, grading=None, algorithm='sage'):
+             sage: I.hilbert_numerator()                                                 # needs sage.rings.number_field
+             -t^5 + 1
+ 
+-        This example returns a wrong answer due to an integer overflow in Singular::
++        This example returns a wrong answer in singular < 4.3.2p4 due to an integer overflow::
+ 
+             sage: n=4; m=11; P = PolynomialRing(QQ, n*m, "x"); x = P.gens(); M = Matrix(n, x)
+             sage: I = P.ideal(M.minors(2))
+             sage: J = P * [m.lm() for m in I.groebner_basis()]
+-            sage: J.hilbert_numerator(algorithm='singular')
+-            ...120*t^33 - 3465*t^32 + 48180*t^31 - ...
++            sage: J.hilbert_numerator(algorithm='singular') # known bug
++            Traceback (most recent call last):
++            ....
++            RuntimeError: error in Singular function call 'hilb':
++            overflow at t^22
+ 
+         Our two algorithms should always agree; not tested until
+         :trac:`33178` is fixed::
+diff --git a/src/sage/sandpiles/sandpile.py b/src/sage/sandpiles/sandpile.py
+index 02d2021b2fb..c8e15e06f05 100644
+--- a/src/sage/sandpiles/sandpile.py
++++ b/src/sage/sandpiles/sandpile.py
+@@ -2493,9 +2493,15 @@ def _set_ideal(self):
+             sage: '_ideal' in S.__dict__
+             True
+         """
++        from sage.libs.singular.function_factory import ff
++        try:
++            sat = ff.elim__lib.sat_with_exp
++        except NameError:
++            sat = ff.elim__lib.sat
+         R = self.ring()
+-        I = self._unsaturated_ideal._singular_()
+-        self._ideal = R.ideal(I.sat(prod(R.gens())._singular_())[1])
++        I = self._unsaturated_ideal
++        I_sat_gens = sat(I, prod(R.gens()))[0]
++        self._ideal = R.ideal(I_sat_gens)
+ 
+     def unsaturated_ideal(self):
+         r"""
+diff --git a/src/sage/schemes/projective/projective_subscheme.py b/src/sage/schemes/projective/projective_subscheme.py
+index e6caf19ba74..afd6484d779 100644
+--- a/src/sage/schemes/projective/projective_subscheme.py
++++ b/src/sage/schemes/projective/projective_subscheme.py
+@@ -1001,7 +1001,10 @@ def dual(self):
+         for i in range(n + 1):
+             J = J + S.ideal(z[-1] * f_S.derivative(z[i]) - z[i + n + 1])
+ 
+-        sat = ff.elim__lib.sat
++        try:
++            sat = ff.elim__lib.sat_with_exp
++        except NameError:
++            sat = ff.elim__lib.sat
+ 
+         max_ideal = S.ideal(z[n + 1: 2 * n + 2])
+         J_sat_gens = sat(J, max_ideal)[0]
diff --git a/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
new file mode 100644
index 0000000000000..91a77de342935
--- /dev/null
+++ b/srcpkgs/sagemath/patches/36006-gmp_6.3.0.patch
@@ -0,0 +1,38 @@
+diff --git a/src/sage/ext/memory.pyx b/src/sage/ext/memory.pyx
+index 1de6dedab82..b95130b19dd 100644
+--- a/src/sage/ext/memory.pyx
++++ b/src/sage/ext/memory.pyx
+@@ -3,14 +3,14 @@ Low-level memory allocation functions
+ 
+ TESTS:
+ 
+-Check that a ``MemoryError`` is raised if we try to allocate a
++Check that an error is raised if we try to allocate a
+ ridiculously large integer, see :trac:`15363`::
+ 
+-    sage: 2^(2^63-3)
+-    Traceback (most recent call last):
+-    ...
+-    OverflowError: exponent must be at most 2147483647         # 32-bit
+-    RuntimeError: Aborted                                      # 64-bit
++    sage: try:
++    ....:     2^(2^63-3)
++    ....: except (OverflowError, RuntimeError, FloatingPointError):
++    ....:     print ('Overflow error')
++    ...Overflow error
+ 
+ AUTHORS:
+ 
+diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
+index 2cd080ddafa..090ab59cb28 100644
+--- a/src/sage/rings/integer.pyx
++++ b/src/sage/rings/integer.pyx
+@@ -6654,7 +6654,7 @@ cdef class Integer(sage.structure.element.EuclideanDomainElement):
+             sage: try:
+             ....:     print('Possible error output from gmp', flush=True)
+             ....:     1 << (2^60)
+-            ....: except (MemoryError, OverflowError, RuntimeError):
++            ....: except (MemoryError, OverflowError, RuntimeError, FloatingPointError):
+             ....:     pass
+             ....: else:
+             ....:     print("Failed to raise exception")
diff --git a/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch b/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch
new file mode 100644
index 0000000000000..3d2a4bd9cd96f
--- /dev/null
+++ b/srcpkgs/sagemath/patches/36046-fix_memory_leak.patch
@@ -0,0 +1,740 @@
+diff --git a/src/sage/ext_data/valgrind/valgrind-python.supp b/src/sage/ext_data/valgrind/valgrind-python.supp
+new file mode 100644
+index 00000000000..16aa2858484
+--- /dev/null
++++ b/src/sage/ext_data/valgrind/valgrind-python.supp
+@@ -0,0 +1,480 @@
++# From the CPython repository with the suppressions for _PyObject_Free
++# and _PyObject_Realloc enabled. See the upstream suppression file for
++# details:
++#
++# https://github.com/python/cpython/blob/main/Misc/valgrind-python.supp
++
++# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64 aka amd64)
++   Memcheck:Value8
++   fun:address_in_range
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:address_in_range
++}
++
++#
++# Leaks (including possible leaks)
++#    Hmmm, I wonder if this masks some real leaks.  I think it does.
++#    Will need to fix that.
++#
++
++{
++   Suppress leaking the GIL after a fork.
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_allocate_lock
++   fun:PyEval_ReInitThreads
++}
++
++{
++   Suppress leaking the autoTLSkey.  This looks like it shouldn't leak though.
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_create_key
++   fun:_PyGILState_Init
++   fun:Py_InitializeEx
++   fun:Py_Main
++}
++
++{
++   Hmmm, is this a real leak or like the GIL?
++   Memcheck:Leak
++   fun:malloc
++   fun:PyThread_ReInitTLS
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:realloc
++   fun:_PyObject_GC_Resize
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:malloc
++   fun:_PyObject_GC_New
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++{
++   Handle PyMalloc confusing valgrind (possibly leaked)
++   Memcheck:Leak
++   fun:malloc
++   fun:_PyObject_GC_NewVar
++   fun:COMMENT_THIS_LINE_TO_DISABLE_LEAK_WARNING
++}
++
++#
++# Non-python specific leaks
++#
++
++{
++   Handle pthread issue (possibly leaked)
++   Memcheck:Leak
++   fun:calloc
++   fun:allocate_dtv
++   fun:_dl_allocate_tls_storage
++   fun:_dl_allocate_tls
++}
++
++{
++   Handle pthread issue (possibly leaked)
++   Memcheck:Leak
++   fun:memalign
++   fun:_dl_allocate_tls_storage
++   fun:_dl_allocate_tls
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Addr8
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Value8
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:_PyObject_Free
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Addr4
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Invalid read of size 4
++   Memcheck:Value4
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Addr8
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Use of uninitialised value of size 8
++   Memcheck:Value8
++   fun:_PyObject_Realloc
++}
++
++{
++   ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
++   Memcheck:Cond
++   fun:_PyObject_Realloc
++}
++
++###
++### All the suppressions below are for errors that occur within libraries
++### that Python uses.  The problems to not appear to be related to Python's
++### use of the libraries.
++###
++
++{
++   Generic ubuntu ld problems
++   Memcheck:Addr8
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++   obj:/lib/ld-2.4.so
++}
++
++{
++   Generic gentoo ld problems
++   Memcheck:Cond
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++   obj:/lib/ld-2.3.4.so
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Param
++   write(buf)
++   fun:write
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_close
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Value8
++   fun:memmove
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Cond
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   DBM problems, see test_dbm
++   Memcheck:Cond
++   fun:memmove
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   obj:/usr/lib/libdb1.so.2
++   fun:dbm_store
++   fun:dbm_ass_sub
++}
++
++{
++   GDBM problems, see test_gdbm
++   Memcheck:Param
++   write(buf)
++   fun:write
++   fun:gdbm_open
++
++}
++
++{
++   Uninitialised byte(s) false alarm, see bpo-35561
++   Memcheck:Param
++   epoll_ctl(event)
++   fun:epoll_ctl
++   fun:pyepoll_internal_ctl
++}
++
++{
++   ZLIB problems, see test_gzip
++   Memcheck:Cond
++   obj:/lib/libz.so.1.2.3
++   obj:/lib/libz.so.1.2.3
++   fun:deflate
++}
++
++{
++   Avoid problems w/readline doing a putenv and leaking on exit
++   Memcheck:Leak
++   fun:malloc
++   fun:xmalloc
++   fun:sh_set_lines_and_columns
++   fun:_rl_get_screen_size
++   fun:_rl_init_terminal_io
++   obj:/lib/libreadline.so.4.3
++   fun:rl_initialize
++}
++
++# Valgrind emits "Conditional jump or move depends on uninitialised value(s)"
++# false alarms on GCC builtin strcmp() function. The GCC code is correct.
++#
++# Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=264936
++{
++   bpo-38118: Valgrind emits false alarm on GCC builtin strcmp()
++   Memcheck:Cond
++   fun:PyUnicode_Decode
++}
++
++
++###
++### These occur from somewhere within the SSL, when running
++###  test_socket_sll.  They are too general to leave on by default.
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Cond
++###   fun:memset
++###}
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Value4
++###   fun:memset
++###}
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Cond
++###   fun:MD5_Update
++###}
++###
++###{
++###   somewhere in SSL stuff
++###   Memcheck:Value4
++###   fun:MD5_Update
++###}
++
++# Fedora's package "openssl-1.0.1-0.1.beta2.fc17.x86_64" on x86_64
++# See http://bugs.python.org/issue14171
++{
++   openssl 1.0.1 prng 1
++   Memcheck:Cond
++   fun:bcmp
++   fun:fips_get_entropy
++   fun:FIPS_drbg_instantiate
++   fun:RAND_init_fips
++   fun:OPENSSL_init_library
++   fun:SSL_library_init
++   fun:init_hashlib
++}
++
++{
++   openssl 1.0.1 prng 2
++   Memcheck:Cond
++   fun:fips_get_entropy
++   fun:FIPS_drbg_instantiate
++   fun:RAND_init_fips
++   fun:OPENSSL_init_library
++   fun:SSL_library_init
++   fun:init_hashlib
++}
++
++{
++   openssl 1.0.1 prng 3
++   Memcheck:Value8
++   fun:_x86_64_AES_encrypt_compact
++   fun:AES_encrypt
++}
++
++#
++# All of these problems come from using test_socket_ssl
++#
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_bin2bn
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_num_bits_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:BN_num_bits_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_mod_exp_mont_word
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BN_mod_exp_mont
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Param
++   write(buf)
++   fun:write
++   obj:/usr/lib/libcrypto.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:RSA_verify
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:RSA_verify
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:DES_set_key_unchecked
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:DES_encrypt2
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   obj:/usr/lib/libssl.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   obj:/usr/lib/libssl.so.0.9.7
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:BUF_MEM_grow_clean
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:memcpy
++   fun:ssl3_read_bytes
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Cond
++   fun:SHA1_Update
++}
++
++{
++   from test_socket_ssl
++   Memcheck:Value4
++   fun:SHA1_Update
++}
++
++{
++   test_buffer_non_debug
++   Memcheck:Addr4
++   fun:PyUnicodeUCS2_FSConverter
++}
++
++{
++   test_buffer_non_debug
++   Memcheck:Addr4
++   fun:PyUnicode_FSConverter
++}
++
++{
++   wcscmp_false_positive
++   Memcheck:Addr8
++   fun:wcscmp
++   fun:_PyOS_GetOpt
++   fun:Py_Main
++   fun:main
++}
++
++# Additional suppressions for the unified decimal tests:
++{
++   test_decimal
++   Memcheck:Addr4
++   fun:PyUnicodeUCS2_FSConverter
++}
++
++{
++   test_decimal2
++   Memcheck:Addr4
++   fun:PyUnicode_FSConverter
++}
++
+diff --git a/src/sage/symbolic/ginac/numeric.cpp b/src/sage/symbolic/ginac/numeric.cpp
+index b40ed64edb5..8c55861c147 100644
+--- a/src/sage/symbolic/ginac/numeric.cpp
++++ b/src/sage/symbolic/ginac/numeric.cpp
+@@ -1576,6 +1576,62 @@ const numeric numeric::div(const numeric &other) const {
+         }
+ }
+ 
++
++// Compute `a^b` as an integer, where a is an integer. Assign to ``res``` if it is integral, or return ``false``.
++// The nonnegative real root is taken for even denominators. To be used inside numeric::integer_rational_power,
++// to handle the special case of integral ``a``.
++bool integer_rational_power_of_mpz(
++        numeric& res,
++        const numeric& a,
++        const numeric& b
++) {
++        if (a.t != MPZ)
++                throw std::runtime_error("integer_rational_power_of_mpz: bad input");
++        mpz_t z;
++        mpz_init(z);
++        mpz_set_ui(z, 0);
++        int sgn = mpz_sgn(a.v._bigint);
++        if (mpz_cmp_ui(a.v._bigint, 1) == 0
++            or mpz_cmp_ui(mpq_numref(b.v._bigrat), 0) == 0)
++                mpz_set_ui(z, 1);
++        else if (sgn == 0) {
++                res = *_num0_p;
++                mpz_clear(z);
++                return true;
++        }
++        else if (sgn < 0 and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1)) {
++                mpz_clear(z);
++                return false;
++        } else {
++                if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
++                    or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat))) {
++                        // too big to take roots/powers
++                        mpz_clear(z);
++                        return false;
++                }
++                if (mpz_cmp_ui(mpq_denref(b.v._bigrat), 2) == 0) {
++                        if (mpz_perfect_square_p(a.v._bigint)) {
++                                mpz_sqrt(z, a.v._bigint);
++                        } else {
++                                mpz_clear(z);
++                                return false;
++                        }
++                }
++                else {
++                        bool exact = mpz_root(z, a.v._bigint,
++                                              mpz_get_ui(mpq_denref(b.v._bigrat)));
++                        if (not exact) {
++                                mpz_clear(z);
++                                return false;
++                        }
++                }
++                mpz_pow_ui(z, z, mpz_get_ui(mpq_numref(b.v._bigrat)));
++        }
++        res = numeric(z);   // transfers ownership, no mpz_clear
++        return true;
++}
++
++
+ // Compute `a^b` as an integer, if it is integral, or return ``false``.
+ // The nonnegative real root is taken for even denominators.
+ bool numeric::integer_rational_power(numeric& res,
+@@ -1598,13 +1654,12 @@ bool numeric::integer_rational_power(numeric& res,
+                 if (a.v._long < 0
+                     and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1))
+                         return false;
+-                long z;
+                 if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
+                     or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat)))
+                 // too big to take roots/powers
+                         return false;
+                 if (b.is_equal(*_num1_2_p)) {
+-                        z = std::lround(std::sqrt(a.v._long));
++                        long z = std::lround(std::sqrt(a.v._long));
+                         if (a.v._long == z*z) {
+                                 res = numeric(z);
+                                 return true;
+@@ -1613,44 +1668,11 @@ bool numeric::integer_rational_power(numeric& res,
+                 }
+                 return integer_rational_power(res, a.to_bigint(), b);
+         }
+-        if (a.t != MPZ)
+-                throw std::runtime_error("integer_rational_power: bad input");
+-        int sgn = mpz_sgn(a.v._bigint);
+-        mpz_t z;
+-        mpz_init(z);
+-        mpz_set_ui(z, 0);
+-        if (mpz_cmp_ui(a.v._bigint, 1) == 0
+-            or mpz_cmp_ui(mpq_numref(b.v._bigrat), 0) == 0)
+-                mpz_set_ui(z, 1);
+-        else if (sgn == 0) {
+-                res = *_num0_p;
+-                return true;
+-        }
+-        else if (sgn < 0 and mpz_cmp_ui(mpq_denref(b.v._bigrat), 1))
+-                return false;
+-        else {
+-                if (not mpz_fits_ulong_p(mpq_numref(b.v._bigrat))
+-                    or not mpz_fits_ulong_p(mpq_denref(b.v._bigrat)))
+-                // too big to take roots/powers
+-                        return false;
+-                if (mpz_cmp_ui(mpq_denref(b.v._bigrat), 2) == 0) {
+-                        if (mpz_perfect_square_p(a.v._bigint))
+-                                mpz_sqrt(z, a.v._bigint);
+-                        else
+-                                return false;
+-                }
+-                else {
+-                        bool exact = mpz_root(z, a.v._bigint,
+-                                        mpz_get_ui(mpq_denref(b.v._bigrat)));
+-                        if (not exact)
+-                                return false;
+-                }
+-                mpz_pow_ui(z, z, mpz_get_ui(mpq_numref(b.v._bigrat)));
+-        }
+-        res = numeric(z);
+-        return true;
++        // otherwise: a is integer
++        return integer_rational_power_of_mpz(res, a, b);
+ }
+ 
++
+ // for a^b return c,d such that a^b = c*d^b
+ // only for MPZ/MPQ base and MPQ exponent
+ void rational_power_parts(const numeric& a_orig, const numeric& b_orig,
+diff --git a/src/sage/tests/memcheck/__init__.py b/src/sage/tests/memcheck/__init__.py
+new file mode 100644
+index 00000000000..e69de29bb2d
+diff --git a/src/sage/tests/memcheck/run_tests.py b/src/sage/tests/memcheck/run_tests.py
+new file mode 100644
+index 00000000000..6ff4503a81b
+--- /dev/null
++++ b/src/sage/tests/memcheck/run_tests.py
+@@ -0,0 +1,24 @@
++import types
++
++
++def run_tests() -> None:
++    """
++    Run all memcheck tests
++    """
++    from sage.tests.memcheck import symbolic_expression
++    run_tests_in_module(symbolic_expression)
++
++
++def run_tests_in_module(mod: types.ModuleType) -> None:
++    """
++    Run all memcheck tests in the given module
++    """
++    for entry in dir(mod):
++        if not entry.startswith('test_'):
++            continue
++        test_func = getattr(mod, entry)
++        test_func()
++
++
++if __name__ == '__main__':
++    run_tests()
+diff --git a/src/sage/tests/memcheck/run_tests_in_valgrind.py b/src/sage/tests/memcheck/run_tests_in_valgrind.py
+new file mode 100644
+index 00000000000..df5ad0e92b2
+--- /dev/null
++++ b/src/sage/tests/memcheck/run_tests_in_valgrind.py
+@@ -0,0 +1,35 @@
++"""
++Launch valgrind and run the memory leak tests
++
++
++From the commandline, run
++
++    sage -python -m sage.tests.memcheck.run_tests_in_valgrind
++
++to launch valgrind and execute the memory leak tests. Requires valgrind
++to be installed. Alternatively, run as a unit test:
++
++    sage: from sage.tests.memcheck.run_tests_in_valgrind import run_tests_in_valgrind
++    sage: run_tests_in_valgrind()    # optional - valgrind
++"""
++
++import subprocess
++
++
++def run_tests_in_valgrind() -> None:
++    """
++    Run the sage.tests.memcheck.run_tests module inside valgrind
++    """
++    subprocess.check_call([
++        'valgrind',
++        '--suppressions=src/sage/ext_data/valgrind/valgrind-python.supp',
++        '--show-possibly-lost=no',
++        '--show-reachable=no',
++        './venv/bin/python',
++        '-m',
++        'sage.tests.memcheck.run_tests'
++    ])
++
++
++if __name__ == '__main__':
++    run_tests_in_valgrind()
+diff --git a/src/sage/tests/memcheck/symbolic_expression.py b/src/sage/tests/memcheck/symbolic_expression.py
+new file mode 100644
+index 00000000000..52182fbe62d
+--- /dev/null
++++ b/src/sage/tests/memcheck/symbolic_expression.py
+@@ -0,0 +1,11 @@
++from sage.tests.memcheck.verify_no_leak import verify_no_leak
++
++
++def test_sqrt_sqrt_2() -> None:
++    from sage.misc.functional import sqrt
++    T2 = sqrt(2)
++
++    def sqrt_T2() -> None:
++        sqrt(T2)
++
++    verify_no_leak(sqrt_T2)
+diff --git a/src/sage/tests/memcheck/verify_no_leak.py b/src/sage/tests/memcheck/verify_no_leak.py
+new file mode 100644
+index 00000000000..89ca90cf89c
+--- /dev/null
++++ b/src/sage/tests/memcheck/verify_no_leak.py
+@@ -0,0 +1,27 @@
++from typing import Tuple, Sequence, List, Callable, Any
++import valgrind
++
++
++def verify_no_leak(callback: Callable[[], Any],
++                   repeat: int = 10000,
++                   fuzzy: int = 10,
++                   ) -> None:
++    """
++    Verify that the callback does not generate new definitely lost blocks
++
++    Raises an assertion if the callback leaks memory
++    """
++    callback()   # warm_up
++    initial_blocks = (0, 0, 0, 0)
++    valgrind.memcheck_do_leak_check()
++    initial_blocks = valgrind.memcheck_count_leak_blocks()
++    for _ in range(repeat):
++        callback()
++    valgrind.memcheck_do_leak_check()
++    leak_blocks = valgrind.memcheck_count_leak_blocks()
++    leak = leak_blocks[0] - initial_blocks[0]
++    if leak < repeat - fuzzy:
++        return  # callback did not leak at least once per call
++    blocks = round(leak / repeat, 2)
++    message = f'{callback} leaked {blocks} block on average ({repeat} iterations)'
++    raise AssertionError(message)
diff --git a/srcpkgs/sagemath/patches/get_patches b/srcpkgs/sagemath/patches/get_patches
index 888c66f779e09..c2c5aa1c7eccd 100755
--- a/srcpkgs/sagemath/patches/get_patches
+++ b/srcpkgs/sagemath/patches/get_patches
@@ -1,7 +1,9 @@
 #! /bin/sh
 
+version=10.1
+
 URL_BASE_PR="https://github.com/sagemath/sage/pull/"
-URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/10.0..."
+URL_BASE_COMPARE="https://github.com/sagemath/sage/compare/${version}..."
 
 case "$1" in
 	-n)  DO=echo ;;
@@ -18,18 +20,10 @@ get_pr() {
 # run from patches dir
 cd $(dirname "$0")
 
-# merged in 10.0.beta0
-get_pr 35584 "networkx 3.1"
-
-# merged in 10.0.beta1
-get_pr 35612 "linbox 1.7.0"
-get_pr 35635 "sympy 1.12"
-get_pr 35619 "maxima 5.46.0"
+# merged in 10.2.beta0
+#get_pr  36018   "singular 4.3.2p4" # included in #35934
+get_pr  36046   "fix memory leak"
 
 # positive review
-get_pr 35707 "maxima 5.47.0"
-get_pr 35831 "setuptools 68.0.0"
-
-# needs review
-get_pr 35825 "singular 4.3.2p2"
-get_pr 35826 "numpy 1.25.0"
+get_pr  35934   "singular 4.3.2p7"
+get_pr  36006   "gmp 6.3.0"
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 2491d77dbc8d9..bccf7d3a28d23 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,13 +1,13 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=10.0
-revision=2
+version=10.1
+revision=1
 build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -15,10 +15,10 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  mpfr-devel ntl-devel openblas-devel pari-devel planarity-devel python3-cypari2
  python3-cysignals python3-devel python3-gmpy2 python3-memory_allocator
  python3-numpy rankwidth-devel singular symmetrica-devel"
-depends="FlintQS eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
+depends="eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig
@@ -30,18 +30,15 @@ checkdepends="$depends pythran python3-Sphinx"
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
-homepage="http://sagemath.org/"
+homepage="https://www.sagemath.org/"
 changelog="https://github.com/sagemath/sage/releases"
 distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
-checksum=60858efd0d1f2526486740962bf72c99f9141a56caf8395f3291fded276faf55
+checksum=a658612b1b2376ddaf207cc8ed0ef458d4c2880c16e19139bedbe8baa42ad62f
 nocross="due to ntl (flintlib), fflas-ffpack, givaro, linbox, cysignals, sympow, maxima"
 
-do_configure() {
+post_patch() {
 	# git tree needs bootstrapping
-	( cd $wrksrc/build/pkgs/sagelib &&
-	  PATH=../../bin:$PATH \
-	  BOOTSTRAP_QUIET=no \
-	  ./bootstrap )
+	$wrksrc/bootstrap sagelib
 }
 
 pre_build() {
diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From b43e8cc6044d3577c2030ab13b46eef05c21d0a5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 21:50:11 -0400
Subject: [PATCH 31/31] xpra: update to 5.0.

---
 srcpkgs/xpra/patches/setup.patch | 13 +------------
 srcpkgs/xpra/template            |  8 ++++----
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/xpra/patches/setup.patch b/srcpkgs/xpra/patches/setup.patch
index 237f04308b1a7..9870936cabf46 100644
--- a/srcpkgs/xpra/patches/setup.patch
+++ b/srcpkgs/xpra/patches/setup.patch
@@ -1,6 +1,4 @@
-Make sure the build script pulls the right CFLAGS and prevent -Werror. In
-addition, remove a stray CUDA README that is only supposed to installed when
-CUDA is actually available.
+Make sure the build script pulls the right CFLAGS and prevent -Werror.
 
 --- a/setup.py
 +++ b/setup.py
@@ -31,12 +29,3 @@ CUDA is actually available.
              if NETBSD:
                  #see: http://trac.cython.org/ticket/395
                  addcflags("-fno-strict-aliasing")
-@@ -2252,8 +2252,6 @@
-         if nvjpeg_encoder_ENABLED or nvjpeg_decoder_ENABLED:
-             add_data_files("", glob.glob(f"{CUDA_BIN_DIR}/nvjpeg64*dll"))
- 
--add_data_files(CUDA_BIN, ["fs/share/xpra/cuda/README.md"])
--
- tace(nvenc_ENABLED, "xpra.codecs.nvenc.encoder", "nvenc",
-      extra_compile_args="-Wno-error=sign-compare" if get_gcc_version()<(8, ) else None)
- 
diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index 0a63fdb6c7437..d3ee36ce48ca4 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.4.6
+version=5.0
 revision=1
 build_style=python3-module
 make_build_args="--without-cuda_kernels --without-cuda_rebuild"
@@ -8,17 +8,17 @@ make_install_args="$(vopt_with docs) ${make_build_args}"
 hostmakedepends="pkg-config python3-Cython $(vopt_if docs pandoc)"
 makedepends="ffmpeg-devel libXcomposite-devel libXrandr-devel libXtst-devel
  libvpx-devel libwebp-devel libxkbfile-devel python3-gobject-devel x264-devel
- x265-devel gtk+3-devel pam-devel libXres-devel liblz4-devel"
+ gtk+3-devel pam-devel libXres-devel liblz4-devel libavif-devel procps-ng-devel"
 depends="cups python3-gobject python3-Pillow python3-cups python3-dbus
  python3-lz4 python3-paramiko python3-rencode xauth xf86-video-dummy
- xorg-server-xvfb"
+ xorg-server-xvfb python3-typing_extensions python3-cairo"
 short_desc="Persistent remote display server and client for X11 clients"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=7fec998cf9816df3f0fa5ded01903b07211b0c36a7316c9e9bf6db8b80fb477a
+checksum=69bf2da133a6ee28ad4e3a849f997b32e5bab4f4b616ff5acd0811e8ac9e4c14
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 # Tests don't run properly without package installed
 make_check=no

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (25 preceding siblings ...)
  2023-08-31 14:01 ` ahesford
@ 2023-09-01 14:36 ` ahesford
  2023-09-01 15:13 ` ahesford
                   ` (3 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-09-01 14:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 47166 bytes --]

From 483e63df86efcc1074f99fd3d9246d184439b083 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From 6a064d31d6a9756159b40170d08d30e6f243f0ae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 092a60b5665ff1cd7b27be46dd939462fc85dfb4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 68f1d18786215dbd12136539e503da94eeab904c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 066c89aec15aad4bd8d01af1c2f7e59fa4fba8f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-warning.patch         | 13 ++++++++
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
new file mode 100644
index 0000000000000..98cad9625e402
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
+index c86e085..a98c8d1 100644
+--- a/src/cysignals/signals.pxd.in
++++ b/src/cysignals/signals.pxd.in
+@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
+ # can be used to make Cython check whether there is a pending exception
+ # (PyErr_Occurred() is non-NULL). To Cython, it will look like
+ # cython_check_exception() actually raised the exception.
+-cdef inline void cython_check_exception() nogil except *:
++cdef inline void cython_check_exception() except * nogil:
+     pass
+ 
+ 
diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 337b58b3ab40d68978cbdaa690e10a8c1577a939 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 106c9222d2ad369f4db72447dbd63de20aa74e16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From f262e63abff69f15c7c6b37d768936b9c7581f5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: build with python3-Cython0.29

---
 .../patches/fix-rel-imports.patch             | 22 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  4 ++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/fix-rel-imports.patch

diff --git a/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..fe6b08dba40f2 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -1,9 +1,9 @@
 # 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"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-cysignals python3-gmpy2 python3-devel gmp-devel
  gmpxx-devel ppl-devel mpfr-devel libmpc-devel pari-devel"
 depends="python3"

From fd6e9e789ce4268e6dbea95a2e17c6909cdcc8f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From a0d6e5ef351ded1dc18332cba88680704ef516e2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From d83d8b6d04e36e7c284ebf49d1c266f7dd8e314a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 695ffe49432c788c21a701aa0f92af1f8e5e9616 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 49a9e3fe19e54a89d520b5c96d1d711698c5f901 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 701ab2fd02a123339c746385a9f4d5e2fdd9d2cb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 4dccbc8dc590a424b7b6c8fdb12253e51ee575a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 3de22d627b3c19dea212b14a7fa73acf55d0ff9e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 30d4e950dc9e9bca193b7de30a134bd4a792912a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From dcb0467195d14d653c17544f0635cc971356fbbe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 253c4bbcd1a162fc3cabf3ab0ca9bbab8db39c42 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 3c31c04274a780bcd49f11e9db6c81de00982713 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From dea9ed1e6bf0a4736c0484dc7025db2c364d0cdc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 4c110a255fe18e173e1764305035a195f1e17109 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From b7b225a6d38c65d1d709df6d86c4fe0defecfd26 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 6237b3f40f6c67354e0cb3344400548acd893f91 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From 599f809cbfd3730ac34c3cb4802479932f5c4e15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From b67c77b0f783475a2de41e435564babba9437341 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From a1bcfe427410555e69290cca9584b2a414596885 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 47ae0adab126be7724e28405ce376e868126890e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..1e2721e335922 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,12 +1,12 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.4
-revision=1
+revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 7625140b2fb6705f98cc3a15ef72d9fab686c784 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 835670b603a67db1380217e0c10d17bad3b39aaa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/31] sagemath: update to 10.1.

---
 srcpkgs/sagemath/template  | 6 +++---
 srcpkgs/vidcutter/template | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index a2ee32c69a952..bccf7d3a28d23 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -6,8 +6,8 @@ build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -18,7 +18,7 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
 depends="eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig
diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From b5700c54f369bce356db0d4d7c4eaf54ccddc5fe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 21:50:11 -0400
Subject: [PATCH 31/31] xpra: update to 5.0.

---
 srcpkgs/xpra/patches/setup.patch | 13 +------------
 srcpkgs/xpra/template            |  8 ++++----
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/xpra/patches/setup.patch b/srcpkgs/xpra/patches/setup.patch
index 237f04308b1a7..9870936cabf46 100644
--- a/srcpkgs/xpra/patches/setup.patch
+++ b/srcpkgs/xpra/patches/setup.patch
@@ -1,6 +1,4 @@
-Make sure the build script pulls the right CFLAGS and prevent -Werror. In
-addition, remove a stray CUDA README that is only supposed to installed when
-CUDA is actually available.
+Make sure the build script pulls the right CFLAGS and prevent -Werror.
 
 --- a/setup.py
 +++ b/setup.py
@@ -31,12 +29,3 @@ CUDA is actually available.
              if NETBSD:
                  #see: http://trac.cython.org/ticket/395
                  addcflags("-fno-strict-aliasing")
-@@ -2252,8 +2252,6 @@
-         if nvjpeg_encoder_ENABLED or nvjpeg_decoder_ENABLED:
-             add_data_files("", glob.glob(f"{CUDA_BIN_DIR}/nvjpeg64*dll"))
- 
--add_data_files(CUDA_BIN, ["fs/share/xpra/cuda/README.md"])
--
- tace(nvenc_ENABLED, "xpra.codecs.nvenc.encoder", "nvenc",
-      extra_compile_args="-Wno-error=sign-compare" if get_gcc_version()<(8, ) else None)
- 
diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index 0a63fdb6c7437..d3ee36ce48ca4 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.4.6
+version=5.0
 revision=1
 build_style=python3-module
 make_build_args="--without-cuda_kernels --without-cuda_rebuild"
@@ -8,17 +8,17 @@ make_install_args="$(vopt_with docs) ${make_build_args}"
 hostmakedepends="pkg-config python3-Cython $(vopt_if docs pandoc)"
 makedepends="ffmpeg-devel libXcomposite-devel libXrandr-devel libXtst-devel
  libvpx-devel libwebp-devel libxkbfile-devel python3-gobject-devel x264-devel
- x265-devel gtk+3-devel pam-devel libXres-devel liblz4-devel"
+ gtk+3-devel pam-devel libXres-devel liblz4-devel libavif-devel procps-ng-devel"
 depends="cups python3-gobject python3-Pillow python3-cups python3-dbus
  python3-lz4 python3-paramiko python3-rencode xauth xf86-video-dummy
- xorg-server-xvfb"
+ xorg-server-xvfb python3-typing_extensions python3-cairo"
 short_desc="Persistent remote display server and client for X11 clients"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=7fec998cf9816df3f0fa5ded01903b07211b0c36a7316c9e9bf6db8b80fb477a
+checksum=69bf2da133a6ee28ad4e3a849f997b32e5bab4f4b616ff5acd0811e8ac9e4c14
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 # Tests don't run properly without package installed
 make_check=no

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Updated] python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (26 preceding siblings ...)
  2023-09-01 14:36 ` ahesford
@ 2023-09-01 15:13 ` ahesford
  2023-09-01 17:32 ` [PR PATCH] [Closed]: " ahesford
                   ` (2 subsequent siblings)
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-09-01 15:13 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages python3-Cython-3.0.0
https://github.com/void-linux/void-packages/pull/45086

python3-Cython: update to 3.0.1.
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

A patch file from https://github.com/void-linux/void-packages/pull/45086.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-Cython-3.0.0-45086.patch --]
[-- Type: text/x-diff, Size: 47170 bytes --]

From 483e63df86efcc1074f99fd3d9246d184439b083 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 13:18:36 -0400
Subject: [PATCH 01/31] python3-Cython: update to 3.0.2.

---
 srcpkgs/python3-Cython/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-Cython/template b/srcpkgs/python3-Cython/template
index 2daf981d349b4..59b34a747da5b 100644
--- a/srcpkgs/python3-Cython/template
+++ b/srcpkgs/python3-Cython/template
@@ -1,25 +1,26 @@
 # Template file for 'python3-Cython'
 pkgname=python3-Cython
-version=0.29.36
+version=3.0.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3-setuptools"
-short_desc="C-Extensions for Python3"
+short_desc="Python to C compiler"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 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=9594818dca8bb22ae6580c5222da2bc5cc32334350bd2d294a00d8669bcc61b5
 # Tests are flaky
 make_check=no
 
 alternatives="
  cython:cygdb:/usr/bin/cygdb3
  cython:cython:/usr/bin/cython3
- cython:cythonize:/usr/bin/cythonize3"
+ cython:cythonize:/usr/bin/cythonize3
+"
 
 post_install() {
 	mv ${DESTDIR}/usr/bin/cygdb{,3}

From 6a064d31d6a9756159b40170d08d30e6f243f0ae Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:17:50 -0400
Subject: [PATCH 02/31] New package: python3-Cython0.29-0.29.36

---
 srcpkgs/python3-Cython0.29/template | 31 +++++++++++++++++++++++++++++
 srcpkgs/python3-Cython0.29/update   |  3 +++
 2 files changed, 34 insertions(+)
 create mode 100644 srcpkgs/python3-Cython0.29/template
 create mode 100644 srcpkgs/python3-Cython0.29/update

diff --git a/srcpkgs/python3-Cython0.29/template b/srcpkgs/python3-Cython0.29/template
new file mode 100644
index 0000000000000..61b0a69041e15
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/template
@@ -0,0 +1,31 @@
+# Template file for 'python3-Cython0.29'
+pkgname=python3-Cython0.29
+version=0.29.36
+revision=1
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+depends="python3-setuptools"
+short_desc="Python to C compiler (legacy version)"
+maintainer="Andrew J. Hesford <ajh@sideband.org>"
+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
+# Test are flaky
+make_check=no
+
+conflicts="python3-Cython>=0"
+
+alternatives="
+ cython:cygdb:/usr/bin/cygdb3
+ cython:cython:/usr/bin/cython3
+ cython:cythonize:/usr/bin/cythonize3
+"
+
+post_install() {
+	mv ${DESTDIR}/usr/bin/cygdb{,3}
+	mv ${DESTDIR}/usr/bin/cython{,3}
+	mv ${DESTDIR}/usr/bin/cythonize{,3}
+}
diff --git a/srcpkgs/python3-Cython0.29/update b/srcpkgs/python3-Cython0.29/update
new file mode 100644
index 0000000000000..7fbe21105b46e
--- /dev/null
+++ b/srcpkgs/python3-Cython0.29/update
@@ -0,0 +1,3 @@
+pkgname=Cython
+pattern="Cython-\K0\.[\d\.]+(?=.tar.gz)"
+ignore="*[A-Za-z]*"

From 092a60b5665ff1cd7b27be46dd939462fc85dfb4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 17 Jul 2023 16:11:36 -0400
Subject: [PATCH 03/31] python3-yaml: patch and rebuild for Cython 3

---
 srcpkgs/python3-yaml/patches/cython3.patch | 11 +++++++++++
 srcpkgs/python3-yaml/template              |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-yaml/patches/cython3.patch

diff --git a/srcpkgs/python3-yaml/patches/cython3.patch b/srcpkgs/python3-yaml/patches/cython3.patch
new file mode 100644
index 0000000000000..601e79891aac3
--- /dev/null
+++ b/srcpkgs/python3-yaml/patches/cython3.patch
@@ -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:
diff --git a/srcpkgs/python3-yaml/template b/srcpkgs/python3-yaml/template
index f281f217fa403..ab7417caf44c9 100644
--- a/srcpkgs/python3-yaml/template
+++ b/srcpkgs/python3-yaml/template
@@ -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"

From 68f1d18786215dbd12136539e503da94eeab904c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 18 Jul 2023 09:40:26 -0400
Subject: [PATCH 04/31] python3-scikit-learn: update to 1.3.0.

---
 .../patches/numpy-version.patch                    | 11 +++++++++++
 srcpkgs/python3-scikit-learn/template              | 14 ++++++++------
 2 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-scikit-learn/patches/numpy-version.patch

diff --git a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
new file mode 100644
index 0000000000000..0ffb53e3433e9
--- /dev/null
+++ b/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
@@ -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
diff --git a/srcpkgs/python3-scikit-learn/template b/srcpkgs/python3-scikit-learn/template
index 9fc96efd4ab17..aed65406cad2b 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -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}"
 

From 066c89aec15aad4bd8d01af1c2f7e59fa4fba8f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 10:36:33 -0300
Subject: [PATCH 05/31] python3-cysignals: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-warning.patch         | 13 ++++++++
 .../patches/cython3-legacy.patch              | 30 +++++++++++++++++++
 srcpkgs/python3-cysignals/template            |  2 +-
 3 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
 create mode 100644 srcpkgs/python3-cysignals/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
new file mode 100644
index 0000000000000..98cad9625e402
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-fix-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/src/cysignals/signals.pxd.in b/src/cysignals/signals.pxd.in
+index c86e085..a98c8d1 100644
+--- a/src/cysignals/signals.pxd.in
++++ b/src/cysignals/signals.pxd.in
+@@ -54,7 +54,7 @@ cdef extern from "macros.h" nogil:
+ # can be used to make Cython check whether there is a pending exception
+ # (PyErr_Occurred() is non-NULL). To Cython, it will look like
+ # cython_check_exception() actually raised the exception.
+-cdef inline void cython_check_exception() nogil except *:
++cdef inline void cython_check_exception() except * nogil:
+     pass
+ 
+ 
diff --git a/srcpkgs/python3-cysignals/patches/cython3-legacy.patch b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..274575d5d3539
--- /dev/null
+++ b/srcpkgs/python3-cysignals/patches/cython3-legacy.patch
@@ -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):
diff --git a/srcpkgs/python3-cysignals/template b/srcpkgs/python3-cysignals/template
index bd9563353ba07..739cbc91a96b0 100644
--- a/srcpkgs/python3-cysignals/template
+++ b/srcpkgs/python3-cysignals/template
@@ -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"

From 337b58b3ab40d68978cbdaa690e10a8c1577a939 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:13:30 -0300
Subject: [PATCH 06/31] python3-cypari2: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 32 +++++++++++++++++++
 srcpkgs/python3-cypari2/template              |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-cypari2/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-cypari2/patches/cython3-legacy.patch b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..41392fe80d736
--- /dev/null
+++ b/srcpkgs/python3-cypari2/patches/cython3-legacy.patch
@@ -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)
diff --git a/srcpkgs/python3-cypari2/template b/srcpkgs/python3-cypari2/template
index 8ac4dd3a56247..8d46c443e960c 100644
--- a/srcpkgs/python3-cypari2/template
+++ b/srcpkgs/python3-cypari2/template
@@ -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"

From 106c9222d2ad369f4db72447dbd63de20aa74e16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 20:40:19 -0300
Subject: [PATCH 07/31] python3-fpylll: patch and rebuild for Cython 3

---
 .../patches/cython3-legacy.patch              | 37 +++++++++++++++++++
 srcpkgs/python3-fpylll/template               |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-fpylll/patches/cython3-legacy.patch

diff --git a/srcpkgs/python3-fpylll/patches/cython3-legacy.patch b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..808c14e9c1b47
--- /dev/null
+++ b/srcpkgs/python3-fpylll/patches/cython3-legacy.patch
@@ -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);
+ }
+ 
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index e4fd9584c795d..8880d5fa6173c 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -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

From f262e63abff69f15c7c6b37d768936b9c7581f5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 19 Jul 2023 21:04:33 -0300
Subject: [PATCH 08/31] python3-pplpy: build with python3-Cython0.29

---
 .../patches/fix-rel-imports.patch             | 22 +++++++++++++++++++
 srcpkgs/python3-pplpy/template                |  4 ++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/python3-pplpy/patches/fix-rel-imports.patch

diff --git a/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
new file mode 100644
index 0000000000000..21bc2a5214df4
--- /dev/null
+++ b/srcpkgs/python3-pplpy/patches/fix-rel-imports.patch
@@ -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
+
diff --git a/srcpkgs/python3-pplpy/template b/srcpkgs/python3-pplpy/template
index 67139ff96031f..fe6b08dba40f2 100644
--- a/srcpkgs/python3-pplpy/template
+++ b/srcpkgs/python3-pplpy/template
@@ -1,9 +1,9 @@
 # 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"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-cysignals python3-gmpy2 python3-devel gmp-devel
  gmpxx-devel ppl-devel mpfr-devel libmpc-devel pari-devel"
 depends="python3"

From fd6e9e789ce4268e6dbea95a2e17c6909cdcc8f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:57:12 -0400
Subject: [PATCH 09/31] python3-lxml: patch and rebuild for Cython 3

---
 .../patches/cython3-fix-test.patch            | 32 +++++++++++++++++++
 .../python3-lxml/patches/cython3-legacy.patch | 12 +++++++
 ...-prefix-nsmap.diff => libxml-2.10.4.patch} | 12 ++++---
 ...fix-tests-io.patch => libxml-2.11.0.patch} |  3 +-
 srcpkgs/python3-lxml/template                 |  2 +-
 5 files changed, 55 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-fix-test.patch
 create mode 100644 srcpkgs/python3-lxml/patches/cython3-legacy.patch
 rename srcpkgs/python3-lxml/patches/{fix-test-html-prefix-nsmap.diff => libxml-2.10.4.patch} (56%)
 rename srcpkgs/python3-lxml/patches/{fix-tests-io.patch => libxml-2.11.0.patch} (83%)

diff --git a/srcpkgs/python3-lxml/patches/cython3-fix-test.patch b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
new file mode 100644
index 0000000000000..70348622048cb
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-fix-test.patch
@@ -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)
+ 
diff --git a/srcpkgs/python3-lxml/patches/cython3-legacy.patch b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
new file mode 100644
index 0000000000000..3a01c85705cb5
--- /dev/null
+++ b/srcpkgs/python3-lxml/patches/cython3-legacy.patch
@@ -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
diff --git a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
similarity index 56%
rename from srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
rename to srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
index 084769b69aeb9..4682eddd6f541 100644
--- a/srcpkgs/python3-lxml/patches/fix-test-html-prefix-nsmap.diff
+++ b/srcpkgs/python3-lxml/patches/libxml-2.10.4.patch
@@ -1,13 +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 0339796d..de584c56 100644
+index 0339796..790c57a 100644
 --- a/src/lxml/tests/test_etree.py
 +++ b/src/lxml/tests/test_etree.py
-@@ -3072,8 +3072,6 @@ class ETreeOnlyTestCase(HelperTestCase):
-         el = etree.HTML('<hha:page-description>aa</hha:page-description>').find('.//page-description')
+@@ -3073,7 +3073,7 @@ class ETreeOnlyTestCase(HelperTestCase):
          if etree.LIBXML_VERSION < (2, 9, 11):
              self.assertEqual({'hha': None}, el.nsmap)
--        else:
+         else:
 -            self.assertEqual({}, el.nsmap)
++            self.assertEqual(None, el)
  
      def test_getchildren(self):
          Element = self.etree.Element
diff --git a/srcpkgs/python3-lxml/patches/fix-tests-io.patch b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
similarity index 83%
rename from srcpkgs/python3-lxml/patches/fix-tests-io.patch
rename to srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
index 9a3001d4e9265..6ed59d3b2fe2b 100644
--- a/srcpkgs/python3-lxml/patches/fix-tests-io.patch
+++ b/srcpkgs/python3-lxml/patches/libxml-2.11.0.patch
@@ -1,3 +1,5 @@
+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
@@ -10,4 +12,3 @@ index cbdbcef..efbd3fd 100644
  
          f = tempfile.NamedTemporaryFile(delete=False)
          try:
-
diff --git a/srcpkgs/python3-lxml/template b/srcpkgs/python3-lxml/template
index 8251b74c7b53f..76756b84ded1f 100644
--- a/srcpkgs/python3-lxml/template
+++ b/srcpkgs/python3-lxml/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-lxml'
 pkgname=python3-lxml
 version=4.9.3
-revision=1
+revision=2
 build_style=python3-module
 make_build_args="--with-cython"
 hostmakedepends="python3-Cython python3-setuptools"

From a0d6e5ef351ded1dc18332cba88680704ef516e2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Fri, 21 Jul 2023 08:33:05 -0400
Subject: [PATCH 10/31] python3-pandas-msgpack: rebuild for Cython 3

---
 srcpkgs/python3-pandas-msgpack/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-pandas-msgpack/template b/srcpkgs/python3-pandas-msgpack/template
index 16a4d014ea6b6..99912a195b0f4 100644
--- a/srcpkgs/python3-pandas-msgpack/template
+++ b/srcpkgs/python3-pandas-msgpack/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-pandas-msgpack'
 pkgname=python3-pandas-msgpack
 version=0.1.5
-revision=4
+revision=5
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
 makedepends="python3-devel"
-depends="python3-pandas>=0.25.3"
+depends="python3-pandas"
 short_desc="Providing an interface to msgpack from pandas"
 maintainer="Pulux <pulux@pf4sh.de>"
 license="BSD-3-Clause"
 homepage="https://www.pf4sh.eu/git/pulux/pandas-msgpack/"
 distfiles="https://www.pf4sh.eu/git/pulux/pandas-msgpack/archive/${version}.tar.gz"
-checksum=e01b1158c66265315338657310ac42edac81b33a5b178a68b29adcf2aeefd22e
+checksum=25288bc498cc0f9579c227cf33e20fc41d6d47ef58cc9fde27ede9796a647822
+make_check=no # Tests rely on obsolete pandas features
 
 post_install() {
 	vlicense LICENSE.md

From d83d8b6d04e36e7c284ebf49d1c266f7dd8e314a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 11/31] gbinder-python: build with python3-Cython0.29

---
 srcpkgs/gbinder-python/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/gbinder-python/template b/srcpkgs/gbinder-python/template
index 61f60323adb16..8fcbba86d38c2 100644
--- a/srcpkgs/gbinder-python/template
+++ b/srcpkgs/gbinder-python/template
@@ -4,7 +4,7 @@ version=1.1.1
 revision=2
 build_style=python3-module
 make_build_args="--cython"
-hostmakedepends="python3-Cython pkg-config"
+hostmakedepends="python3-Cython0.29 pkg-config"
 makedepends="libgbinder-devel python3-devel"
 depends="python3"
 short_desc="Python bindings for libgbinder"

From 695ffe49432c788c21a701aa0f92af1f8e5e9616 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 12/31] jack_mixer: build with python3-Cython0.29

---
 srcpkgs/jack_mixer/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/jack_mixer/template b/srcpkgs/jack_mixer/template
index b012cd8dfac39..79044eef65b5e 100644
--- a/srcpkgs/jack_mixer/template
+++ b/srcpkgs/jack_mixer/template
@@ -4,7 +4,7 @@ version=17
 revision=2
 build_style=meson
 configure_args="-Dcheck-py-modules=false"
-hostmakedepends="gettext pkg-config python3-Cython"
+hostmakedepends="gettext pkg-config python3-Cython0.29"
 makedepends="glib-devel jack-devel python3-devel"
 depends="python3-cairo python3-gobject python3-xdg"
 short_desc="GTK JACK audio mixer with a look similar to its hardware counterpart"

From 49a9e3fe19e54a89d520b5c96d1d711698c5f901 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:52 -0400
Subject: [PATCH 13/31] libimobiledevice: build with python3-Cython0.29

---
 srcpkgs/libimobiledevice/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/libimobiledevice/template b/srcpkgs/libimobiledevice/template
index 4415908a80cd5..be776d71f3e12 100644
--- a/srcpkgs/libimobiledevice/template
+++ b/srcpkgs/libimobiledevice/template
@@ -3,7 +3,7 @@ pkgname=libimobiledevice
 version=1.3.0
 revision=5
 build_style=gnu-configure
-hostmakedepends="automake libtool pkgconf python3-Cython"
+hostmakedepends="automake libtool pkgconf python3-Cython0.29"
 makedepends="python3-devel libglib-devel openssl-devel
  libusb-devel libplist-devel libusbmuxd-devel"
 short_desc="Library to communicate with Apple devices"

From 701ab2fd02a123339c746385a9f4d5e2fdd9d2cb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 14/31] pyliblo: build with python3-Cython0.29

---
 srcpkgs/pyliblo/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/pyliblo/template b/srcpkgs/pyliblo/template
index 9577e72555e4e..805e103ed018a 100644
--- a/srcpkgs/pyliblo/template
+++ b/srcpkgs/pyliblo/template
@@ -3,7 +3,7 @@ pkgname=pyliblo
 version=0.10.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel liblo-devel"
 depends="python3"
 short_desc="Python bindings for the liblo OSC library"

From 4dccbc8dc590a424b7b6c8fdb12253e51ee575a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 15/31] python3-efl: build with python3-Cython0.29

---
 srcpkgs/python3-efl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-efl/template b/srcpkgs/python3-efl/template
index 2431dac9619cc..861eb51e4a9cb 100644
--- a/srcpkgs/python3-efl/template
+++ b/srcpkgs/python3-efl/template
@@ -3,7 +3,7 @@ pkgname=python3-efl
 version=1.23.0
 revision=6
 build_style=python3-module
-hostmakedepends="pkg-config python3-devel python3-Cython"
+hostmakedepends="pkg-config python3-devel python3-Cython0.29"
 makedepends="efl-devel python3-dbus-devel"
 depends="python3-dbus"
 short_desc="Python3 bindings for Enlightenment Foundation Libraries"

From 3de22d627b3c19dea212b14a7fa73acf55d0ff9e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 16/31] python3-grpcio: build with python3-Cython0.29

---
 srcpkgs/python3-grpcio/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-grpcio/template b/srcpkgs/python3-grpcio/template
index 34522a28ead4e..87f388500f5bf 100644
--- a/srcpkgs/python3-grpcio/template
+++ b/srcpkgs/python3-grpcio/template
@@ -3,7 +3,7 @@ pkgname=python3-grpcio
 version=1.56.0
 revision=3
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-six python3-Cython"
+hostmakedepends="python3-setuptools python3-six python3-Cython0.29"
 makedepends="python3-devel zlib-devel c-ares-devel re2-devel openssl-devel
  abseil-cpp-devel"
 depends="python3-six"

From 30d4e950dc9e9bca193b7de30a134bd4a792912a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 17/31] python3-h5py: build with python3-Cython0.29

---
 srcpkgs/python3-h5py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-h5py/template b/srcpkgs/python3-h5py/template
index d491f5cc3aca2..59f2d7c9b2253 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -4,7 +4,7 @@ version=3.9.0
 revision=1
 build_style=python3-module
 build_helper="numpy"
-hostmakedepends="python3-setuptools python3-Cython python3-pkgconfig"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"
 makedepends="python3-devel hdf5-devel"
 depends="python3-numpy"
 short_desc="HDF5 for Python"

From dcb0467195d14d653c17544f0635cc971356fbbe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 18/31] python3-jq: build with python3-Cython0.29

---
 srcpkgs/python3-jq/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-jq/template b/srcpkgs/python3-jq/template
index 96a87c6f86031..70e3bee46f6fd 100644
--- a/srcpkgs/python3-jq/template
+++ b/srcpkgs/python3-jq/template
@@ -3,7 +3,7 @@ pkgname=python3-jq
 version=1.4.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel jq-devel oniguruma-devel"
 depends="python3"
 short_desc="Python bindings for jq"

From 253c4bbcd1a162fc3cabf3ab0ca9bbab8db39c42 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 19/31] python3-logbook: build with python3-Cython0.29

---
 srcpkgs/python3-logbook/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-logbook/template b/srcpkgs/python3-logbook/template
index 319bb1e19ab53..4993e417dc079 100644
--- a/srcpkgs/python3-logbook/template
+++ b/srcpkgs/python3-logbook/template
@@ -4,7 +4,7 @@ version=1.5.3
 revision=6
 build_style=python3-pep517
 make_check_args="--ignore=scripts"
-hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython"
+hostmakedepends="python3-setuptools python3-wheel python3-devel python3-Cython0.29"
 depends="python3"
 checkdepends="python3-execnet python3-pytest python3-pyzmq python3-SQLAlchemy
  python3-Jinja2 python3-Brotli"

From 3c31c04274a780bcd49f11e9db6c81de00982713 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:53 -0400
Subject: [PATCH 20/31] python3-mpi4py: build with python3-Cython0.29

---
 srcpkgs/python3-mpi4py/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-mpi4py/template b/srcpkgs/python3-mpi4py/template
index 4daa548133d5b..e1762a93a3361 100644
--- a/srcpkgs/python3-mpi4py/template
+++ b/srcpkgs/python3-mpi4py/template
@@ -3,7 +3,7 @@ pkgname=python3-mpi4py
 version=3.1.4
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython gcc-fortran openmpi"
+hostmakedepends="python3-setuptools python3-Cython0.29 gcc-fortran openmpi"
 makedepends="python3-devel openmpi-devel"
 depends="openmpi python3"
 short_desc="Python bindings for the Message Passing Interface (MPI) standard"

From dea9ed1e6bf0a4736c0484dc7025db2c364d0cdc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 15:41:34 -0400
Subject: [PATCH 21/31] python3-pandas: build with python3-Cython0.29

---
 srcpkgs/python3-pandas/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index 2831b6e56f171..0f102b557072f 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -3,7 +3,8 @@ pkgname=python3-pandas
 version=2.0.3
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-versioneer"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy
+ python3-versioneer"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
 short_desc="Python3 data analysis library"

From 4c110a255fe18e173e1764305035a195f1e17109 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 22/31] python3-peewee: build with python3-Cython0.29

---
 srcpkgs/python3-peewee/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-peewee/template b/srcpkgs/python3-peewee/template
index dc6c8573c1e50..d8e586f5e7d18 100644
--- a/srcpkgs/python3-peewee/template
+++ b/srcpkgs/python3-peewee/template
@@ -3,7 +3,7 @@ pkgname=python3-peewee
 version=3.14.4
 revision=4
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="python3-devel sqlite-devel"
 depends="python3"
 short_desc="Small and simple ORM for Python3"

From b7b225a6d38c65d1d709df6d86c4fe0defecfd26 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 23/31] python3-pyFFTW: build with python3-Cython0.29

---
 srcpkgs/python3-pyFFTW/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index 93d3d9079d694..055a53fe833b9 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -3,7 +3,7 @@ pkgname=python3-pyFFTW
 version=0.13.1
 revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"

From 6237b3f40f6c67354e0cb3344400548acd893f91 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 24/31] python3-pygame: build with python3-Cython0.29

---
 srcpkgs/python3-pygame/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-pygame/template b/srcpkgs/python3-pygame/template
index 9edc626b0b81a..284268e85cab3 100644
--- a/srcpkgs/python3-pygame/template
+++ b/srcpkgs/python3-pygame/template
@@ -4,7 +4,7 @@ version=2.1.2
 revision=4
 build_style=python3-module
 make_build_args="cython"
-hostmakedepends="pkg-config python3-setuptools python3-Cython
+hostmakedepends="pkg-config python3-setuptools python3-Cython0.29
  SDL2_mixer-devel SDL2_image-devel SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"
 makedepends="python3-devel SDL2_mixer-devel SDL2_image-devel
  SDL2_ttf-devel libjpeg-turbo-devel portmidi-devel"

From 599f809cbfd3730ac34c3cb4802479932f5c4e15 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 25/31] python3-shapely: build with python3-Cython0.29

---
 srcpkgs/python3-shapely/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 02447337f9ae9..25711a7fc2399 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -4,7 +4,7 @@ version=2.0.1
 revision=1
 build_style=python3-module
 build_helper=numpy
-hostmakedepends="python3-setuptools python3-Cython geos"
+hostmakedepends="python3-setuptools python3-Cython0.29 geos"
 makedepends="python3-devel python3-numpy geos-devel"
 depends="python3"
 checkdepends="python3-pytest-xdist"

From b67c77b0f783475a2de41e435564babba9437341 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 26/31] python3-tables: build with python3-Cython0.29

---
 srcpkgs/python3-tables/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index e37b3e215e3be..8be57ea0088d6 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -5,7 +5,7 @@ revision=2
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)
-hostmakedepends="python3-wheel python3-Cython python3-packaging"
+hostmakedepends="python3-wheel python3-Cython0.29 python3-packaging"
 makedepends="python3-devel hdf5-devel lzo-devel bzip2-devel"
 depends="python3-numpy python3-numexpr python3-packaging"
 checkdepends=$depends

From a1bcfe427410555e69290cca9584b2a414596885 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 27/31] python3-uvloop: build with python3-Cython0.29

---
 srcpkgs/python3-uvloop/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/python3-uvloop/template b/srcpkgs/python3-uvloop/template
index 424cff0ebd116..1688adc416ac6 100644
--- a/srcpkgs/python3-uvloop/template
+++ b/srcpkgs/python3-uvloop/template
@@ -3,7 +3,7 @@ pkgname=python3-uvloop
 version=0.17.0
 revision=2
 build_style=python3-module
-hostmakedepends="python3 python3-setuptools python3-Cython"
+hostmakedepends="python3 python3-setuptools python3-Cython0.29"
 makedepends="libuv-devel python3-devel"
 depends="python3"
 checkdepends="flake8 python3-pytest python3-openssl python3-psutil"

From 47ae0adab126be7724e28405ce376e868126890e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 28/31] urh: build with python3-Cython0.29

---
 srcpkgs/urh/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index 045c82f6b3adb..1e2721e335922 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,12 +1,12 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.4
-revision=1
+revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel
  libhackrf-devel uhd-devel libgomp-devel"
-depends="python3-numpy python3-PyQt5 python3-Cython python3-psutil
+depends="python3-numpy python3-PyQt5 python3-Cython0.29 python3-psutil
  python3-setuptools"
 checkdepends="$depends"
 short_desc="Universal Radio Hacker: investigate unknown wireless protocols"

From 7625140b2fb6705f98cc3a15ef72d9fab686c784 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:54 -0400
Subject: [PATCH 29/31] vapoursynth: update to R63, build with
 python3-Cython0.29

---
 srcpkgs/vapoursynth/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/vapoursynth/template b/srcpkgs/vapoursynth/template
index 4ceda6e7724ff..5f12bf2d0911e 100644
--- a/srcpkgs/vapoursynth/template
+++ b/srcpkgs/vapoursynth/template
@@ -1,9 +1,9 @@
 # Template file for 'vapoursynth'
 pkgname=vapoursynth
-version=R57
-revision=2
+version=R63
+revision=1
 build_style=gnu-configure
-hostmakedepends="automake libtool nasm pkg-config python3-Cython"
+hostmakedepends="automake libtool nasm pkg-config python3-Cython0.29"
 makedepends="python3-devel zimg-devel"
 short_desc="Application for video manipulation"
 maintainer="lemmi <lemmi@nerd2nerd.org>"
@@ -11,7 +11,7 @@ license="LGPL-2.1-or-later, OFL-1.1"
 homepage="http://www.vapoursynth.com"
 changelog="https://raw.githubusercontent.com/vapoursynth/vapoursynth/master/ChangeLog"
 distfiles="https://github.com/vapoursynth/vapoursynth/archive/${version}.tar.gz"
-checksum=9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07
+checksum=ed909b3c58e79bcbb056d07c5d301222ba8001222b4b40d5c1123be35fea9ae2
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	LDFLAGS="-latomic"

From 835670b603a67db1380217e0c10d17bad3b39aaa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 13:23:55 -0400
Subject: [PATCH 30/31] sagemath: update to 10.1.

---
 srcpkgs/sagemath/template  | 6 +++---
 srcpkgs/vidcutter/template | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index a2ee32c69a952..bccf7d3a28d23 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -6,8 +6,8 @@ build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
 _bindir=/usr/lib/sagemath/$version/bin
 make_install_args="--install-scripts=$_bindir"
-hostmakedepends="m4 pkg-config python3-Cython python3-Jinja2 python3-pkgconfig
- python3-setuptools"
+hostmakedepends="m4 pkg-config python3-Cython0.29 python3-Jinja2
+ python3-pkgconfig python3-setuptools"
 makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
  ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel
  gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel
@@ -18,7 +18,7 @@ makedepends="arb-devel boost-devel brial-devel cliquer-devel ecl eclib-devel
 depends="eclib-devel fflas-ffpack flintlib-devel gcc-fortran gd-devel
  gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl
  mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata
- pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2
+ pari-galpol-small pari-seadata-small pkg-config python3-Cython0.29 python3-cypari2
  python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc
  python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib
  python3-memory_allocator python3-networkx python3-pip python3-pkgconfig
diff --git a/srcpkgs/vidcutter/template b/srcpkgs/vidcutter/template
index bd1b1b9c20117..5030b9a25fe52 100644
--- a/srcpkgs/vidcutter/template
+++ b/srcpkgs/vidcutter/template
@@ -3,7 +3,7 @@ pkgname=vidcutter
 version=6.0.5.1
 revision=2
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython"
+hostmakedepends="python3-setuptools python3-Cython0.29"
 makedepends="mpv-devel python3-devel"
 depends="desktop-file-utils hicolor-icon-theme ffmpeg mpv mediainfo
  python3-PyOpenGL python3-PyQt5 python3-setuptools"

From 53461a84825b920e169d12421e4467493e284441 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 26 Aug 2023 21:50:11 -0400
Subject: [PATCH 31/31] xpra: update to 5.0.1.

---
 srcpkgs/xpra/patches/setup.patch | 13 +------------
 srcpkgs/xpra/template            |  8 ++++----
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/srcpkgs/xpra/patches/setup.patch b/srcpkgs/xpra/patches/setup.patch
index 237f04308b1a7..9870936cabf46 100644
--- a/srcpkgs/xpra/patches/setup.patch
+++ b/srcpkgs/xpra/patches/setup.patch
@@ -1,6 +1,4 @@
-Make sure the build script pulls the right CFLAGS and prevent -Werror. In
-addition, remove a stray CUDA README that is only supposed to installed when
-CUDA is actually available.
+Make sure the build script pulls the right CFLAGS and prevent -Werror.
 
 --- a/setup.py
 +++ b/setup.py
@@ -31,12 +29,3 @@ CUDA is actually available.
              if NETBSD:
                  #see: http://trac.cython.org/ticket/395
                  addcflags("-fno-strict-aliasing")
-@@ -2252,8 +2252,6 @@
-         if nvjpeg_encoder_ENABLED or nvjpeg_decoder_ENABLED:
-             add_data_files("", glob.glob(f"{CUDA_BIN_DIR}/nvjpeg64*dll"))
- 
--add_data_files(CUDA_BIN, ["fs/share/xpra/cuda/README.md"])
--
- tace(nvenc_ENABLED, "xpra.codecs.nvenc.encoder", "nvenc",
-      extra_compile_args="-Wno-error=sign-compare" if get_gcc_version()<(8, ) else None)
- 
diff --git a/srcpkgs/xpra/template b/srcpkgs/xpra/template
index 0a63fdb6c7437..356d18552c542 100644
--- a/srcpkgs/xpra/template
+++ b/srcpkgs/xpra/template
@@ -1,6 +1,6 @@
 # Template file for 'xpra'
 pkgname=xpra
-version=4.4.6
+version=5.0.1
 revision=1
 build_style=python3-module
 make_build_args="--without-cuda_kernels --without-cuda_rebuild"
@@ -8,17 +8,17 @@ make_install_args="$(vopt_with docs) ${make_build_args}"
 hostmakedepends="pkg-config python3-Cython $(vopt_if docs pandoc)"
 makedepends="ffmpeg-devel libXcomposite-devel libXrandr-devel libXtst-devel
  libvpx-devel libwebp-devel libxkbfile-devel python3-gobject-devel x264-devel
- x265-devel gtk+3-devel pam-devel libXres-devel liblz4-devel"
+ gtk+3-devel pam-devel libXres-devel liblz4-devel libavif-devel procps-ng-devel"
 depends="cups python3-gobject python3-Pillow python3-cups python3-dbus
  python3-lz4 python3-paramiko python3-rencode xauth xf86-video-dummy
- xorg-server-xvfb"
+ xorg-server-xvfb python3-typing_extensions python3-cairo"
 short_desc="Persistent remote display server and client for X11 clients"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="GPL-2.0-or-later"
 homepage="https://xpra.org/"
 changelog="https://raw.githubusercontent.com/Xpra-org/xpra/master/docs/CHANGELOG.md"
 distfiles="https://github.com/Xpra-org/xpra/archive/v${version}.tar.gz"
-checksum=7fec998cf9816df3f0fa5ded01903b07211b0c36a7316c9e9bf6db8b80fb477a
+checksum=bf7b112e6518a000ac974149f6e71f8f4eb7918f87b049f0c7a59ba3841752de
 conf_files="/etc/xpra/xpra.conf /etc/xpra/xorg.conf /etc/xpra/conf.d/*"
 # Tests don't run properly without package installed
 make_check=no

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PR PATCH] [Closed]: python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (27 preceding siblings ...)
  2023-09-01 15:13 ` ahesford
@ 2023-09-01 17:32 ` ahesford
  2023-09-01 17:34 ` ahesford
  2023-09-02 22:32 ` tornaria
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-09-01 17:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1075 bytes --]

There's a closed pull request on the void-packages repository

python3-Cython: update to 3.0.1.
https://github.com/void-linux/void-packages/pull/45086

Description:
This is a big update that reflects several years of extensive work, and needs some testing to be sure it doesn't break any Void packages.

#### Testing the changes
- I tested the changes in this PR: **in progress**

The following packages need to be fixed to build with new Cython:
- [ ] gbinder-python
- [ ] jack_mixer
- [ ] libimobiledevice
- [ ] memray
- [ ] pyliblo
- [x] python3-cypari2
- [x] python3-cysignals
- [ ] python3-efl
- [x] python3-fpylll
- [ ] python3-grpcio
- [ ] python3-h5py
- [ ] python3-jq
- [ ] python3-logbook
- [x] python3-lxml
- [ ] python3-mpi4py
- [ ] python3-pandas-msgpack
- [ ] python3-peewee
- [x] python3-pplpy
- [ ] python3-pyFFTW
- [ ] python3-pygame
- [x] python3-scikit-learn
- [x] python3-scipy
- [ ] python3-shapely
- [ ] python3-tables
- [ ] python3-uvloop
- [x] python3-yaml
- [ ] sagemath
- [ ] urh
- [ ] vapoursynth
- [ ] vidcutter

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (28 preceding siblings ...)
  2023-09-01 17:32 ` [PR PATCH] [Closed]: " ahesford
@ 2023-09-01 17:34 ` ahesford
  2023-09-02 22:32 ` tornaria
  30 siblings, 0 replies; 32+ messages in thread
From: ahesford @ 2023-09-01 17:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 428 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1703102404

Comment:
With `python3-pplpy` built with `python3-Cython0.29` (which is its current state in the repository), all `sagemath` tests in the `--long` suite pass (with the exception of some new warnings emitted by Pythran), so this is good to go; merged as cb4c843f1feb13347fb472aa71d18f450a0a5413.

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: python3-Cython: update to 3.0.1.
  2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
                   ` (29 preceding siblings ...)
  2023-09-01 17:34 ` ahesford
@ 2023-09-02 22:32 ` tornaria
  30 siblings, 0 replies; 32+ messages in thread
From: tornaria @ 2023-09-02 22:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 810 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/45086#issuecomment-1703955469

Comment:
> With `python3-pplpy` built with `python3-Cython0.29` (which is its current state in the repository), all `sagemath` tests in the `--long` suite pass (with the exception of some new warnings emitted by Pythran), so this is good to go; merged as [cb4c843](https://github.com/void-linux/void-packages/commit/cb4c843f1feb13347fb472aa71d18f450a0a5413).

https://github.com/sagemath/sage/pull/36109 was merged a few hours after you merged this, and that is the only "long" part of the move to cython 3.

The actual patch needed on top of that to be able to use cython 3 is just 6 lines  (plus 19 lines in doctests due to some changed strings). See #45887 for details.

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2023-09-02 22:32 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-17 17:20 [PR PATCH] python3-Cython: update to 3.0.0 ahesford
2023-07-17 19:00 ` tornaria
2023-07-17 19:04 ` ahesford
2023-07-17 19:19 ` [PR PATCH] [Updated] " ahesford
2023-07-17 20:14 ` ahesford
2023-07-18  9:27 ` icp1994
2023-07-18 11:11 ` ahesford
2023-07-18 17:43 ` [PR PATCH] [Updated] " ahesford
2023-07-18 17:45 ` ahesford
2023-07-19  2:35 ` ahesford
2023-07-20 23:33 ` tornaria
2023-07-21  1:40 ` [PR PATCH] [Updated] " ahesford
2023-07-21  2:46 ` [PR REVIEW] " tornaria
2023-07-21 12:33 ` [PR PATCH] [Updated] " ahesford
2023-07-31 20:29 ` ahesford
2023-08-26  3:13 ` ahesford
2023-08-26  3:24 ` ahesford
2023-08-26 17:31 ` [PR PATCH] [Updated] python3-Cython: update to 3.0.1 ahesford
2023-08-26 20:04 ` ahesford
2023-08-26 20:04 ` [PR PATCH] [Updated] " ahesford
2023-08-26 20:43 ` ahesford
2023-08-27 14:12 ` tornaria
2023-08-28 15:23 ` [PR PATCH] [Updated] " ahesford
2023-08-28 15:26 ` ahesford
2023-08-31  1:02 ` ahesford
2023-08-31  1:15 ` ahesford
2023-08-31 14:01 ` ahesford
2023-09-01 14:36 ` ahesford
2023-09-01 15:13 ` ahesford
2023-09-01 17:32 ` [PR PATCH] [Closed]: " ahesford
2023-09-01 17:34 ` ahesford
2023-09-02 22:32 ` tornaria

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).