Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [WIP] NumPy 2.0
@ 2024-07-02 14:33 ahesford
  2024-07-02 14:41 ` Calandracas606
                   ` (22 more replies)
  0 siblings, 23 replies; 24+ messages in thread
From: ahesford @ 2024-07-02 14:33 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [ ] python3-Bottleneck
- [ ] python3-PyOpenGL-accelerate
- [ ] python3-h5py
- [ ] python3-matplotlib
- [ ] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [ ] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [ ] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [ ] pythran
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 33470 bytes --]

From 8e50a9c03fa08c8ed44ea57a7b2f1da1abca951c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../patches/fix-pytest-warning.patch             |  8 --------
 .../patches/version-relaxation.patch             | 14 --------------
 srcpkgs/python3-numpy/template                   | 16 ++++++++++++----
 3 files changed, 12 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..a3be9f760fae2b 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -77,9 +77,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From e0de5dedbe30679fa67c619b02392cd1bed734a3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 6ed1b16cf92231d99f053b610a19818037a8f833 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..0ecf804c22c072 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax

From 5880815a622e319f7e02c476339d819903cdabd4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From cf5dd19a3d46aa9ecf38ac7cde11af195045ed24 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..69e81858de4ba9 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake

From 71f69d98528d749b7401ebc170044dd9039b227f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From f478696dabb9a43e0bc298a3f5c0b3b889c002a1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From b97403bae7806d7cf1d874ec1523cddb0de901d4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From b9b97ae3e8e5ec2b2a6b4fcb5e2a72d6f9a76e03 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From d9f1f4d5ebc52d5bdfa750d5769e59bc9da3e0e1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 8305493a66e57f3305bad6d40273fc7dd18ea1dc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From d17b7e7d2e8168d0b0ef2cd7d6fbc82112c74c23 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 495b945d67146a0c039ac02ab73df09c8e634b54 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 63410f772538afcda5d7cbc389292879274abe95 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From 576cd016b0991cee9c50f13c1f70a40bdb4040ed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From d7bed42739b875d4a2b1bf75d11555ebd6c308c1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 57774827e6d78ebbcb48ec211e13768adf32f5b8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From d8fd484df128f5faeea434fee75b895c4acd76a7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From caa86647f03896a1e13e39dccae0a6f134bc4a14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../python3-scikit-learn/patches/numpy-version.patch | 11 -----------
 srcpkgs/python3-scikit-learn/template                | 12 ++++++------
 2 files changed, 6 insertions(+), 17 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..f1129c841738fe 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy python3-meson-python"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"

From cef1f829101d13a7ac500ec9f86cf56836749753 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 3911813469a27c3b9474007c52570d0a637f78c1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 2ab68de0f987e8a4dea09c26fbf434ae63a59011 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 6af589b911564051ab4dfc69ef5eff247c53285c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From eeada437ab51729f325dadee8c5bec48ae8a75b9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
@ 2024-07-02 14:41 ` Calandracas606
  2024-07-02 14:42 ` Calandracas606
                   ` (21 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: Calandracas606 @ 2024-07-02 14:41 UTC (permalink / raw)
  To: ml

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

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2203403743

Comment:
> 
> The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
> 
>     * DisplayCAL
> 

There's a new version available. I'll take a look and see if I can get it working with python 3.12

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
  2024-07-02 14:41 ` Calandracas606
@ 2024-07-02 14:42 ` Calandracas606
  2024-07-02 14:53 ` Calandracas606
                   ` (20 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: Calandracas606 @ 2024-07-02 14:42 UTC (permalink / raw)
  To: ml

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

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2203403743

Comment:
> 
> The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
>    * DisplayCAL
> 

There's a new version available. I'll take a look and see if I can get it working with python 3.12

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
  2024-07-02 14:41 ` Calandracas606
  2024-07-02 14:42 ` Calandracas606
@ 2024-07-02 14:53 ` Calandracas606
  2024-07-02 14:53 ` Calandracas606
                   ` (19 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: Calandracas606 @ 2024-07-02 14:53 UTC (permalink / raw)
  To: ml

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

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2203433193

Comment:
updating DisplayCAL to 3.9.12 should unbreak it with python 3.12

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (2 preceding siblings ...)
  2024-07-02 14:53 ` Calandracas606
@ 2024-07-02 14:53 ` Calandracas606
  2024-07-02 15:02 ` Calandracas606
                   ` (18 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: Calandracas606 @ 2024-07-02 14:53 UTC (permalink / raw)
  To: ml

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

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2203433193

Comment:
updating DisplayCAL to 3.9.12 should unbreak it with python 3.12

I'll do that in a new PR

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (3 preceding siblings ...)
  2024-07-02 14:53 ` Calandracas606
@ 2024-07-02 15:02 ` Calandracas606
  2024-07-02 15:46 ` [PR PATCH] [Updated] " ahesford
                   ` (17 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: Calandracas606 @ 2024-07-02 15:02 UTC (permalink / raw)
  To: ml

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

New comment by Calandracas606 on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2203468247

Comment:
https://github.com/eoyilmaz/displaycal-py3/issues/335

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (4 preceding siblings ...)
  2024-07-02 15:02 ` Calandracas606
@ 2024-07-02 15:46 ` ahesford
  2024-07-02 15:53 ` ahesford
                   ` (16 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-02 15:46 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 33470 bytes --]

From 7bb963e1039cf28b4bffa34bfdc79b97507a011c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../patches/fix-pytest-warning.patch             |  8 --------
 .../patches/version-relaxation.patch             | 14 --------------
 srcpkgs/python3-numpy/template                   | 16 ++++++++++++----
 3 files changed, 12 insertions(+), 26 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..a3be9f760fae2b 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -77,9 +77,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 76ddf3602f2f394182694d5b1b4c4c1df21f9966 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 3f7ff2b89c1947fb1badc9e57c8599252193b339 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..0ecf804c22c072 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax

From f544f016e269f68fe02fcc6b993e1a0db4863aeb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 4240b954fb84830a2a4d32dc26672cc2505478d1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..69e81858de4ba9 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake

From dd99f4283a1ff21f920d0f4adc0b32cee352ba63 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From c27fe422bf71a2c2cce9f463d2c9ed3a8325dc27 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From ef8fc7b0f3d8212ecd896912021af589959cdadd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 4c2640880cab78abcacd933ac673f92ba0e50d1c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 7f77256849180b20a3bdde3b5ec599a9a9942ec1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From ae9c1cd613d61f8bc2acd98f4707f9adf18674a6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 68f2730b4eb471b70e1914ed505691dcd0a9bcbb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 99674d3dd95a22e5921723e5db3797ff61c7323f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 56216b638b6c1cb9797bba9d51ded7bd2e7a9024 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From 4b5f059213ee47f65725d0280c993e363f0c909b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 019f2a9472e160944bc514e55355ded9d6fea37d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From c27aaf3137cd9749943d70d53f3a1037e04e85df Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 1d025ec0d68d01fede0cb6c473c1e3d44b6dd506 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 78a18c4756bd081c3081cbde0da91e7eaaf7ff4a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../python3-scikit-learn/patches/numpy-version.patch | 11 -----------
 srcpkgs/python3-scikit-learn/template                | 12 ++++++------
 2 files changed, 6 insertions(+), 17 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..f1129c841738fe 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy python3-meson-python"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"

From aded2e68a12c146e4da16de2ce079a1fbfbe43f2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 5b94e94fd441584a81b721a3d7086a746d4b668d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From ae27cdbb5ce61154e51116e3e4194c5a87fe3b68 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From abe8f2ef9084961401838c7e630982732cd6ec8a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 8642af397df4ff874b1d1eed32bb91e8a26a07e7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (5 preceding siblings ...)
  2024-07-02 15:46 ` [PR PATCH] [Updated] " ahesford
@ 2024-07-02 15:53 ` ahesford
  2024-07-02 15:54 ` ahesford
                   ` (15 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-02 15:53 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 34716 bytes --]

From f7c06a20892015704ac367909df647ec1f212e4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch   | 10 +++++-----
 .../patches/fix-pytest-warning.patch           |  8 --------
 .../patches/version-relaxation.patch           | 14 --------------
 srcpkgs/python3-numpy/template                 | 18 +++++++++++++-----
 4 files changed, 18 insertions(+), 32 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..fdc2fd3b2560e1 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,7 +42,7 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
@@ -77,9 +77,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From c0d308b42ad5ea2de637a00671a9dc4a35ba1136 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From b94e82362382746b7db1cf4bebc269246ab0e851 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..0ecf804c22c072 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax

From 7d6b4aebbb92172db135d0981a9b652825106b6d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 1320b38e0542f9ebcd64be222ac9879c784b7dcd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..69e81858de4ba9 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake

From 7cb57d05935fadaaf25fb40d1c6af3460ebb93c8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From aeb439685cae7b1de92b5c40e4e9aaf7349829e4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 5aa58a8786e58d30a490203c7ebaa5329a492e12 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From e52085887889343b34d40797e69a6982e44d0643 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 2e0e83dcf75bc00fa00286ac8c649b453587eb49 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 1360bb72c9bab10e44308780262f642a1a3d9de1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 9c13a3775a64546a0789914fee4d2ad685047791 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From d80f72407f77fa8de0e293dfe6ef5e1cea441380 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 7cf2d29649d229e5eb2fcc78947dcd7607272e81 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From 7167b924f62f98030bbc8a9e45bc4cb0f2b15150 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From bf920ec3504ff605388e330bb926beb12f9a56bf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From dab90c4177870ea1396446e6b13feb2edfe2f233 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 9972e121edb57cfecd742ff5066e016f71fa7c83 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 09c3c26532e789c2756ffa0322230c77e4c62380 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../python3-scikit-learn/patches/numpy-version.patch | 11 -----------
 srcpkgs/python3-scikit-learn/template                | 12 ++++++------
 2 files changed, 6 insertions(+), 17 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..f1129c841738fe 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy python3-meson-python"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"

From 514c6dc6b0f46aa2791e9f73be2934d2077643d8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 7b3ce12638a9cb7956f1c2e8a04c7f064f29061c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From cef2ccc2f2c6e3690c9da29a7586c537867bc922 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 9013e15e34b992dc6dfa1aec654ef25777d67460 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From c970454d3b6d5b26ee547619584e5a7d99bbdebe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (6 preceding siblings ...)
  2024-07-02 15:53 ` ahesford
@ 2024-07-02 15:54 ` ahesford
  2024-07-02 18:11 ` ahesford
                   ` (14 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-02 15:54 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 34837 bytes --]

From 1b520369f80a8f63d02cabbf0bcff74424e35483 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From b22234fa3c25d083017f8c3f746fa7c69b7dc12a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 43e79dcd9332f45974da1585d3e9d3945c943110 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..0ecf804c22c072 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax

From 3f4a118b600e29ac0e5026b01163e4fc9d66c4c6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 10589c77ca38757072e35d8a5c747cc304db997b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..69e81858de4ba9 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake

From 3316e325317316f01262109bf103c649d03034f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 375cce095fa3dc9161d7e86883c6fa9619fc3191 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 57d1d39d67f910bd533f159b2e48012e7c224764 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 488557026a9c2b04760d08c06a79ff0ddaf7bd14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From b34dba3cee475b068c9740253e9d40d0f57fcbe1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 24090a4cd8c7154dee9ea43c3653efe7dd5c1b4b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From ba1e84bcd6ac7daeeb8cba55359b4da9f52ad397 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 14347ca63952e7da4c5879b0fb00d971d25a696a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 120413cae67162f20a35d0b7ab04904e44ff4cd1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From a5c728354e734ea09610912138a8c7f5e58582f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From f5174ae54cb62fa8a5d443d1776eab8ddf209871 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 1b4cb7103a876f411a8ce2aac0c6493f001c92cf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 02cf2b7d0c75c06c27de4a72e34d12f243124f98 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 255c805cf035aa3ebee031615062ca757ea68cba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../python3-scikit-learn/patches/numpy-version.patch | 11 -----------
 srcpkgs/python3-scikit-learn/template                | 12 ++++++------
 2 files changed, 6 insertions(+), 17 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..f1129c841738fe 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy python3-meson-python"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
 export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"

From 315893e8d78630aa616a64c75cfcf368e2229cc4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 3bf1a6fae50891902dae375e03be8309ec23dfd9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 03ef4a6cbb1054000a93459f97e97242a2728232 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 7b39508ac44a09ff41dd8bb12358ae74bee26c86 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From ca1b100d3e0608c69913ff376bdb5bb4fc4c2e3a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (7 preceding siblings ...)
  2024-07-02 15:54 ` ahesford
@ 2024-07-02 18:11 ` ahesford
  2024-07-03 13:56 ` ahesford
                   ` (13 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-02 18:11 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 35006 bytes --]

From 1b520369f80a8f63d02cabbf0bcff74424e35483 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From b22234fa3c25d083017f8c3f746fa7c69b7dc12a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 43e79dcd9332f45974da1585d3e9d3945c943110 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..0ecf804c22c072 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,7 +1,7 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax

From 3f4a118b600e29ac0e5026b01163e4fc9d66c4c6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 10589c77ca38757072e35d8a5c747cc304db997b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..69e81858de4ba9 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake

From 3316e325317316f01262109bf103c649d03034f0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 375cce095fa3dc9161d7e86883c6fa9619fc3191 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 57d1d39d67f910bd533f159b2e48012e7c224764 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 488557026a9c2b04760d08c06a79ff0ddaf7bd14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From b34dba3cee475b068c9740253e9d40d0f57fcbe1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 24090a4cd8c7154dee9ea43c3653efe7dd5c1b4b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From ba1e84bcd6ac7daeeb8cba55359b4da9f52ad397 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 14347ca63952e7da4c5879b0fb00d971d25a696a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 120413cae67162f20a35d0b7ab04904e44ff4cd1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From a5c728354e734ea09610912138a8c7f5e58582f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From f5174ae54cb62fa8a5d443d1776eab8ddf209871 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 1b4cb7103a876f411a8ce2aac0c6493f001c92cf Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 02cf2b7d0c75c06c27de4a72e34d12f243124f98 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 32c5fab80df49014daeb8adaabc22034b810baa7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 447254e80dea03def12b85153495ed269ae0d7c5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From fe525ab24558f89f6836ae7e5d5b17db9a8d0039 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 8c05a4f57ced6c93531302eabf1a8b3c6eed0ca8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 52ecd79293f382eb37ad31fd4b0b80e34d86fd78 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 1669d8839b974a01bb5f27ff31263524b846acf9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (8 preceding siblings ...)
  2024-07-02 18:11 ` ahesford
@ 2024-07-03 13:56 ` ahesford
  2024-07-03 14:09 ` ahesford
                   ` (12 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-03 13:56 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 35760 bytes --]

From 1b520369f80a8f63d02cabbf0bcff74424e35483 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From b22234fa3c25d083017f8c3f746fa7c69b7dc12a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 4a7fe482e418fa779c11ab970a12fc515adc81b9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

---
 srcpkgs/gnuradio/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..f34450d7baab1a 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
@@ -27,7 +28,7 @@ python_version=3
 
 if [ "$CROSS_BUILD" ]; then
 	# CMake fails when cross-compiling.
-	configure_args+=" -DENABLE_TESTING=OFF"
+	configure_args+=" -DENABLE_TESTING=OFF -DCMAKE_CROSSCOMPILING=ON"
 fi
 
 if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then

From dc7a1a1e3c94eca9583e3b3a4e4aed63fa299d9e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 46dccb8b24657c97a3a04c6d8cf2e287b130fe6a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..0022fd863cc192 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From dccbad8354279dafbf114140356f399bba6f6781 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From be1852334d9268d992b5ab510b385e14478a0594 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 4460680c68a1b8d9928fbf7619f4dbbb79912319 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 247963a5719865c8bc4b894a9dff5e880647e2c7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 52813ebb1ae452c73c24288b3c7c59bd9866272e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 09050738a673ada92294a22217889981ed817666 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From bd5e3c6bde23542fa5f4bd8cae8a792cb81c2c08 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 18fe32027ee7f27dbaa6065f7fc4585a98e31f06 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 4962ac5b107b5427aab24532cb5dde5766c17807 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From 18a1d570feaed0d0083f7ae801910548780428a1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 677a67e528ad5121264687bbe9b8eee1fec15e52 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From a687f6070179674b8e3efa7f7decfd45b4a6856d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 51f3e36e144d0106d0ca15162741ab9bb53e4acb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 3bbefa8a206cadef4e81aee3e60b9313b5d91c11 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From d51713591868d88cd1674ff34b7427cfe1fd7a83 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 03f9a7f5cec619240aa95c04afe23cd1378c86b4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From d90e19c342430440f50e6e37c2497193d083bb0a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 4084ab42c56f40095f5060b9ce262dcb6f129be6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 626afbb71365e05af562e7fafc83b9841ba6477d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (9 preceding siblings ...)
  2024-07-03 13:56 ` ahesford
@ 2024-07-03 14:09 ` ahesford
  2024-07-08 17:29 ` ahesford
                   ` (11 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-03 14:09 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 35767 bytes --]

From 1b520369f80a8f63d02cabbf0bcff74424e35483 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From b22234fa3c25d083017f8c3f746fa7c69b7dc12a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From da6cf5d116214f1344da79854a766637fc4907b0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

---
 srcpkgs/gnuradio/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..f512f953f07137 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
@@ -27,7 +28,7 @@ python_version=3
 
 if [ "$CROSS_BUILD" ]; then
 	# CMake fails when cross-compiling.
-	configure_args+=" -DENABLE_TESTING=OFF"
+	configure_args+=" -DENABLE_TESTING=OFF -DPYBIND11_USE_CROSSCOMPILING=ON"
 fi
 
 if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then

From 02ecb5f7945be18534d672a57ad23b019d5912e4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From a54d6ab7a0badce9bd2af360c90242cf687ef7ea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..0022fd863cc192 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 36365981f7fbba88418b36f8829e484b085ad342 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 3fb224ff2cc1fdcb77166b5ead03d231dab666b5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 1586dc9d235dae96877ff762361b952ce997b14f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From a082b2b569a2c8ff8cc0c3b99ae8c3f2cc5f6f23 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 12303bf20de7888932166707c6f36f8cda69cf6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index 13f9b255ad16ad..3bc99f9f4de763 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From f5109f48f8970d8f554bae0ca89fe25d7b9e986a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 933719a386fcf340363c6c76df3c4e6807b2a9ec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 5096de7370d990a3ab00e9cb496440f17c3290e7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From dd8879b7b5785b1efbe0c36eea709a2adcf69485 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From 72377e59053bf2c8036a543e02eac7e9cd72a164 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 406d2d347f40f1a8d53e71f0571a6f26d0eaa9dd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 02b0a55ab5c8fbdf74a2a0495dd8d71f1095398a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From e3eba576e11e122547d09fb6929c1aceec5c08e0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 0ff0dd379c311f5704b65abeef4da37d2a1fe2a3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 235a6db04e2e2d5320166b0fd089142b63fef1bd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From b04aa65910e77a0226540f7e431acbe29ac4cb65 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 6df01fc4e4bcbd700deafeeb771e75d425b84d5d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From ddae40a07368eec32be75e27a33e68dde7baa4e3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 5253943e274c5ed05e17cf70412d3830fecac004 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (10 preceding siblings ...)
  2024-07-03 14:09 ` ahesford
@ 2024-07-08 17:29 ` ahesford
  2024-07-11 16:14 ` ahesford
                   ` (10 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-08 17:29 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [ ] python3-pyFFTW (several test failures, with implications beyond NumPy; needs more investigation)
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 35767 bytes --]

From f264b56e491cd4f89458b643286bcaf03b96b311 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From bb8c03aa3585bb2c5b418c5724de26e92a1fafbd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 8a7f40ee4e5fb74063153a7e6a02b203693b2ab1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

---
 srcpkgs/gnuradio/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..f512f953f07137 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
@@ -27,7 +28,7 @@ python_version=3
 
 if [ "$CROSS_BUILD" ]; then
 	# CMake fails when cross-compiling.
-	configure_args+=" -DENABLE_TESTING=OFF"
+	configure_args+=" -DENABLE_TESTING=OFF -DPYBIND11_USE_CROSSCOMPILING=ON"
 fi
 
 if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then

From 941e75eaaf6cc8450876d250a40b3bf8f3b375e7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From d1857ba895065fa7eb7966e27c3f54f350c55b2e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..0022fd863cc192 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 29adcf396c8c2fa259c88b78372d773bd8cd128b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From f1cd72946d8aa440b1bc1d602667d9bc7a7d83b4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 071233fd3b7f0531217a627a3b798a491c456537 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 0312a48a1ff85cbb6614d303b174dba09281a702 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 882825a4580cce56d05e59329ef2c01ef7417b2b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 6a5244971e73bc9680f1c223eda060fa0e007df0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 333d4f29f53e13995d2ff28edd0e2fb472eea26a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 11cbee9f4ed3562b0ae39bf289207ad761ad3a70 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 996d39bcd2b33d5f19fd686efcfe4f37122213c0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: rebuild against python3-numpy-2.0.0

---
 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 ba1f6fc9e158ab..414b77b639ada5 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.13.1
-revision=2
+revision=3
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="fftw-devel python3-devel"

From c4e078bac1225e4bcc28f6d8218e932bd34977c7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 72c19286f15b0e3d784e52635e6d678b33c2f1a5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 4f2b51f1c6118dd2f1058c484bcdad6906c6dfab Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 32b016de7d4814cc97a5f0d05576bd63e0474979 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From a977e0a1c713cc60ef10de9ca05d04a6cb70dc28 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 1d129267e323990b25b183186cba948a688cc873 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 5a3cc617209e75477aabb8ceb5153ae473ff4458 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From aedec26a750aa65e34eeed0ba0d0403845796026 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From d9fc89930af39973c1c48240b3ef7b6917e9500b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 383c029963c4ad8b8da4e3b3b6ea184288870d5a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (11 preceding siblings ...)
  2024-07-08 17:29 ` ahesford
@ 2024-07-11 16:14 ` ahesford
  2024-07-18  0:56 ` ahesford
                   ` (9 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-11 16:14 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint
- [ ] opencv
- [ ] plplot
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW
- [ ] python3-pyopencl
- [x] python3-pywt
- [ ] python3-scikit-image
- [ ] python3-scikit-learn
- [ ] python3-scipy
- [ ] python3-tables
- [ ] python3-vispy
- [ ] urh
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC
- [ ] flowblade
- [ ] grass
- [ ] hydrus
- [ ] inkscape
- [ ] openrazer-meta
- [ ] pymol
- [ ] python3-bokeh
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy
- [ ] python3-openai
- [ ] python3-pgzero
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis
- [ ] xdot

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 37250 bytes --]

From f264b56e491cd4f89458b643286bcaf03b96b311 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From bb8c03aa3585bb2c5b418c5724de26e92a1fafbd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 8a7f40ee4e5fb74063153a7e6a02b203693b2ab1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

---
 srcpkgs/gnuradio/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..f512f953f07137 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
@@ -27,7 +28,7 @@ python_version=3
 
 if [ "$CROSS_BUILD" ]; then
 	# CMake fails when cross-compiling.
-	configure_args+=" -DENABLE_TESTING=OFF"
+	configure_args+=" -DENABLE_TESTING=OFF -DPYBIND11_USE_CROSSCOMPILING=ON"
 fi
 
 if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then

From 941e75eaaf6cc8450876d250a40b3bf8f3b375e7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From d1857ba895065fa7eb7966e27c3f54f350c55b2e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..0022fd863cc192 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 29adcf396c8c2fa259c88b78372d773bd8cd128b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From f1cd72946d8aa440b1bc1d602667d9bc7a7d83b4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 071233fd3b7f0531217a627a3b798a491c456537 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 0312a48a1ff85cbb6614d303b174dba09281a702 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 882825a4580cce56d05e59329ef2c01ef7417b2b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 6a5244971e73bc9680f1c223eda060fa0e007df0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 333d4f29f53e13995d2ff28edd0e2fb472eea26a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 11cbee9f4ed3562b0ae39bf289207ad761ad3a70 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 07b20ea4700a642f38a9130cde9fa0c33e09e785 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: update to 0.14.0.

---
 srcpkgs/python3-pyFFTW/patches/py312.patch | 14 --------------
 srcpkgs/python3-pyFFTW/template            |  8 ++++----
 2 files changed, 4 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-pyFFTW/patches/py312.patch

diff --git a/srcpkgs/python3-pyFFTW/patches/py312.patch b/srcpkgs/python3-pyFFTW/patches/py312.patch
deleted file mode 100644
index bd7a234e65da62..00000000000000
--- a/srcpkgs/python3-pyFFTW/patches/py312.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/versioneer.py
-+++ b/versioneer.py
-@@ -339,9 +339,9 @@
-     # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
-     # the top of versioneer.py for instructions on writing your setup.cfg .
-     setup_cfg = os.path.join(root, "setup.cfg")
--    parser = configparser.SafeConfigParser()
-+    parser = configparser.ConfigParser()
-     with open(setup_cfg, "r") as f:
--        parser.readfp(f)
-+        parser.read_file(f)
-     VCS = parser.get("versioneer", "VCS")  # mandatory
- 
-     def get(parser, name):
diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index ba1f6fc9e158ab..22c2aef45fcfaf 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,9 +1,9 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
-version=0.13.1
-revision=2
+version=0.14.0
+revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/pyFFTW/pyFFTW"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=ffc1b3e7f4f74ee38716d668d7606b5fbfded58343655c160c3644fc4acf5d55
+checksum=337e7cba161a78f0cdfc7903cb483d7ddc519e648c1b2e27ff9737f1e7d35854
 
 pre_check() {
 	cp build/lib*/pyfftw/pyfftw.*.so pyfftw

From f38a874a092c0bd236ae4d697f8055df3018dc76 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 8281adabbec0fdf2c201612941563bd5055ebf43 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From e8a17de00fccde8daa83030cc73fe834d6fb426a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 74b5dfe925733533fe728bc111c12b449298f7aa Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From b3b65580acfc9e4e8c64e3e296c1a90fd188038d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 0567253e5421a9e7890ec5a03dfad2ca5a3a3016 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From ae95aff3bea4613b1534f871bfd1ab7fadb644ba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 1b72a2b615818a337ebe6b0187160be3713c609f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 1721be140eefee40269d2df559202b5a7cff06f5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 7db427477c06b61e65c776b6df6932cec0754503 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (12 preceding siblings ...)
  2024-07-11 16:14 ` ahesford
@ 2024-07-18  0:56 ` ahesford
  2024-07-21 12:07 ` ahesford
                   ` (8 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-18  0:56 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint (leaf)
- [ ] opencv
- [ ] plplot (leaf)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [ ] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy
- [ ] urh (leaf)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [ ] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 38509 bytes --]

From c849c04aefb3a50b853c6a78b3907f539b282857 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 +++----
 .../patches/complex-include.patch             | 26 +++++++++++++++++++
 .../patches/fix-pytest-warning.patch          |  8 ------
 .../patches/version-relaxation.patch          | 14 ----------
 srcpkgs/python3-numpy/template                | 22 +++++++++-------
 5 files changed, 44 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/python3-numpy/patches/complex-include.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/complex-include.patch b/srcpkgs/python3-numpy/patches/complex-include.patch
new file mode 100644
index 00000000000000..70c25d8e5b5083
--- /dev/null
+++ b/srcpkgs/python3-numpy/patches/complex-include.patch
@@ -0,0 +1,26 @@
+From 9603c875eee87db746bf61c062663f728c87ff2d Mon Sep 17 00:00:00 2001
+From: mattip <matti.picus@gmail.com>
+Date: Sun, 23 Jun 2024 14:15:43 +0300
+Subject: [PATCH] avoid side-effect of 'include complex.h'
+
+---
+ numpy/_core/include/numpy/npy_common.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/numpy/_core/include/numpy/npy_common.h b/numpy/_core/include/numpy/npy_common.h
+index c6ef7a6ec66..3132b602a7c 100644
+--- a/numpy/_core/include/numpy/npy_common.h
++++ b/numpy/_core/include/numpy/npy_common.h
+@@ -379,6 +379,12 @@ typedef struct
+ 
+ #include <complex.h>
+ 
++// Downstream libraries like sympy would like to use I
++// see https://github.com/numpy/numpy/issues/26787
++#ifdef I
++#undef I
++#endif
++
+ #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
+ typedef _Dcomplex npy_cdouble;
+ typedef _Fcomplex npy_cfloat;
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 856d84a1032d0732c385315502657e8c68c5daff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 091c64a77980c3f1d14fc04f60e210d44fdcd40f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

---
 srcpkgs/gnuradio/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 58127cedd3ddc6..f512f953f07137 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.8.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include
@@ -27,7 +28,7 @@ python_version=3
 
 if [ "$CROSS_BUILD" ]; then
 	# CMake fails when cross-compiling.
-	configure_args+=" -DENABLE_TESTING=OFF"
+	configure_args+=" -DENABLE_TESTING=OFF -DPYBIND11_USE_CROSSCOMPILING=ON"
 fi
 
 if [ "${XBPS_TARGET_MACHINE%-musl}" = "i686" ]; then

From a7740e5282955cb51fc11c9b0111078d94987782 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 22f429b8d8bbb6718c930a16e30d2e55d1ac6173 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index aea4bfc3a265cf..0022fd863cc192 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.6.0
-revision=6
+revision=7
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From f9ac5a998d7a0627782aa66a9707e3ab13c0c49c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 55ad785debc144e6d6bafb5df29a6ced0774ab92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From ebe8d07a9276d287697ae24171cf71cae91ddea2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 3745c11614958637afbbde53b68f56e036420996 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 22cd92425719e4c789be6518195da0555c088bad Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 89f8719245f78280e9fa580060dfc1dd87c7a0f8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 3435493a0d988d327c8985e53a3d3d678a138725 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From aa4c9d3d0479189958ecd7ac1e20364c5dd2db0e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From c4fe94228de306a99c00818b23e1a622583eae70 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: update to 0.14.0.

---
 srcpkgs/python3-pyFFTW/patches/py312.patch | 14 --------------
 srcpkgs/python3-pyFFTW/template            |  8 ++++----
 2 files changed, 4 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-pyFFTW/patches/py312.patch

diff --git a/srcpkgs/python3-pyFFTW/patches/py312.patch b/srcpkgs/python3-pyFFTW/patches/py312.patch
deleted file mode 100644
index bd7a234e65da62..00000000000000
--- a/srcpkgs/python3-pyFFTW/patches/py312.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/versioneer.py
-+++ b/versioneer.py
-@@ -339,9 +339,9 @@
-     # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
-     # the top of versioneer.py for instructions on writing your setup.cfg .
-     setup_cfg = os.path.join(root, "setup.cfg")
--    parser = configparser.SafeConfigParser()
-+    parser = configparser.ConfigParser()
-     with open(setup_cfg, "r") as f:
--        parser.readfp(f)
-+        parser.read_file(f)
-     VCS = parser.get("versioneer", "VCS")  # mandatory
- 
-     def get(parser, name):
diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index ba1f6fc9e158ab..22c2aef45fcfaf 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,9 +1,9 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
-version=0.13.1
-revision=2
+version=0.14.0
+revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/pyFFTW/pyFFTW"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=ffc1b3e7f4f74ee38716d668d7606b5fbfded58343655c160c3644fc4acf5d55
+checksum=337e7cba161a78f0cdfc7903cb483d7ddc519e648c1b2e27ff9737f1e7d35854
 
 pre_check() {
 	cp build/lib*/pyfftw/pyfftw.*.so pyfftw

From 4cb03382e712f5a96e8dae5a8e1cc795a6d39a75 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 9e1341d7f807487fe61ea801f0e7bbdc16fc0615 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 3ee3e496741ee44becbd325f5da5c5e0fb13d9a0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 4ab369162c4a3460fd1d7ff364c1a4c66e2b7a2e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 3cc7e86f9461b7e56c37967a13c26362b2593311 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 77664f99239a60699bf40689e6beed87d8be9083 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 3ad6adc32d5bd3af92fb7c3229335ad4c9f58ec1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From ba6ff0cdc9706a7f03ef7acc67b90aae2fb6fd1c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From edf3550095acbb626f282d201b7669d3aaf94017 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From a656cfb68371ce37d990dcab6a6ded29963362d3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (13 preceding siblings ...)
  2024-07-18  0:56 ` ahesford
@ 2024-07-21 12:07 ` ahesford
  2024-07-21 16:08 ` tornaria
                   ` (7 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-21 12:07 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint (leaf)
- [ ] opencv
- [ ] plplot (leaf)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [ ] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy
- [ ] urh (leaf)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [ ] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 38226 bytes --]

From 69d17538efdfa2f0650babea874036f3b79ea085 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/24] python3-numpy: update to 2.0.0.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 +++----
 .../patches/complex-include.patch             | 26 +++++++++++++++++++
 .../patches/fix-pytest-warning.patch          |  8 ------
 .../patches/version-relaxation.patch          | 14 ----------
 srcpkgs/python3-numpy/template                | 22 +++++++++-------
 5 files changed, 44 insertions(+), 36 deletions(-)
 create mode 100644 srcpkgs/python3-numpy/patches/complex-include.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/complex-include.patch b/srcpkgs/python3-numpy/patches/complex-include.patch
new file mode 100644
index 00000000000000..70c25d8e5b5083
--- /dev/null
+++ b/srcpkgs/python3-numpy/patches/complex-include.patch
@@ -0,0 +1,26 @@
+From 9603c875eee87db746bf61c062663f728c87ff2d Mon Sep 17 00:00:00 2001
+From: mattip <matti.picus@gmail.com>
+Date: Sun, 23 Jun 2024 14:15:43 +0300
+Subject: [PATCH] avoid side-effect of 'include complex.h'
+
+---
+ numpy/_core/include/numpy/npy_common.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/numpy/_core/include/numpy/npy_common.h b/numpy/_core/include/numpy/npy_common.h
+index c6ef7a6ec66..3132b602a7c 100644
+--- a/numpy/_core/include/numpy/npy_common.h
++++ b/numpy/_core/include/numpy/npy_common.h
+@@ -379,6 +379,12 @@ typedef struct
+ 
+ #include <complex.h>
+ 
++// Downstream libraries like sympy would like to use I
++// see https://github.com/numpy/numpy/issues/26787
++#ifdef I
++#undef I
++#endif
++
+ #if defined(_MSC_VER) && !defined(__INTEL_COMPILER)
+ typedef _Dcomplex npy_cdouble;
+ typedef _Fcomplex npy_cfloat;
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..2adde47160b768 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.0
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 81f0c3aaaba48cf33a06bc0b82dc2fd3f4434ea4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/24] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 660e1448a650079865f05907468f7dfb26a1c068 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/24] gnuradio: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From 03f9c2ede5c1f1a23edd8a87e94208d6a33d485e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/24] mypaint: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From e3f9c6fa656de552683ea0bbd499981c0218f1b0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/24] opencv: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index ce94de9424d18d..20358997ba3a9a 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.7.0
-revision=1
+revision=2
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From c3b38d2d43d7b4aa97520f636bb1655a381667ba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/24] plplot: rebuild against python3-numpy-2.0.0

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 2dfc9ebf4b16d7bbdcc0c234c7252eba48ee11ac Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/24] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From bbfdd5228943569cf3a23707874644c9917383cb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/24] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 9f3ad3b2a89bd80f91fa999b439d65b90653ff29 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/24] python3-h5py: rebuild against python3-numpy-2.0.0

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 359e8ee284fc4ee39160877afa4a0e3f71437fc5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/24] python3-matplotlib: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 8c724092f793cb8dd867b29d4ca1cc9b22acaf4c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/24] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 4ec2abe38f8b6eb1803e6d6895406ca3abc38154 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/24] python3-numpy-stl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 712bb4a3389f710622ae59ec8a1049fe1d8bad2a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/24] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 7fec82907d4646d50c9c6d1aea31c82a92d355ff Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/24] python3-pyFFTW: update to 0.14.0.

---
 srcpkgs/python3-pyFFTW/patches/py312.patch | 14 --------------
 srcpkgs/python3-pyFFTW/template            |  8 ++++----
 2 files changed, 4 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-pyFFTW/patches/py312.patch

diff --git a/srcpkgs/python3-pyFFTW/patches/py312.patch b/srcpkgs/python3-pyFFTW/patches/py312.patch
deleted file mode 100644
index bd7a234e65da62..00000000000000
--- a/srcpkgs/python3-pyFFTW/patches/py312.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/versioneer.py
-+++ b/versioneer.py
-@@ -339,9 +339,9 @@
-     # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
-     # the top of versioneer.py for instructions on writing your setup.cfg .
-     setup_cfg = os.path.join(root, "setup.cfg")
--    parser = configparser.SafeConfigParser()
-+    parser = configparser.ConfigParser()
-     with open(setup_cfg, "r") as f:
--        parser.readfp(f)
-+        parser.read_file(f)
-     VCS = parser.get("versioneer", "VCS")  # mandatory
- 
-     def get(parser, name):
diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index ba1f6fc9e158ab..22c2aef45fcfaf 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,9 +1,9 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
-version=0.13.1
-revision=2
+version=0.14.0
+revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/pyFFTW/pyFFTW"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=ffc1b3e7f4f74ee38716d668d7606b5fbfded58343655c160c3644fc4acf5d55
+checksum=337e7cba161a78f0cdfc7903cb483d7ddc519e648c1b2e27ff9737f1e7d35854
 
 pre_check() {
 	cp build/lib*/pyfftw/pyfftw.*.so pyfftw

From 7f556f015cea1621eda3ca603923e0c7511b9b5f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/24] python3-pyopencl: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From af7e327d19cfb9c5ba7e9a05be60085f37e779c7 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/24] python3-pywt: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 923edb46804ea0755f6ab000c77d0679c6cc2332 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/24] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From b0cd556387d819cc907b2b2058177f3b3c464d92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/24] python3-scikit-image: rebuild against
 python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 10149e472c5892845b97f46afd91dab75182e083 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/24] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From de5bd4da815fa726a600a067026ff25c5975f4a6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/24] python3-scipy: rebuild against python3-numpy-2.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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 9e8a070ee3df124c11f8b567976bb79914eb3559 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/24] python3-tables: rebuild against python3-numpy-2.0.0

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From c7dc2811fd46552fc036f052e15a4df8943736d2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/24] python3-vispy: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From ee7bef6e505d6ca8f8b9b614c53f7b82723620ce Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 23/24] urh: rebuild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 1bbe0954c99ab534ff3e386bd747c15a6c0871fd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 24/24] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (14 preceding siblings ...)
  2024-07-21 12:07 ` ahesford
@ 2024-07-21 16:08 ` tornaria
  2024-07-22 14:33 ` [PR PATCH] [Updated] " ahesford
                   ` (6 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: tornaria @ 2024-07-21 16:08 UTC (permalink / raw)
  To: ml

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

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2241699549

Comment:
Note: sagemath 10.4 in our repo is already patched to support numpy 2.0, but it will need to be rebuilt.

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (15 preceding siblings ...)
  2024-07-21 16:08 ` tornaria
@ 2024-07-22 14:33 ` ahesford
  2024-07-23 17:37 ` ahesford
                   ` (5 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-22 14:33 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [ ] mypaint (leaf)
- [ ] opencv
- [ ] plplot (leaf)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [ ] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy
- [ ] urh (leaf)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [ ] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [ ] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 37573 bytes --]

From beaa7cc9a6959443d97ce66fe03ac247c73ab7a3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/25] python3-numpy: update to 2.0.1.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..cab4e3e506df30 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.1
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 7a545b61d968d3ab013f3e4201e13770e3fb7dc8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/25] common/build-helper/numpy.sh: update paths for
 python3-numpy-2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 7d075c06443149b439f2a7dcd7897bcb136d2360 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/25] gnuradio: rebuild against python3-numpy

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From 1a4735e4fe9b3145a60aacbbc6cfdb4b92bc65db Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/25] mypaint: rebuild against python3-numpy

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From e35f89f0b24079c98568a8425e3c9df532d10fd0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/25] opencv: rebuild against python3-numpy

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index ce94de9424d18d..20358997ba3a9a 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.7.0
-revision=1
+revision=2
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 14cdd854260568e4fc04863fbb6cd11e5e39543e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/25] plplot: rebuild against python3-numpy

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 7851a74aff64c6b94997718753d4a621e35cccec Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/25] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From de7ac296fe894598eb011300fa2be3b380c5f9a8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/25] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From c81845ddfe669c6b3f0e7e637752c579a7105452 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/25] python3-h5py: rebuild against python3-numpy

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 253a8f801507b2a8d4ed192cd8a7e33a2d121987 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/25] python3-matplotlib: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 4a43be4b9c5a83c70b3b8ed19b56e6483d67df9b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/25] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 76d1baf2f1ec833edcfc2d385decd59209cc8ca0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/25] python3-numpy-stl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 5486e8128a92946029630efb8441b557b10a8531 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/25] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 0bf8e7e8355e92cd39e0079ff417fdafe2099109 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:15:55 -0400
Subject: [PATCH 14/25] python3-pyFFTW: update to 0.14.0.

---
 srcpkgs/python3-pyFFTW/patches/py312.patch | 14 --------------
 srcpkgs/python3-pyFFTW/template            |  8 ++++----
 2 files changed, 4 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-pyFFTW/patches/py312.patch

diff --git a/srcpkgs/python3-pyFFTW/patches/py312.patch b/srcpkgs/python3-pyFFTW/patches/py312.patch
deleted file mode 100644
index bd7a234e65da62..00000000000000
--- a/srcpkgs/python3-pyFFTW/patches/py312.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/versioneer.py
-+++ b/versioneer.py
-@@ -339,9 +339,9 @@
-     # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
-     # the top of versioneer.py for instructions on writing your setup.cfg .
-     setup_cfg = os.path.join(root, "setup.cfg")
--    parser = configparser.SafeConfigParser()
-+    parser = configparser.ConfigParser()
-     with open(setup_cfg, "r") as f:
--        parser.readfp(f)
-+        parser.read_file(f)
-     VCS = parser.get("versioneer", "VCS")  # mandatory
- 
-     def get(parser, name):
diff --git a/srcpkgs/python3-pyFFTW/template b/srcpkgs/python3-pyFFTW/template
index ba1f6fc9e158ab..22c2aef45fcfaf 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,9 +1,9 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
-version=0.13.1
-revision=2
+version=0.14.0
+revision=1
 build_style=python3-module
-hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
+hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist python3-scipy $depends"
@@ -12,7 +12,7 @@ maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/pyFFTW/pyFFTW"
 distfiles="${homepage}/archive/v${version}.tar.gz"
-checksum=ffc1b3e7f4f74ee38716d668d7606b5fbfded58343655c160c3644fc4acf5d55
+checksum=337e7cba161a78f0cdfc7903cb483d7ddc519e648c1b2e27ff9737f1e7d35854
 
 pre_check() {
 	cp build/lib*/pyfftw/pyfftw.*.so pyfftw

From dfab54626f01390e03536b270342c95450068e53 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/25] python3-pyopencl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 6f85292f0929c87d9e0a5fd2d09f6a09baa69f31 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/25] python3-pywt: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 56a984c5df6a3a66d7d957eec9c16d5ad5467d6c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/25] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 736651ae6ff2438c19f7e0a9661cd815d149f5c8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/25] python3-scikit-image: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 1b5285022058f71261fbe6b092c1f671692d1664 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/25] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 77c44860f86eb1d1134f098240774e7cbed697a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/25] python3-scipy: rebuild against python3-numpy

---
 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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 2bb4a89bbb684a61fadf8977262da49597da52d5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/25] python3-tables: rebuild against python3-numpy

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 5c7ff728ad4fd32b5f3d17ea4b6766bdc69a5c14 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/25] python3-vispy: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From efa6a189d91fe383494efaf832972515fcb918a4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 22 Jul 2024 09:24:44 -0400
Subject: [PATCH 23/25] sagemath: reubild against python3-numpy-2.0.0

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f8e34d5955b3a1..befe33a0188687 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=10.4
-revision=1
+revision=2
 _pypi_version=${version/.beta/b}
 _pypi_version=${_pypi_version/.rc/rc}
 build_style=python3-pep517

From 72baf40962d7c99e9ef1ef1aff8bac0919cf0fcb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 24/25] urh: rebuild against python3-numpy

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From dbe6a42dc3ebbfb953b43b19ad09f2fc12cd2814 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 25/25] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (16 preceding siblings ...)
  2024-07-22 14:33 ` [PR PATCH] [Updated] " ahesford
@ 2024-07-23 17:37 ` ahesford
  2024-07-31 12:45 ` ahesford
                   ` (4 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-23 17:37 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [x] mypaint (leaf; launches and interacts with me)
- [ ] opencv
- [x] plplot (leaf; launches and allows me to plot lines in a trivial test)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [ ] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy
- [x] urh (leaf; I can launch this, but have no means to really test it)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [x] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [ ] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 36076 bytes --]

From 106104e67360bbf30fbfee5378a2cb0186cad140 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/25] python3-numpy: update to 2.0.1.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..cab4e3e506df30 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.1
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 751ae1d78a5f0711b100d5ccf20d890a65601349 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/25] common/build-helper/numpy.sh: update paths for
 python3-numpy>=2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 999e04986690f343e478ec7c3ea0fbe85932cb29 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/25] gnuradio: rebuild against python3-numpy

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From dc12107ae6ad8ecbe76a6fbf6870858b1711331b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/25] mypaint: rebuild against python3-numpy

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From ed5a379e43e64bfef0d6c4844f6bc19d0ed347c3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/25] opencv: rebuild against python3-numpy

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index ce94de9424d18d..20358997ba3a9a 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -1,7 +1,7 @@
 # Template file for 'opencv'
 pkgname=opencv
 version=4.7.0
-revision=1
+revision=2
 create_wrksrc=yes
 build_wrksrc=${pkgname}-${version}
 build_style=cmake
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 65b8a6f4ade88949707ab93e4fc2c84743c5b9ba Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/25] plplot: rebuild against python3-numpy

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From 4f62a9e9b627184b64313c772f5f3fd3d3a06ec0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/25] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From eb04314f8f8227dbf9110a2e3acd2a1fc3766260 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/25] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From e673415f4e87c9bfcff9d4451a4db01982f707fc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/25] python3-h5py: rebuild against python3-numpy

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 87f8db3f79e33e878df9b00c1c2e179f692a701f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/25] python3-matplotlib: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From 91cc4e420b2582c223103301af23dfcc1a9b875e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/25] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 8fb83ed0cc29713af8cf888abde94fb926e5b02e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/25] python3-numpy-stl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 0ef128774e1a115cc6ef2024bff5774268413389 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/25] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From a8d4fcde0cf88e553f222bb92e0f73e7ec18e4f6 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 23 Jul 2024 13:36:16 -0400
Subject: [PATCH 14/25] python3-pyFFTW: rebuild against python3-numpy

---
 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 22c2aef45fcfaf..dbcdd69070fb5c 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.14.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"

From b7a190f7716e21c542cf659f3bfd054ddf86f672 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/25] python3-pyopencl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 4385470f1a2a0339ab506294ab69b8dd6b25a0ed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/25] python3-pywt: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 34d6f338bb3fea6b6d5c838023c677eab50ded50 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/25] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 4b602bb90a3cf1b513a41dd94495c4ea35f19a92 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/25] python3-scikit-image: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From ab7f8f59fe58b0f6cbded1590a64da9461a00209 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/25] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From b24fcb13926121acaaf062825b26e1cc3ea0773d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/25] python3-scipy: rebuild against python3-numpy

---
 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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 765cb05f42e93c60dff8501da9636e53697a62c9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/25] python3-tables: rebuild against python3-numpy

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From acc0bfa794668a3e6be1b6ac18fc45dd6494cda3 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/25] python3-vispy: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From ca48e2eba7fee086cdfd111f40c758ae02f89dfb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 22 Jul 2024 09:24:44 -0400
Subject: [PATCH 23/25] sagemath: reubild against python3-numpy

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f8e34d5955b3a1..befe33a0188687 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=10.4
-revision=1
+revision=2
 _pypi_version=${version/.beta/b}
 _pypi_version=${_pypi_version/.rc/rc}
 build_style=python3-pep517

From 326a734fe02bc344fba1a82e087d2e19161eb872 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 24/25] urh: rebuild against python3-numpy

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From b25822a170ab657dca40f7df469aee89950cdbfc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 25/25] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (17 preceding siblings ...)
  2024-07-23 17:37 ` ahesford
@ 2024-07-31 12:45 ` ahesford
  2024-07-31 13:41 ` ahesford
                   ` (3 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-31 12:45 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [x] mypaint (leaf; launches and interacts with me)
- [x] opencv
- [x] plplot (leaf; launches and allows me to plot lines in a trivial test)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [x] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy (leaf)
- [x] urh (leaf; I can launch this, but have no means to really test it)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [x] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [x] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 35897 bytes --]

From 10e787d712ac41f41665e8c9a4fcd88b66ca4361 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/25] python3-numpy: update to 2.0.1.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..cab4e3e506df30 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.1
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From fe8e8ecaf7537334412ca7988a35304c32d745af Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/25] common/build-helper/numpy.sh: update paths for
 python3-numpy>=2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 426c6ed59c5efa2eb1b4134d5191d008237d95b5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/25] gnuradio: rebuild against python3-numpy

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From 8a2d1b09e92801bd69a54d46e4d145a759ce115b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/25] mypaint: rebuild against python3-numpy

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From 2a3c746980048b5d236285db28c3854f79cc82da Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/25] opencv: rebuild against python3-numpy

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 96c6c8173efd95..b02ab9906bad09 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 099df026beeacf2392263d540e67d6bc72ad61b0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/25] plplot: rebuild against python3-numpy

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From a187e64505c243269538b8e4a65f3e2e44371ed8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/25] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 470d00fe332ce3addbdef18a189a86e2fa55532a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/25] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From ef229c955352eb1b8b5c94c526af6b69f3ddc541 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/25] python3-h5py: rebuild against python3-numpy

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From f506cdac331380b69b4eec0ae9d7ebab334ae8ed Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/25] python3-matplotlib: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From c7dbb2e1ec1b32f3177505a8a9a96faaae862148 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/25] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 68e6827104b3f5923f01c9119652cd462ee401d5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/25] python3-numpy-stl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 349e27915fe66bc9e88e65a000b35b76ff2fcdfe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/25] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 759c7dadcf2ddefb4b02335257e057107eeaa506 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 23 Jul 2024 13:36:16 -0400
Subject: [PATCH 14/25] python3-pyFFTW: rebuild against python3-numpy

---
 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 22c2aef45fcfaf..dbcdd69070fb5c 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.14.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"

From a9c8fd084d5d3d506dfe0563defced2c314c5bfd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/25] python3-pyopencl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 7862161dc0b35cb38f8846606cd93f36db8e1224 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/25] python3-pywt: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 520b056ef58aeff12da3d86c493db4503315aefc Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/25] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From bada7ff9bb4e861f94c49c28a87bf9ac440a8d33 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/25] python3-scikit-image: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From 7f03498cb401cfc9c1620bea82f99079ed007561 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/25] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 6a61fcba9e0e0a137106704ede1a433dd202fa0b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/25] python3-scipy: rebuild against python3-numpy

---
 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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 4c15fc793196368536737aca79c9bc33fe7d8cea Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/25] python3-tables: rebuild against python3-numpy

---
 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 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 4d7d8b9caf88d3496a77433b705f7210069a7ee5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/25] python3-vispy: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 0facc5dc4ed53d9d8ba101bb80046fc9ed971099 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 22 Jul 2024 09:24:44 -0400
Subject: [PATCH 23/25] sagemath: reubild against python3-numpy

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f8e34d5955b3a1..befe33a0188687 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=10.4
-revision=1
+revision=2
 _pypi_version=${version/.beta/b}
 _pypi_version=${_pypi_version/.rc/rc}
 build_style=python3-pep517

From 1f258517566c04040a07537cb3f36e855f0442de Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 24/25] urh: rebuild against python3-numpy

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From cfac04782806655c4a03494c6ae97e53d9829691 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 25/25] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (18 preceding siblings ...)
  2024-07-31 12:45 ` ahesford
@ 2024-07-31 13:41 ` ahesford
  2024-07-31 17:44 ` ahesford
                   ` (2 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-31 13:41 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [x] mypaint (leaf; launches and interacts with me)
- [x] opencv
- [x] plplot (leaf; launches and allows me to plot lines in a trivial test)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [x] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy (leaf)
- [x] urh (leaf; I can launch this, but have no means to really test it)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [x] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [x] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 42271 bytes --]

From bb9e462691305c9c5a6fba06afd419aee8033813 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/25] python3-numpy: update to 2.0.1.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..cab4e3e506df30 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.1
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 44976fcf7247d928af2a927f7fd60661a66a3aef Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/25] common/build-helper/numpy.sh: update paths for
 python3-numpy>=2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From 8c88b9adf05fa9165cf742bcc4912202fbc431be Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/25] gnuradio: rebuild against python3-numpy

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From 37e1a9de46bf67ba2c90663482faa97d1d052c6f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/25] mypaint: rebuild against python3-numpy

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From fb12326d7469712b98e72ef12612a0f826272320 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/25] opencv: rebuild against python3-numpy

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 96c6c8173efd95..b02ab9906bad09 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 5bd9becb67b107cfe87e391fc56366bd2e779721 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/25] plplot: rebuild against python3-numpy

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From e3b8f24dcdf13e5384040d8b3e6051fd9fcbc024 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/25] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 4c3c1030869f6b08b8949fcabd23b422cc24bf51 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/25] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From 7fc1a791a7be7cdf8e02b6f789a09b3e91e4be5e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/25] python3-h5py: rebuild against python3-numpy

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From 9a6b1540818afef5653e1aaeb0775b9b0b7af821 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/25] python3-matplotlib: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From d06962ab4c95a1ffdc321ae7bee359d2fa1be9a1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/25] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 13f3649d5157225ff6f906abf9ece83bd97ab188 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/25] python3-numpy-stl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From 884d6ae9a1db80e8ffaca1aeb10e861c810fca31 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/25] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 4c8240a581740b1b8d41eba337f75caa20314240 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 23 Jul 2024 13:36:16 -0400
Subject: [PATCH 14/25] python3-pyFFTW: rebuild against python3-numpy

---
 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 22c2aef45fcfaf..dbcdd69070fb5c 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.14.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"

From bfc9fb439ea21786fd1211212b0e765bce46c05c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/25] python3-pyopencl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 03cb1e20fb5c754445d66808bf31512618111128 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/25] python3-pywt: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From cd77f98ff8df2a040944c344206fbf4fc719f189 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/25] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From a701462c1aa7cb6b9ba80538c9d708647483f78e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/25] python3-scikit-image: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From fc408319f0b381698e72b18c14db7af82668cccb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/25] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From c6614a3eff06956ddbb63da1e2fe342c7918fb6d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/25] python3-scipy: rebuild against python3-numpy

---
 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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From 32cb8703798ca0be7259914e3521749dab59c827 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 21/25] python3-tables: rebuild against python3-numpy

---
 .../python3-tables/patches/numpy-2.0.patch    | 149 ++++++++++++++++++
 srcpkgs/python3-tables/template               |   2 +-
 2 files changed, 150 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-tables/patches/numpy-2.0.patch

diff --git a/srcpkgs/python3-tables/patches/numpy-2.0.patch b/srcpkgs/python3-tables/patches/numpy-2.0.patch
new file mode 100644
index 00000000000000..58ad624c994975
--- /dev/null
+++ b/srcpkgs/python3-tables/patches/numpy-2.0.patch
@@ -0,0 +1,149 @@
+diff -ur a/setup.py b/setup.py
+--- a/setup.py	2024-07-31 09:34:03.585371800 -0400
++++ b/setup.py	2024-07-31 09:35:01.472775930 -0400
+@@ -161,7 +161,7 @@
+         # https://pip.pypa.io/en/stable/reference/pip_install.html#installation-order
+         # at this point we can be sure pip has already installed numpy
+         numpy_incl = pkg_resources.resource_filename(
+-            "numpy", "core/include"
++            "numpy", "_core/include"
+         )
+ 
+         for ext in self.extensions:
+@@ -505,7 +505,7 @@
+ 
+     # -----------------------------------------------------------------
+ 
+-    def_macros = [("NDEBUG", 1)]
++    def_macros = [("NDEBUG", 1), ("NPY_TARGET_VERSION", "NPY_1_20_API_VERSION"),]
+     # Define macros for Windows platform
+     if os.name == "nt":
+         def_macros.append(("WIN32", 1))
+diff -ur a/src/utils.c b/src/utils.c
+--- a/src/utils.c	2024-07-31 09:34:03.588371821 -0400
++++ b/src/utils.c	2024-07-31 09:36:08.648172551 -0400
+@@ -767,8 +767,8 @@
+     return float_id;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex64, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex64, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 4, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -792,8 +792,8 @@
+     return float_id;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex128, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex128, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 8, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -824,8 +824,8 @@
+     return err;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex192, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex192, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 12, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -856,8 +856,8 @@
+     return err;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex256, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex256, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 16, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+diff -ur a/tables/atom.py b/tables/atom.py
+--- a/tables/atom.py	2024-07-31 09:34:03.589371829 -0400
++++ b/tables/atom.py	2024-07-31 09:36:43.663352202 -0400
+@@ -276,15 +276,15 @@
+             >>> atom1 = StringAtom(itemsize=10)  # same as ``atom2``
+             >>> atom2 = Atom.from_kind('string', 10)  # same as ``atom1``
+             >>> atom3 = IntAtom()
+-            >>> atom1 == 'foo'
++            >>> bool(atom1 == 'foo')
+             False
+-            >>> atom1 == atom2
++            >>> bool(atom1 == atom2)
+             True
+-            >>> atom2 != atom1
++            >>> bool(atom2 != atom1)
+             False
+-            >>> atom1 == atom3
++            >>> bool(atom1 == atom3)
+             False
+-            >>> atom3 != atom2
++            >>> bool(atom3 != atom2)
+             True
+ 
+     """
+diff -ur a/tables/index.py b/tables/index.py
+--- a/tables/index.py	2024-07-31 09:34:03.591371843 -0400
++++ b/tables/index.py	2024-07-31 09:38:32.692911595 -0400
+@@ -581,7 +581,8 @@
+                 # Add a second offset in this case
+                 # First normalize the number of rows
+                 offset2 = (nrow % self.nslicesblock) * slicesize // lbucket
+-                idx += offset2
++		assert offset2 < 2**(indsize*8)
++                idx += np.asarray(offset2).astype(idx.dtype)
+         # Add the last row at the beginning of arr & idx (if needed)
+         if (indsize == 8 and nelementsILR > 0):
+             # It is possible that the values in LR are already sorted.
+@@ -622,11 +623,11 @@
+             show_stats("Entering final_idx32", tref)
+         # Do an upcast first in order to add the offset.
+         idx = idx.astype('uint64')
+-        idx += offset
++        idx += np.asarray(offset).astype(idx.dtype)
+         # The next partition is valid up to table sizes of
+         # 2**30 * 2**18 = 2**48 bytes, that is, 256 Tera-elements,
+         # which should be a safe figure, at least for a while.
+-        idx //= self.lbucket
++        idx //= np.asarray(self.lbucket).astype(idx.dtype)
+         # After the division, we can downsize the indexes to 'uint32'
+         idx = idx.astype('uint32')
+         if profile:
+@@ -2002,7 +2003,7 @@
+                 else:
+                     self.indicesLR._read_index_slice(start, stop, idx)
+                 if indsize == 8:
+-                    idx //= lbucket
++                    idx //= np.asarray(lbucket).astype(idx.dtype)
+                 elif indsize == 2:
+                     # The chunkmap size cannot be never larger than 'int_'
+                     idx = idx.astype("int_")
+diff -ur a/tables/utils.py b/tables/utils.py
+--- a/tables/utils.py	2024-07-31 09:34:03.606371947 -0400
++++ b/tables/utils.py	2024-07-31 09:39:41.246261430 -0400
+@@ -75,7 +75,7 @@
+ # with atom from a generic python type.  If copy is stated as True, it
+ # is assured that it will return a copy of the object and never the same
+ # object or a new one sharing the same memory.
+-def convert_to_np_atom(arr, atom, copy=False):
++def convert_to_np_atom(arr, atom, copy=None):
+     """Convert a generic object into a NumPy object compliant with atom."""
+ 
+     # First, convert the object into a NumPy array
+@@ -109,7 +109,7 @@
+ 
+     # Check whether the object needs to be copied to make the operation
+     # safe to in-place conversion.
+-    copy = atom.type in ['time64']
++    copy = True if atom.type in ['time64'] else None
+     nparr = convert_to_np_atom(object, atom, copy)
+     # Finally, check the byteorder and change it if needed
+     byteorder = byteorders[nparr.dtype.byteorder]
diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From f86c524f16eaa4fce45d699b54c43b85574ba9b2 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/25] python3-vispy: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From bcf0e1ced0ad01f1b76c78b4b9dad30cbb3d7df4 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 22 Jul 2024 09:24:44 -0400
Subject: [PATCH 23/25] sagemath: reubild against python3-numpy

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f8e34d5955b3a1..befe33a0188687 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=10.4
-revision=1
+revision=2
 _pypi_version=${version/.beta/b}
 _pypi_version=${_pypi_version/.rc/rc}
 build_style=python3-pep517

From 5dd9d59681e596b2b15eaa33284e3930bb8a4044 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 24/25] urh: rebuild against python3-numpy

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 72b55b58590b8371084e1eaa544f8e9f88af01b9 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 25/25] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Updated] [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (19 preceding siblings ...)
  2024-07-31 13:41 ` ahesford
@ 2024-07-31 17:44 ` ahesford
  2024-07-31 19:12 ` [PR PATCH] [Closed]: " ahesford
  2024-07-31 19:13 ` ahesford
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-31 17:44 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ahesford/void-packages numpy
https://github.com/void-linux/void-packages/pull/51077

[WIP] NumPy 2.0
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [x] mypaint (leaf; launches and interacts with me)
- [x] opencv
- [x] plplot (leaf; launches and allows me to plot lines in a trivial test)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [x] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy (leaf)
- [x] urh (leaf; I can launch this, but have no means to really test it)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [x] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [x] python3-bokeh (leaf)
- [ ] python3-imageio
- [ ] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [ ] python3-pycollada
- [ ] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [ ] python3-tifffile
- [ ] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [ ] xdot (leaf)

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-numpy-51077.patch --]
[-- Type: text/x-diff, Size: 45659 bytes --]

From 301ba6757c80fe81936154fbede1368125a45b84 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:07:16 -0400
Subject: [PATCH 01/27] python3-numpy: update to 2.0.1.

---
 .../python3-numpy/files/fenv-constants.patch  | 10 ++++-----
 .../patches/fix-pytest-warning.patch          |  8 -------
 .../patches/version-relaxation.patch          | 14 ------------
 srcpkgs/python3-numpy/template                | 22 +++++++++++--------
 4 files changed, 18 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
 delete mode 100644 srcpkgs/python3-numpy/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-numpy/files/fenv-constants.patch b/srcpkgs/python3-numpy/files/fenv-constants.patch
index 987ad4e346ffa5..075cac8a0820c6 100644
--- a/srcpkgs/python3-numpy/files/fenv-constants.patch
+++ b/srcpkgs/python3-numpy/files/fenv-constants.patch
@@ -1,11 +1,11 @@
---- numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:53:51.998825328 +1000
-+++ numpy/core/src/npymath/ieee754.c.src	2020-09-20 14:54:03.611889518 +1000
+--- numpy/_core/src/npymath/ieee754.c.src.orig	2024-07-02 11:50:48.519261116 -0400
++++ numpy/_core/src/npymath/ieee754.c.src	2024-07-02 11:51:06.336360850 -0400
 @@ -8,6 +8,8 @@
  #include "npy_math_private.h"
  #include "numpy/utils.h"
  
 +#include "fenv-constants.h"
 +
- #ifndef HAVE_COPYSIGN
- double npy_copysign(double x, double y)
- {
+ /*
+  The below code is provided for compilers which do not yet provide C11 compatibility (gcc 4.5 and older)
+  */
diff --git a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch b/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
deleted file mode 100644
index 990ab80197542c..00000000000000
--- a/srcpkgs/python3-numpy/patches/fix-pytest-warning.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest.ini	2023-06-16 22:48:37.211072200 -0300
-+++ b/pytest.ini	2023-06-19 22:52:00.230063231 -0300
-@@ -27,3 +27,5 @@
-     ignore:\n\n  `numpy.distutils`:DeprecationWarning
- # Ignore mypy >= 0.971 DeprecationWarnings
-     ignore:path is deprecated\. Use files\(\) instead:DeprecationWarning:mypy
-+# Ignore warning raised when importing setuptools.command.
-+    ignore:pkg_resources is deprecated as an API:DeprecationWarning
diff --git a/srcpkgs/python3-numpy/patches/version-relaxation.patch b/srcpkgs/python3-numpy/patches/version-relaxation.patch
deleted file mode 100644
index f36972e5cc96a7..00000000000000
--- a/srcpkgs/python3-numpy/patches/version-relaxation.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-As with SciPy, NumPy abuses specifications of *build requirements* as a means
-to control the environment under which wheels are built for distribution.
-
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,7 +2,7 @@
- build-backend = "mesonpy"
- requires = [
-     "Cython>=0.29.34,<3.1",
--    "meson-python>=0.15.0,<0.16.0",
-+    "meson-python>=0.15.0",
- ]
- 
- [project]
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index e6b6accb42ab4a..cab4e3e506df30 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-numpy'
 pkgname=python3-numpy
-version=1.26.4
+version=2.0.1
 revision=1
 build_style=python3-pep517
 build_helper="meson qemu"
@@ -19,7 +19,7 @@ license="BSD-3-Clause"
 homepage="https://www.numpy.org/"
 changelog="https://github.com/numpy/numpy/releases"
 distfiles="${PYPI_SITE}/n/numpy/numpy-${version}.tar.gz"
-checksum=2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010
+checksum=485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3
 alternatives="numpy:f2py:/usr/bin/f2py3"
 
 build_options="openblas"
@@ -42,14 +42,10 @@ fi
 post_patch() {
 	case "${XBPS_TARGET_MACHINE}" in
 		armv5tel-musl)
-			cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
+			cp "${FILESDIR}/fenv-constants.h" numpy/_core/src/npymath/
 			patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
 			;;
 	esac
-
-	if [ "$XBPS_TARGET_LIBC" = musl ] ; then
-		vsed -i 's|"backtrace",||' numpy/core/setup_common.py
-	fi
 }
 
 do_check() {
@@ -77,9 +73,17 @@ do_check() {
 	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
 	python3 -m installer --destdir "${testdir}" dist/numpy*.whl
 
+	cd "${testdir}"
 	PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \
-		python3 runtests.py --no-build -- \
-			-n "${XBPS_MAKEJOBS}" ${_skip+-k "not(${_skip#or})"}
+		python3 <<-EOF
+			import numpy
+			numpy.test(
+			    extra_argv=[
+			        '-n', '${XBPS_MAKEJOBS}',
+			        ${_skip+'-k', 'not(${_skip#or})'}
+			    ],
+			)
+			EOF
 }
 
 post_install() {

From 1ae974ed3bae5e6f2c5a2d07752a8dbf07cfe75f Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 15:09:53 -0400
Subject: [PATCH 02/27] common/build-helper/numpy.sh: update paths for
 python3-numpy>=2.0.0

---
 common/build-helper/numpy.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/build-helper/numpy.sh b/common/build-helper/numpy.sh
index e0856dbca7cf3c..0adce85e151fde 100644
--- a/common/build-helper/numpy.sh
+++ b/common/build-helper/numpy.sh
@@ -19,8 +19,8 @@ fi
 
 # python3-setuptools finds numpy libs and headers on the host first;
 # adding search paths up front allows the target to take priority
-CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
-LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/lib"
+CFLAGS+=" -I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
+LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/lib"
 LDFLAGS+=" -L${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/random/lib"
 
 # distutils from python3-numpy looks to environment variables F77 and
@@ -45,7 +45,7 @@ if [[ "${build_helper}" = *meson* ]]; then
 		mkdir -p "${XBPS_WRAPPERDIR}/meson"
 		cat > "${_npy_meson_cross}" <<-EOF
 			[properties]
-			numpy-include-dir = '${_cross_py_site}/numpy/core/include'
+			numpy-include-dir = '${_cross_py_site}/numpy/_core/include'
 			pythran-include-dir = '${_cross_py_site}/pythran'
 			EOF
 	fi

From c92f0d0381e3bf81aa9c3ff270bf94937e95557d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:18:04 -0400
Subject: [PATCH 03/27] gnuradio: rebuild against python3-numpy

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

diff --git a/srcpkgs/gnuradio/template b/srcpkgs/gnuradio/template
index 66eb0e62629c94..88dd446a846d25 100644
--- a/srcpkgs/gnuradio/template
+++ b/srcpkgs/gnuradio/template
@@ -1,8 +1,9 @@
 # Template file for 'gnuradio'
 pkgname=gnuradio
 version=3.10.10.0
-revision=1
+revision=2
 build_style=cmake
+build_helper="python3"
 conf_files="/etc/gnuradio/conf.d/*"
 configure_args="-DMATHJAX2_USE_ROOT=/usr/share/mathjax
  -DZEROMQ_INCLUDE_DIRS=${XBPS_CROSS_BASE}/usr/include

From c68ddd770ceaa54b47af673f39f6be9811f970c0 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:13:46 -0400
Subject: [PATCH 04/27] mypaint: rebuild against python3-numpy

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

diff --git a/srcpkgs/mypaint/template b/srcpkgs/mypaint/template
index 1a1d995bd7e7cd..d5fdb8d67cf5ca 100644
--- a/srcpkgs/mypaint/template
+++ b/srcpkgs/mypaint/template
@@ -1,7 +1,7 @@
 # Template file for 'mypaint'
 pkgname=mypaint
 version=2.0.1
-revision=5
+revision=6
 build_style=python3-module
 pycompile_dirs="/usr/share/mypaint"
 hostmakedepends="swig pkg-config gettext python3-setuptools python3-numpy python3"

From f2d3f5ca24a5a5362076f83d7dc60f02d5167744 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 05/27] opencv: rebuild against python3-numpy

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

diff --git a/srcpkgs/opencv/template b/srcpkgs/opencv/template
index 96c6c8173efd95..b02ab9906bad09 100644
--- a/srcpkgs/opencv/template
+++ b/srcpkgs/opencv/template
@@ -33,7 +33,7 @@ make_check=no
 if [ "$CROSS_BUILD" ]; then
 	# Tell opencv where to find python and numpy
 	configure_args+=" -DPYTHON3_INCLUDE_PATH=${XBPS_CROSS_BASE}/${py3_inc}
-	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/core/include"
+	 -DPYTHON3_NUMPY_INCLUDE_DIRS=${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include"
 fi
 
 case "$XBPS_TARGET_MACHINE" in

From 7c02d6b7bba9a302dd280f34d94624e9ee329e99 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:12:42 -0400
Subject: [PATCH 06/27] plplot: rebuild against python3-numpy

---
 srcpkgs/plplot/template | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/plplot/template b/srcpkgs/plplot/template
index a80e12310e9338..b17eee96f21240 100644
--- a/srcpkgs/plplot/template
+++ b/srcpkgs/plplot/template
@@ -1,11 +1,14 @@
 # Template file for 'plplot'
 pkgname=plplot
 version=5.15.0
-revision=5
+revision=6
 build_style=cmake
-build_helper="qemu"
-configure_args="-DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
- -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3"
+build_helper="qemu numpy"
+configure_args="
+ -DPL_FREETYPE_FONT_PATH=/usr/share/fonts/TTF
+ -DCMAKE_NATIVE_BINARY_DIR=/usr -DPREBUILT_DOC=ON -DLUA_DIR=/usr/lib/lua/5.3
+ -DCMAKE_C_FLAGS=-I${XBPS_CROSS_BASE}/${py3_sitelib}/numpy/_core/include
+"
 hostmakedepends="pkg-config gcc-fortran swig freefont-ttf
  lua53 python3-numpy python3-setuptools plplot-devel"
 makedepends="pango-devel cairo-devel freetype-devel libqhull-devel

From de9b12d545620a65b7be08a3a5a3242a2e824ee1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:07:21 -0400
Subject: [PATCH 07/27] python3-Bottleneck: update to 1.4.0.

---
 srcpkgs/python3-Bottleneck/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-Bottleneck/template b/srcpkgs/python3-Bottleneck/template
index afafcd572ddb58..1c9400da55a2ec 100644
--- a/srcpkgs/python3-Bottleneck/template
+++ b/srcpkgs/python3-Bottleneck/template
@@ -1,9 +1,10 @@
 # Template file for 'python3-Bottleneck'
 pkgname=python3-Bottleneck
-version=1.3.7
+version=1.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-numpy"
+build_style=python3-pep517
+make_check_target=".xbps-testdir/*/${py3_sitelib}/bottleneck/tests"
+hostmakedepends="python3-setuptools python3-versioneer python3-wheel python3-numpy"
 makedepends="python3-devel"
 depends="python3-numpy"
 checkdepends="python3-pytest-xdist $depends"
@@ -11,8 +12,8 @@ short_desc="Fast NumPy array functions written in C (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/kwgoodman/bottleneck"
-distfiles="${PYPI_SITE}/B/Bottleneck/Bottleneck-${version}.tar.gz"
-checksum=e1467e373ad469da340ed0ff283214d6531cc08bfdca2083361a3aa6470681f8
+distfiles="${PYPI_SITE}/b/bottleneck/bottleneck-${version}.tar.gz"
+checksum=beb36df519b8709e7d357c0c9639b03b885ca6355bbf5e53752c685de51605b8
 
 post_install() {
 	rm -f ${DESTDIR}/usr/lib/python*/site-packages/bottleneck/LICENSE

From 7767c4f20a921e8222dbf037dd551c68b4ad3b35 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 14:06:53 -0400
Subject: [PATCH 08/27] python3-PyOpenGL-accelerate: rebuild without
 python3-numpy

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

diff --git a/srcpkgs/python3-PyOpenGL-accelerate/template b/srcpkgs/python3-PyOpenGL-accelerate/template
index cec8b8c0bc6f4d..2161cd9b433d47 100644
--- a/srcpkgs/python3-PyOpenGL-accelerate/template
+++ b/srcpkgs/python3-PyOpenGL-accelerate/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-PyOpenGL-accelerate'
 pkgname=python3-PyOpenGL-accelerate
 version=3.1.7
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython"
-makedepends="python3-devel python3-numpy"
-depends="python3-numpy"
+makedepends="python3-devel"
+depends="python3"
 short_desc="Acceleration code for PyOpenGL (Python3)"
 maintainer="Alain Kalker <a.c.kalker@gmail.com>"
 license="BSD-3-Clause"

From e465dcf5dba10eb1cd022fc0dee17b35cf751315 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:33:54 -0400
Subject: [PATCH 09/27] python3-h5py: rebuild against python3-numpy

---
 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 e71350fbf60ecb..c77df7c1123719 100644
--- a/srcpkgs/python3-h5py/template
+++ b/srcpkgs/python3-h5py/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-h5py'
 pkgname=python3-h5py
 version=3.11.0
-revision=1
+revision=2
 build_style=python3-module
 build_helper="numpy"
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-pkgconfig"

From e4bfd9243f19cda2e0cdd4cc0f5e74d9ddb69b84 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 12:56:19 -0400
Subject: [PATCH 10/27] python3-matplotlib: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index d82d890245dd88..56af299ac222f2 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
 version=3.9.1
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_build_args="-Csetup-args=-Dsystem-freetype=true

From edff64036af733131ccbcc04fabd5831b2f9e80c Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 11/27] python3-numexpr: update to 2.10.1.

---
 srcpkgs/python3-numexpr/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-numexpr/template b/srcpkgs/python3-numexpr/template
index 4e4b9dc3177840..d148218d101708 100644
--- a/srcpkgs/python3-numexpr/template
+++ b/srcpkgs/python3-numexpr/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-numexpr'
 pkgname=python3-numexpr
-version=2.8.3
-revision=3
-build_style=python3-module
-build_helper=numpy
-hostmakedepends="python3-wheel"
+version=2.10.1
+revision=1
+build_style=python3-pep517
+build_helper="numpy"
+make_check_args="-k not(test_max_threads_unset)"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel python3-numpy"
-depends="python3-numpy python3-packaging"
-checkdepends="${depends} python3-pytest-xdist"
+depends="python3-numpy"
+checkdepends="${depends} python3-pytest"
 short_desc="Fast numerical expression evaluator for NumPy (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pydata/numexpr"
 distfiles="https://github.com/pydata/numexpr/archive/v${version}.tar.gz"
-checksum=389ceefca74eff30ec3fd03fc4c3b7ab3df8f22d1f235117a392ce702ed208c0
+checksum=e499bd19a7fd9803d5ec1b2cff2e0a11a2f01a109d5326e5a09eff590448c793
 
 pre_check() {
 	python3 setup.py build_ext --inplace

From 996226dafbe90b086714056869171948a582c0a8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:03 -0400
Subject: [PATCH 12/27] python3-numpy-stl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-numpy-stl/template b/srcpkgs/python3-numpy-stl/template
index 9257dca68817b6..72a7448c990aad 100644
--- a/srcpkgs/python3-numpy-stl/template
+++ b/srcpkgs/python3-numpy-stl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-numpy-stl'
 pkgname=python3-numpy-stl
 version=2.17.1
-revision=3
+revision=4
 build_style=python3-module
 build_helper="numpy"
 # skip flake8 tests

From f6e0d6e625f5a51212bf5ee26aba1a94edbe8ec5 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:58:02 -0400
Subject: [PATCH 13/27] python3-pandas: update to 2.2.2.

---
 .../patches/version-relaxation.patch          | 24 -------------------
 srcpkgs/python3-pandas/template               | 10 ++++----
 2 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 srcpkgs/python3-pandas/patches/version-relaxation.patch

diff --git a/srcpkgs/python3-pandas/patches/version-relaxation.patch b/srcpkgs/python3-pandas/patches/version-relaxation.patch
deleted file mode 100644
index c94e5fa170eebe..00000000000000
--- a/srcpkgs/python3-pandas/patches/version-relaxation.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ./pyproject.toml.orig	2023-10-02 14:33:56.359267774 -0400
-+++ ./pyproject.toml	2023-10-02 14:35:29.662565059 -0400
-@@ -2,8 +2,8 @@
- # Minimum requirements for the build system to execute.
- # See https://github.com/scipy/scipy/pull/12940 for the AIX issue.
- requires = [
--    "meson-python==0.13.1",
--    "meson==1.2.1",
-+    "meson-python",
-+    "meson",
-     "wheel",
-     "Cython>=0.29.33,<3",  # Note: sync with setup.py, environment.yml and asv.conf.json
-     # Note: numpy 1.25 has a backwards compatible C API by default
---- ./meson.build.orig	2023-10-02 14:42:02.161816469 -0400
-+++ ./meson.build	2023-09-20 15:24:13.000000000 -0400
-@@ -4,7 +4,7 @@
-     'c', 'cpp', 'cython',
-     version: run_command(['generate_version.py', '--print'], check: true).stdout().strip(),
-     license: 'BSD-3',
--    meson_version: '>=1.2.1',
-+    meson_version: '>=1.2.0',
-     default_options: [
-         'buildtype=release',
-         'c_std=c99'
diff --git a/srcpkgs/python3-pandas/template b/srcpkgs/python3-pandas/template
index c8e610dee33729..79e6f8462349cd 100644
--- a/srcpkgs/python3-pandas/template
+++ b/srcpkgs/python3-pandas/template
@@ -1,10 +1,12 @@
 # Template file for 'python3-pandas'
 pkgname=python3-pandas
-version=2.1.4
-revision=1
+version=2.2.2
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
-hostmakedepends="python3-meson-python python3-wheel python3-Cython0.29
+# Pandas imposes strict and unnecessary restrictions on build dependencies
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-meson-python python3-wheel python3-Cython
  python3-numpy python3-versioneer pkg-config"
 makedepends="python3-devel python3-numpy python3-dateutil python3-pytz"
 depends="python3-numpy python3-dateutil python3-pytz"
@@ -14,7 +16,7 @@ license="BSD-3-Clause"
 homepage="https://pandas.pydata.org/"
 changelog="https://pandas.pydata.org/pandas-docs/stable/whatsnew/index.html"
 distfiles="https://github.com/pandas-dev/pandas/archive/v${version}.tar.gz"
-checksum=00e0b049bac3d60c5701cae1f2fe57314f6ab8ae302b28953d4f9337817f6fc1
+checksum=79bc6fb5505afd27875c93fec27cece74318470c4e274ec7ef48b16f046dc006
 # Builds seem to sometimes have missing symbol problems;
 # the intermittent nature suggests this might be a race
 disable_parallel_build=yes

From 69986adcdd691b48ca63d712cb4933b5db7b31b8 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 23 Jul 2024 13:36:16 -0400
Subject: [PATCH 14/27] python3-pyFFTW: rebuild against python3-numpy

---
 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 22c2aef45fcfaf..dbcdd69070fb5c 100644
--- a/srcpkgs/python3-pyFFTW/template
+++ b/srcpkgs/python3-pyFFTW/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyFFTW'
 pkgname=python3-pyFFTW
 version=0.14.0
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"
 makedepends="fftw-devel python3-devel"

From 991076f7f2b9999dbebd84cf647f772fb02d1b0e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 15/27] python3-pyopencl: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pyopencl/template b/srcpkgs/python3-pyopencl/template
index f57ba9421ed35a..09320616592f80 100644
--- a/srcpkgs/python3-pyopencl/template
+++ b/srcpkgs/python3-pyopencl/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pyopencl'
 pkgname=python3-pyopencl
 version=2024.2.7
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel python3-numpy
  python3-scikit-build-core cmake ninja python3-nanobind"

From 5814ec8e65f5a93de0c6014352f5125983faeefe Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 16/27] python3-pywt: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-pywt/template b/srcpkgs/python3-pywt/template
index b4890de4450b45..9930684cedcff0 100644
--- a/srcpkgs/python3-pywt/template
+++ b/srcpkgs/python3-pywt/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-pywt'
 pkgname=python3-pywt
 version=1.6.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 make_check_target=".xbps-testdir/*/${py3_sitelib}/pywt/tests"

From 986beec91d6daf498d7d820011f1c5c3d1eb9701 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 17:03:26 -0400
Subject: [PATCH 17/27] pythran: fix required gast version

---
 srcpkgs/pythran/patches/gast-0.6.patch | 76 ++++++++++++++++++++++++++
 srcpkgs/pythran/template               |  2 +-
 2 files changed, 77 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/pythran/patches/gast-0.6.patch

diff --git a/srcpkgs/pythran/patches/gast-0.6.patch b/srcpkgs/pythran/patches/gast-0.6.patch
new file mode 100644
index 00000000000000..87dfcdcf450bce
--- /dev/null
+++ b/srcpkgs/pythran/patches/gast-0.6.patch
@@ -0,0 +1,76 @@
+From 840a0e706ec39963aec6bcd1f118bf33177c20b4 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Sat, 29 Jun 2024 19:13:02 +0200
+Subject: [PATCH] Bump gast requirement to 0.6.0
+
+This mostly helps for harmonious behavior wrt. gast.dump
+---
+ docs/TUTORIAL.rst | 8 ++++----
+ pythran/utils.py  | 2 +-
+ requirements.txt  | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/docs/TUTORIAL.rst b/docs/TUTORIAL.rst
+index 09f6902f9..7692547eb 100644
+--- a/docs/TUTORIAL.rst
++++ b/docs/TUTORIAL.rst
+@@ -20,7 +20,7 @@ Python ships a standard module, ``ast`` to turn Python code into an AST. For ins
+   >>> code = "a=1"
+   >>> tree = ast.parse(code)  # turn the code into an AST
+   >>> print(ast.dump(tree))  # view it as a string
+-  Module(body=[Assign(targets=[Name(id='a', ctx=Store(), annotation=None, type_comment=None)], value=Constant(value=1, kind=None), type_comment=None)], type_ignores=[])
++  Module(body=[Assign(targets=[Name(id='a', ctx=Store())], value=Constant(value=1, kind=None))])
+ 
+ Deciphering the above line, one learns that the single assignment is parsed as
+ a module containing a single statement, which is an assignment to a single
+@@ -33,7 +33,7 @@ Eventually, one needs to parse more complex codes, and things get a bit more cry
+   ...     return n if n< 2 else fib(n-1) + fib(n-2)"""
+   >>> tree = ast.parse(fib_src)
+   >>> print(ast.dump(tree))
+-  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param(), annotation=None, type_comment=None)], posonlyargs=[], vararg=None, kwonlyargs=[], kw_defaults=[], kwarg=None, defaults=[]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load(), annotation=None, type_comment=None), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=1, kind=None))], keywords=[]), op=Add(), right=Call(func=Name(id='fib', ctx=Load(), annotation=None, type_comment=None), args=[BinOp(left=Name(id='n', ctx=Load(), annotation=None, type_comment=None), op=Sub(), right=Constant(value=2, kind=None))], keywords=[]))))], decorator_list=[], returns=None, type_comment=None)], type_ignores=[])
++  Module(body=[FunctionDef(name='fib', args=arguments(args=[Name(id='n', ctx=Param())]), body=[Return(value=IfExp(test=Compare(left=Name(id='n', ctx=Load()), ops=[Lt()], comparators=[Constant(value=2, kind=None)]), body=Name(id='n', ctx=Load()), orelse=BinOp(left=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=1, kind=None))]), op=Add(), right=Call(func=Name(id='fib', ctx=Load()), args=[BinOp(left=Name(id='n', ctx=Load()), op=Sub(), right=Constant(value=2, kind=None))]))))])])
+ 
+ The idea remains the same. The whole Python syntax is described in
+ http://docs.python.org/2/library/ast.html and is worth a glance, otherwise
+@@ -199,7 +199,7 @@ constant expressions. In the previous code, there is only two constant
+ 
+   >>> ce = pm.gather(analyses.ConstantExpressions, tree)
+   >>> sorted(map(ast.dump, ce))
+-  ["Attribute(value=Name(id='math', ctx=Load(), annotation=None, type_comment=None), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
++  ["Attribute(value=Name(id='math', ctx=Load()), attr='cos', ctx=Load())", 'Constant(value=3, kind=None)']
+ 
+ One of the most critical analyse of Pythran is the points-to analysis. There
+ are two flavors of this analyse, one that computes an over-set of the aliased
+@@ -210,7 +210,7 @@ variable, and one that computes an under set. ``Aliases`` computes an over-set::
+   >>> al = pm.gather(analyses.Aliases, tree)
+   >>> returned = tree.body[-1].body[-1].value
+   >>> print(ast.dump(returned))
+-  Name(id='b', ctx=Load(), annotation=None, type_comment=None)
++  Name(id='b', ctx=Load())
+   >>> sorted(a.id for a in al[returned])
+   ['c', 'd']
+ 
+diff --git a/pythran/utils.py b/pythran/utils.py
+index 2d7a67327..55a7e8ad6 100644
+--- a/pythran/utils.py
++++ b/pythran/utils.py
+@@ -106,7 +106,7 @@ def get_variable(assignable):
+     ...     slice=ast.Name('j', ast.Load(), None, None),
+     ...     ctx=ast.Load())
+     >>> ast.dump(get_variable(ref))
+-    "Name(id='a', ctx=Load(), annotation=None, type_comment=None)"
++    "Name(id='a', ctx=Load())"
+     """
+     msg = "Only name and subscript can be assigned."
+     assert isinstance(assignable, (ast.Name, ast.Subscript)), msg
+diff --git a/requirements.txt b/requirements.txt
+index fd6a738e5..c7a25c52a 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -1,5 +1,5 @@
+ ply>=3.4
+ setuptools
+-gast~=0.5.0
++gast~=0.6.0
+ numpy
+ beniget~=0.4.0
diff --git a/srcpkgs/pythran/template b/srcpkgs/pythran/template
index a717256074d6d3..9a8761a767f67e 100644
--- a/srcpkgs/pythran/template
+++ b/srcpkgs/pythran/template
@@ -1,7 +1,7 @@
 # Template file for 'pythran'
 pkgname=pythran
 version=0.16.1
-revision=1
+revision=2
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-ply python3-gast python3-beniget python3-numpy

From 8b879f5895957eb9d8d8d855d71d8ec9086fe82b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 18/27] python3-scikit-image: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-scikit-image/template b/srcpkgs/python3-scikit-image/template
index 144193cd39b330..914aa23ce673f2 100644
--- a/srcpkgs/python3-scikit-image/template
+++ b/srcpkgs/python3-scikit-image/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-scikit-image'
 pkgname=python3-scikit-image
 version=0.24.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 hostmakedepends="python3-build python3-installer python3-meson-python

From b96364e0a259dc19f5e6278e760342facd7f3bdd Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:49:07 -0400
Subject: [PATCH 19/27] python3-scikit-learn: update to 1.5.0.

---
 .../patches/numpy-version.patch               | 11 ----------
 srcpkgs/python3-scikit-learn/template         | 20 +++++++------------
 2 files changed, 7 insertions(+), 24 deletions(-)
 delete 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
deleted file mode 100644
index 0ffb53e3433e9b..00000000000000
--- a/srcpkgs/python3-scikit-learn/patches/numpy-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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 a6364f089c4f4d..c0983fe4624dd3 100644
--- a/srcpkgs/python3-scikit-learn/template
+++ b/srcpkgs/python3-scikit-learn/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-scikit-learn'
 pkgname=python3-scikit-learn
-version=1.3.0
-revision=2
+version=1.5.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-setuptools python3-Cython python3-numpy python3-scipy
- python3-wheel"
-makedepends="python3-devel libgomp-devel"
+build_helper="numpy meson"
+hostmakedepends="python3-Cython python3-numpy python3-scipy
+ python3-meson-python pkg-config"
+makedepends="python3-devel python3-numpy 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=ead129f466a0859555ce4f41280ae06623ef3255efff0b1692c57f15e39767b5
+checksum=cd2aac2b566c7e740d34aabb4737864c74ba33c29aad7101fbf1bab2931c02dc
 make_check=no # tests don't work properly unless package is installed
 
-export SKLEARN_BUILD_PARALLEL="${XBPS_MAKEJOBS}"
-
-if [ "$CROSS_BUILD" ]; then
-	# Without this, setup.py tries to run a target executable
-	export PYTHON_CROSSENV=1
-fi
-
 post_install() {
 	vlicense COPYING
 }

From f575cb269a5700ea67c7255a12968cc931acaf39 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:10:18 -0400
Subject: [PATCH 20/27] python3-scipy: rebuild against python3-numpy

---
 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 41cf9ddb873aab..e35cd25b4595c6 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.14.0
-revision=1
+revision=2
 build_style=python3-pep517
 build_helper="meson numpy"
 # SciPy imposes strict and unnecessary restrictions on build dependencies

From f7a0fd3464f46175e5311d644f3cdb32a7ef5084 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 31 Jul 2024 13:30:23 -0400
Subject: [PATCH 21/27] python3-shapely: update to 2.0.5.

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

diff --git a/srcpkgs/python3-shapely/template b/srcpkgs/python3-shapely/template
index 46627e12aa44b5..16d9131b2c630e 100644
--- a/srcpkgs/python3-shapely/template
+++ b/srcpkgs/python3-shapely/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-shapely'
 pkgname=python3-shapely
-version=2.0.1
-revision=2
+version=2.0.5
+revision=1
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython0.29 geos"
@@ -13,7 +13,7 @@ maintainer="Karl Nilsson <karl.robert.nilsson@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/shapely/shapely"
 distfiles="https://github.com/shapely/shapely/archive/${version}.tar.gz"
-checksum=6250e79ca299222a239ce44df613d228f1216c5cc31351217bf377b03d7be4e0
+checksum=56c0aee11b31a9dd18120423d350fa6109663d4e46bccc58550bc7d735f18005
 
 pre_configure() {
 	if [ "$CROSS_BUILD" ]; then

From ff7e7be8d087d853ebf6497acdbb627f6c9d7d9d Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 22/27] python3-tables: rebuild against python3-numpy

---
 .../python3-tables/patches/numpy-2.0.patch    | 149 ++++++++++++++++++
 srcpkgs/python3-tables/template               |   2 +-
 2 files changed, 150 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-tables/patches/numpy-2.0.patch

diff --git a/srcpkgs/python3-tables/patches/numpy-2.0.patch b/srcpkgs/python3-tables/patches/numpy-2.0.patch
new file mode 100644
index 00000000000000..58ad624c994975
--- /dev/null
+++ b/srcpkgs/python3-tables/patches/numpy-2.0.patch
@@ -0,0 +1,149 @@
+diff -ur a/setup.py b/setup.py
+--- a/setup.py	2024-07-31 09:34:03.585371800 -0400
++++ b/setup.py	2024-07-31 09:35:01.472775930 -0400
+@@ -161,7 +161,7 @@
+         # https://pip.pypa.io/en/stable/reference/pip_install.html#installation-order
+         # at this point we can be sure pip has already installed numpy
+         numpy_incl = pkg_resources.resource_filename(
+-            "numpy", "core/include"
++            "numpy", "_core/include"
+         )
+ 
+         for ext in self.extensions:
+@@ -505,7 +505,7 @@
+ 
+     # -----------------------------------------------------------------
+ 
+-    def_macros = [("NDEBUG", 1)]
++    def_macros = [("NDEBUG", 1), ("NPY_TARGET_VERSION", "NPY_1_20_API_VERSION"),]
+     # Define macros for Windows platform
+     if os.name == "nt":
+         def_macros.append(("WIN32", 1))
+diff -ur a/src/utils.c b/src/utils.c
+--- a/src/utils.c	2024-07-31 09:34:03.588371821 -0400
++++ b/src/utils.c	2024-07-31 09:36:08.648172551 -0400
+@@ -767,8 +767,8 @@
+     return float_id;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex64, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex64, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 4, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -792,8 +792,8 @@
+     return float_id;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex128, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex128, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 8, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -824,8 +824,8 @@
+     return err;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex192, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex192, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 12, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+@@ -856,8 +856,8 @@
+     return err;
+   }
+ 
+-  H5Tinsert(complex_id, "r", HOFFSET(npy_complex256, real), float_id);
+-  H5Tinsert(complex_id, "i", HOFFSET(npy_complex256, imag), float_id);
++  H5Tinsert(complex_id, "r", 0, float_id);
++  H5Tinsert(complex_id, "i", 16, float_id);
+   H5Tclose(float_id);
+   return complex_id;
+ }
+diff -ur a/tables/atom.py b/tables/atom.py
+--- a/tables/atom.py	2024-07-31 09:34:03.589371829 -0400
++++ b/tables/atom.py	2024-07-31 09:36:43.663352202 -0400
+@@ -276,15 +276,15 @@
+             >>> atom1 = StringAtom(itemsize=10)  # same as ``atom2``
+             >>> atom2 = Atom.from_kind('string', 10)  # same as ``atom1``
+             >>> atom3 = IntAtom()
+-            >>> atom1 == 'foo'
++            >>> bool(atom1 == 'foo')
+             False
+-            >>> atom1 == atom2
++            >>> bool(atom1 == atom2)
+             True
+-            >>> atom2 != atom1
++            >>> bool(atom2 != atom1)
+             False
+-            >>> atom1 == atom3
++            >>> bool(atom1 == atom3)
+             False
+-            >>> atom3 != atom2
++            >>> bool(atom3 != atom2)
+             True
+ 
+     """
+diff -ur a/tables/index.py b/tables/index.py
+--- a/tables/index.py	2024-07-31 09:34:03.591371843 -0400
++++ b/tables/index.py	2024-07-31 09:38:32.692911595 -0400
+@@ -581,7 +581,8 @@
+                 # Add a second offset in this case
+                 # First normalize the number of rows
+                 offset2 = (nrow % self.nslicesblock) * slicesize // lbucket
+-                idx += offset2
++		assert offset2 < 2**(indsize*8)
++                idx += np.asarray(offset2).astype(idx.dtype)
+         # Add the last row at the beginning of arr & idx (if needed)
+         if (indsize == 8 and nelementsILR > 0):
+             # It is possible that the values in LR are already sorted.
+@@ -622,11 +623,11 @@
+             show_stats("Entering final_idx32", tref)
+         # Do an upcast first in order to add the offset.
+         idx = idx.astype('uint64')
+-        idx += offset
++        idx += np.asarray(offset).astype(idx.dtype)
+         # The next partition is valid up to table sizes of
+         # 2**30 * 2**18 = 2**48 bytes, that is, 256 Tera-elements,
+         # which should be a safe figure, at least for a while.
+-        idx //= self.lbucket
++        idx //= np.asarray(self.lbucket).astype(idx.dtype)
+         # After the division, we can downsize the indexes to 'uint32'
+         idx = idx.astype('uint32')
+         if profile:
+@@ -2002,7 +2003,7 @@
+                 else:
+                     self.indicesLR._read_index_slice(start, stop, idx)
+                 if indsize == 8:
+-                    idx //= lbucket
++                    idx //= np.asarray(lbucket).astype(idx.dtype)
+                 elif indsize == 2:
+                     # The chunkmap size cannot be never larger than 'int_'
+                     idx = idx.astype("int_")
+diff -ur a/tables/utils.py b/tables/utils.py
+--- a/tables/utils.py	2024-07-31 09:34:03.606371947 -0400
++++ b/tables/utils.py	2024-07-31 09:39:41.246261430 -0400
+@@ -75,7 +75,7 @@
+ # with atom from a generic python type.  If copy is stated as True, it
+ # is assured that it will return a copy of the object and never the same
+ # object or a new one sharing the same memory.
+-def convert_to_np_atom(arr, atom, copy=False):
++def convert_to_np_atom(arr, atom, copy=None):
+     """Convert a generic object into a NumPy object compliant with atom."""
+ 
+     # First, convert the object into a NumPy array
+@@ -109,7 +109,7 @@
+ 
+     # Check whether the object needs to be copied to make the operation
+     # safe to in-place conversion.
+-    copy = atom.type in ['time64']
++    copy = True if atom.type in ['time64'] else None
+     nparr = convert_to_np_atom(object, atom, copy)
+     # Finally, check the byteorder and change it if needed
+     byteorder = byteorders[nparr.dtype.byteorder]
diff --git a/srcpkgs/python3-tables/template b/srcpkgs/python3-tables/template
index 81b7351b972649..38c93292ea4bf8 100644
--- a/srcpkgs/python3-tables/template
+++ b/srcpkgs/python3-tables/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tables'
 pkgname=python3-tables
 version=3.7.0
-revision=3
+revision=4
 build_style=python3-module
 build_helper=numpy
 # XXX: c-blosc (using internal for now)

From 7316429261b23304cc1b985659ea4ac9af5048f1 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Wed, 31 Jul 2024 13:42:20 -0400
Subject: [PATCH 23/27] python3-trimesh: update to 4.4.3.

---
 srcpkgs/python3-trimesh/template | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-trimesh/template b/srcpkgs/python3-trimesh/template
index a76df75f7129fe..08e4182dea802b 100644
--- a/srcpkgs/python3-trimesh/template
+++ b/srcpkgs/python3-trimesh/template
@@ -1,33 +1,30 @@
 # Template file for 'python3-trimesh'
 pkgname=python3-trimesh
-version=3.15.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=4.4.3
+revision=1
+build_style=python3-pep517
+make_check_target="tests"
+# Ignored tests require unpackaged dependencies
+make_check_args="--ignore tests/test_sweep.py
+ --deselect tests/test_section.py::SliceTest::test_slice_onplane"
+hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-numpy"
 depends="python3-numpy python3-scipy python3-networkx python3-lxml
  python3-pyglet python3-shapely python3-rtree python3-Pillow python3-svg.path
- python3-jsonschema python3-psutil python3-chardet python3-sympy python3-msgpack
- python3-pycollada python3-requests"
-checkdepends="$depends python3-pytest"
+ python3-jsonschema python3-psutil python3-chardet python3-sympy
+ python3-pycollada"
+checkdepends="$depends python3-pytest-xdist python3-httpx"
 short_desc="Python3 library for loading and using triangular meshes"
 maintainer="Karl Nilsson <karl.robert.nilsson@gmail.com>"
 license="MIT"
 homepage="https://trimsh.org/"
 distfiles="https://github.com/mikedh/trimesh/archive/${version}.tar.gz"
-checksum=543a8c4a44228c77e44918af9649a6e3828cec9d3ff9083e82453c34a0872add
+checksum=948a257df5644b3aac6aad06acfc5a64de3fdbf4d5d5f645eeba91d88fe71f14
 
 post_install() {
 	vlicense LICENSE.md
 }
 
-do_check() {
-	# disable test coverage
-	vsed -i 's/pytest-cov//' setup.py
-	vsed -i 's/coveralls//' setup.py
-	python3 -m pytest
-}
-
 # disable tests for i686
 if [ "$XBPS_WORDSIZE" -eq "32" ]; then
 	make_check=no # https://github.com/mikedh/trimesh/issues/690;

From e4967552236b0452426cf98cb442daa72aa60c27 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 24/27] python3-vispy: rebuild against python3-numpy

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

diff --git a/srcpkgs/python3-vispy/template b/srcpkgs/python3-vispy/template
index 60dc8ae4b82996..6411756abc3b71 100644
--- a/srcpkgs/python3-vispy/template
+++ b/srcpkgs/python3-vispy/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-vispy'
 pkgname=python3-vispy
 version=0.6.1
-revision=8
+revision=9
 build_style=python3-module
 build_helper=numpy
 hostmakedepends="python3-setuptools python3-Cython python3-numpy"

From 150eb5e9ae0f9f9c90df8ac1eca7a83c1827c39e Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 22 Jul 2024 09:24:44 -0400
Subject: [PATCH 25/27] sagemath: reubild against python3-numpy

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f8e34d5955b3a1..befe33a0188687 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=10.4
-revision=1
+revision=2
 _pypi_version=${version/.beta/b}
 _pypi_version=${_pypi_version/.rc/rc}
 build_style=python3-pep517

From 5409227c29e2257fd23224ec615b30fc7f14471b Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:57:27 -0400
Subject: [PATCH 26/27] urh: rebuild against python3-numpy

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

diff --git a/srcpkgs/urh/template b/srcpkgs/urh/template
index f86a7ea530c762..7c109b044b1462 100644
--- a/srcpkgs/urh/template
+++ b/srcpkgs/urh/template
@@ -1,7 +1,7 @@
 # Template file for 'urh'
 pkgname=urh
 version=2.9.6
-revision=1
+revision=2
 build_style=python3-module
 hostmakedepends="python3-setuptools python3-Cython0.29 python3-numpy"
 makedepends="python3-devel python3-PyQt5 libairspy-devel librtlsdr-devel

From 575d0b227cc50e091207bb20d110a48ae219cf48 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Mon, 1 Jul 2024 13:08:40 -0400
Subject: [PATCH 27/27] wxPython: fix runtime dependencies

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

diff --git a/srcpkgs/wxPython/template b/srcpkgs/wxPython/template
index 7f4c8a21e18589..0d29630771a48f 100644
--- a/srcpkgs/wxPython/template
+++ b/srcpkgs/wxPython/template
@@ -1,14 +1,14 @@
 # Template file for 'wxPython'
 pkgname=wxPython
 version=4.2.1
-revision=4
+revision=5
 build_style=python3-module
 make_build_args="--skip-build"
 make_install_args="--skip-build"
 hostmakedepends="pkg-config python3-setuptools python3-pathlib2 python3-Cython0.29"
 makedepends="python3-devel wxWidgets-gtk3-devel SDL2-devel
  gst-plugins-base1-devel"
-depends="python3 python3-six python3-numpy python3-Pillow"
+depends="python3-six"
 short_desc="Python bindings for wxWidgets"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="custom:wxWindows"

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

* Re: [PR PATCH] [Closed]: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (20 preceding siblings ...)
  2024-07-31 17:44 ` ahesford
@ 2024-07-31 19:12 ` ahesford
  2024-07-31 19:13 ` ahesford
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-31 19:12 UTC (permalink / raw)
  To: ml

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

There's a closed pull request on the void-packages repository

[WIP] NumPy 2.0
https://github.com/void-linux/void-packages/pull/51077

Description:
This update removes a lot of long-deprecated interfaces and probably breaks several dependants. It will need careful testing.

[ci skip]

The following packages ship shared libraries; most require a rebuild to even be importable, and the rest are included just to be sure (each will be ticked as it is tested for compatibility):
- [ ] gnuradio
- [x] mypaint (leaf; launches and interacts with me)
- [x] opencv
- [x] plplot (leaf; launches and allows me to plot lines in a trivial test)
- [x] python3-Bottleneck (a single test failure for memory leaks appears unrelated to NumPy)
- [x] python3-PyOpenGL-accelerate (its only dependant doesn't require NumPy support, so I'll rebuild without support)
- [x] python3-h5py
- [x] python3-matplotlib (basic use seems to work)
- [x] python3-numexpr
- [ ] python3-numpy-stl (several test failures related to closeness tests that aren't quite as close as expected; also, a few interface changes leak into tests)
- [ ] python3-pandas
- [x] python3-pyFFTW (leaf)
- [x] python3-pyopencl (leaf)
- [x] python3-pywt
- [ ] python3-scikit-image (leaf)
- [ ] python3-scikit-learn (leaf)
- [x] python3-scipy
- [ ] python3-tables (leaf)
- [ ] python3-vispy (leaf)
- [x] urh (leaf; I can launch this, but have no means to really test it)
- [x] wxPython (doesn't actually depend on NumPy, so it will be rebuilt to correct dependencies)

The following package may or may not break with new NumPy, but is already broken because it requires Python < 3.12:
- DisplayCAL

The following packages do not appear to build Python extensions and should not require a rebuild, but some tests should be performed to ensure basic functionality with NumPy 2.0:
- [x] bCNC (leaf)
- [ ] flowblade (leaf)
- [ ] grass
- [ ] hydrus (leaf)
- [x] inkscape (leaf - seems to work in my simple use tests)
- [ ] openrazer-meta
- [ ] pymol (leaf)
- [x] python3-bokeh (leaf)
- [x] python3-imageio
- [x] python3-joblib
- [ ] python3-niapy (leaf)
- [ ] python3-openai (leaf)
- [ ] python3-pgzero (leaf)
- [x] python3-pycollada
- [x] python3-pyqtgraph
- [x] python3-pytools
- [ ] python3-seaborn (leaf)
- [x] python3-tifffile
- [x] python3-trimesh
- [x] pythran (compiles python3-scipy and python3-scikit-image just fine)
- [ ] qgis (leaf)
- [x] xdot (leaf)

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

* Re: [WIP] NumPy 2.0
  2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
                   ` (21 preceding siblings ...)
  2024-07-31 19:12 ` [PR PATCH] [Closed]: " ahesford
@ 2024-07-31 19:13 ` ahesford
  22 siblings, 0 replies; 24+ messages in thread
From: ahesford @ 2024-07-31 19:13 UTC (permalink / raw)
  To: ml

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

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/51077#issuecomment-2261246682

Comment:
9c5fb2efa8046d8e4f6ec76878ac77462a313c41

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

end of thread, other threads:[~2024-07-31 19:13 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-02 14:33 [PR PATCH] [WIP] NumPy 2.0 ahesford
2024-07-02 14:41 ` Calandracas606
2024-07-02 14:42 ` Calandracas606
2024-07-02 14:53 ` Calandracas606
2024-07-02 14:53 ` Calandracas606
2024-07-02 15:02 ` Calandracas606
2024-07-02 15:46 ` [PR PATCH] [Updated] " ahesford
2024-07-02 15:53 ` ahesford
2024-07-02 15:54 ` ahesford
2024-07-02 18:11 ` ahesford
2024-07-03 13:56 ` ahesford
2024-07-03 14:09 ` ahesford
2024-07-08 17:29 ` ahesford
2024-07-11 16:14 ` ahesford
2024-07-18  0:56 ` ahesford
2024-07-21 12:07 ` ahesford
2024-07-21 16:08 ` tornaria
2024-07-22 14:33 ` [PR PATCH] [Updated] " ahesford
2024-07-23 17:37 ` ahesford
2024-07-31 12:45 ` ahesford
2024-07-31 13:41 ` ahesford
2024-07-31 17:44 ` ahesford
2024-07-31 19:12 ` [PR PATCH] [Closed]: " ahesford
2024-07-31 19:13 ` ahesford

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).