On January 6, 2026 1:08:04 PM CST, Theo Buehler <[email protected]> wrote: >Now that we have a modern gcc in our tree, we can update this port.
Do you mean, gfortran? But a new enough (e)gfortran has been in the tree for ages, in the package (mis)named g95. It's more interesting to get openblas into the tree... Dima > I >thought I'd try 2.4.0 first. If there are concerns that this is too >recent, I can provide a diff for 2.3.5. > >The releease notes are huge, as usual: >https://numpy.org/doc/stable/release/2.4.0-notes.html >for older releases (2.3.0 had a giant number of expired deprecations): >https://numpy.org/doc/stable/release.html > >Remove DWZ workaround: the DWARF problems have been resolved one way or >the other. The riscv64 CPU feature detection was upstreamed by Brad >https://github.com/numpy/numpy/pull/29224 > >I ran regress on the following architectures and just started an amd64 >bulk with the diff. Boost built, so I don't expect too much fallout. > >Tests on other archs and runtime tests by actual users would be nice. > >amd64: >= 40 failed, 47092 passed, 1094 skipped, 2817 deselected, 33 xfailed, 1 >xpassed, 3 warnings in 505.25s (0:08:25) = > >arm64: >= 99 failed, 46324 passed, 395 skipped, 2817 deselected, 33 xfailed, 1 >xpassed, 65 warnings in 750.99s (0:12:30) = > >i386: >= 27 failed, 45615 passed, 1144 skipped, 2817 deselected, 32 xfailed, 1 >xpassed, 15 warnings in 899.33s (0:14:59) = > >sparc64 >= 87 failed, 45597 passed, 1134 skipped, 2817 deselected, 33 xfailed, 1 >xpassed, 13 warnings in 2108.73s (0:35:08) = > >Index: Makefile >=================================================================== >RCS file: /cvs/ports/math/py-numpy/Makefile,v >diff -u -p -r1.95 Makefile >--- Makefile 25 Oct 2025 13:43:51 -0000 1.95 >+++ Makefile 6 Jan 2026 10:38:03 -0000 >@@ -1,10 +1,8 @@ > COMMENT= fast array and numeric programming library for Python > >-# numpy 2.3.x needs gcc 9.3 or newer >-MODPY_DISTV= 2.2.6 >+MODPY_DISTV= 2.4.0 > DISTNAME= numpy-${MODPY_DISTV} > PKGNAME= py-${DISTNAME} >-REVISION= 2 > > CATEGORIES= math devel > >@@ -18,9 +16,6 @@ COMPILER= base-clang ports-gcc > WANTLIB += ${COMPILER_LIBCXX} ${MODPY_WANTLIB} ${MODFORTRAN_WANTLIB} blas > WANTLIB += cblas lapack m > >-# Disable dwz: it fails on DWARF 5 symbols due to 128-bit arithmetic in >_pcg64. >-# Alternative is CFLAGS += -D PCG_FORCE_EMULATED_128BIT_MATH >-DWZ= : > DEBUG_PACKAGES= ${BUILD_PACKAGES} > > MODULES= lang/python \ >Index: distinfo >=================================================================== >RCS file: /cvs/ports/math/py-numpy/distinfo,v >diff -u -p -r1.23 distinfo >--- distinfo 12 Jun 2025 20:49:12 -0000 1.23 >+++ distinfo 6 Jan 2026 09:33:36 -0000 >@@ -1,2 +1,2 @@ >-SHA256 (numpy-2.2.6.tar.gz) = 4pVU4r71SpCqXMB9ps6VWsy4PyGrXeAaYshHiJeyZP0= >-SIZE (numpy-2.2.6.tar.gz) = 20276440 >+SHA256 (numpy-2.4.0.tar.gz) = blBPexYRgZjxOO8xuiTZhbEkwsRp/oRnAHzzD9mS+TQ= >+SIZE (numpy-2.4.0.tar.gz) = 20685720 >Index: patches/patch-numpy__core_src_common_npy_cpu_features_c >=================================================================== >RCS file: patches/patch-numpy__core_src_common_npy_cpu_features_c >diff -N patches/patch-numpy__core_src_common_npy_cpu_features_c >--- patches/patch-numpy__core_src_common_npy_cpu_features_c 17 Jun 2025 >11:59:23 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,24 +0,0 @@ >-Implement getauxval(3) using elf_aux_info(3) to unbreak >-riscv64 cpu feature detection. >- >-Index: numpy/_core/src/common/npy_cpu_features.c >---- numpy/_core/src/common/npy_cpu_features.c.orig >-+++ numpy/_core/src/common/npy_cpu_features.c >-@@ -825,6 +825,17 @@ npy__cpu_init_features(void) >- >- #include <sys/auxv.h> >- >-+#if defined(__FreeBSD__) || defined(__OpenBSD__) >-+static unsigned long getauxval(unsigned long k) >-+{ >-+ unsigned long val = 0ul; >-+ if (elf_aux_info((int)k, (void *)&val, (int)sizeof(val)) != 0) { >-+ return 0ul; >-+ } >-+ return val; >-+} >-+#endif >-+ >- #ifndef HWCAP_RVV >- // >https://github.com/torvalds/linux/blob/v6.8/arch/riscv/include/uapi/asm/hwcap.h#L24 >- #define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A')) >Index: pkg/PLIST >=================================================================== >RCS file: /cvs/ports/math/py-numpy/pkg/PLIST,v >diff -u -p -r1.26 PLIST >--- pkg/PLIST 23 Oct 2025 13:20:06 -0000 1.26 >+++ pkg/PLIST 6 Jan 2026 09:57:59 -0000 >@@ -6,11 +6,55 @@ > bin/numpy-config > lib/python${MODPY_VERSION}/site-packages/numpy/ > lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/ >-lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/LICENSE.txt > lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/METADATA > lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/RECORD > lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/WHEEL > lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/entry_points.txt >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/LICENSE.txt >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/include/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/include/numpy/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/include/numpy/libdivide/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/include/numpy/libdivide/LICENSE.txt >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/common/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/common/pythoncapi-compat/COPYING >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/highway/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/highway/LICENSE >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/multiarray/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/multiarray/dragon4_LICENSE.txt >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/npysort/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/npysort/x86-simd-sort/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/umath/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/umath/svml/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/_core/src/umath/svml/LICENSE >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/fft/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/fft/pocketfft/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/fft/pocketfft/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/linalg/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/linalg/lapack_lite/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/linalg/lapack_lite/LICENSE.txt >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/ma/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/ma/LICENSE >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/distributions/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/distributions/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/mt19937/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/mt19937/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/pcg64/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/pcg64/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/philox/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/philox/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/sfc64/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/sfc64/LICENSE.md >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/splitmix64/ >+lib/python${MODPY_VERSION}/site-packages/numpy-${MODPY_DISTV}.dist-info/licenses/numpy/random/src/splitmix64/LICENSE.md > lib/python${MODPY_VERSION}/site-packages/numpy/__config__.py > lib/python${MODPY_VERSION}/site-packages/numpy/__config__.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/__init__.cython-30.pxd >@@ -36,8 +80,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}_pytesttester.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}conftest.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}conftest.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}ctypeslib.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}ctypeslib.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}dtypes.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}dtypes.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -70,8 +112,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_exceptions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_internal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_internal.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_machar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_machar.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_methods.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_methods.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/${MODPY_PYCACHE}_string_helpers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -128,8 +168,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_exceptions.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_internal.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_internal.pyi >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/_machar.py >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/_machar.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_methods.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_methods.pyi > @so > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_multiarray_tests.${MODPY_PYC_MAGIC_TAG}so >@@ -146,6 +184,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_ufunc_config.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_ufunc_config.pyi > @so > lib/python${MODPY_VERSION}/site-packages/numpy/_core/_umath_tests.${MODPY_PYC_MAGIC_TAG}so >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/_umath_tests.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_core/arrayprint.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/arrayprint.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_core/cversions.py >@@ -174,7 +213,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/halffloat.h > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/ndarrayobject.h > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/ndarraytypes.h >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/npy_2_compat.h > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/npy_2_complexcompat.h > lib/python${MODPY_VERSION}/site-packages/numpy/_core/include/numpy/npy_3kcompat.h >@@ -273,6 +311,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_errstate.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_extint128.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_extint128.${MODPY_PYC_MAGIC_TAG}pyc >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_finfo.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_finfo.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_function_base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_function_base.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_getlimits.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -291,8 +331,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_limited_api.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_longdouble.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_longdouble.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_machar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_machar.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_mem_overlap.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_mem_overlap.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_mem_policy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -301,6 +339,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_memmap.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multiarray.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multiarray.${MODPY_PYC_MAGIC_TAG}pyc >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multiprocessing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multiprocessing.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multithreading.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_multithreading.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/${MODPY_PYCACHE}test_nditer.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -422,6 +462,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_einsum.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_errstate.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_extint128.py >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_finfo.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_function_base.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_getlimits.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_half.py >@@ -431,11 +472,11 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_item_selection.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_limited_api.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_longdouble.py >-lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_machar.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_mem_overlap.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_mem_policy.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_memmap.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_multiarray.py >+lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_multiprocessing.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_multithreading.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_nditer.py > lib/python${MODPY_VERSION}/site-packages/numpy/_core/tests/test_nep50_promotions.py >@@ -522,12 +563,12 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_ufunc.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_add_docstring.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_array_like.py >-lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_callable.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_char_codes.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_dtype_like.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_extended_precision.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nbit.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nbit_base.py >+lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nbit_base.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nested_sequence.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_scalars.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_shape.py >@@ -557,19 +598,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/char/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/char/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/char/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/ >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/__init__.py >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}/ >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}py3k.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}py3k.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/py3k.py >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/ >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/__init__.py >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/${MODPY_PYCACHE}/ >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/conftest.py > lib/python${MODPY_VERSION}/site-packages/numpy/core/ > lib/python${MODPY_VERSION}/site-packages/numpy/core/__init__.py >@@ -634,8 +662,16 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/core/records.py > lib/python${MODPY_VERSION}/site-packages/numpy/core/shape_base.py > lib/python${MODPY_VERSION}/site-packages/numpy/core/umath.py >-lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib.py >-lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib.pyi >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/ >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/__init__.py >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/__init__.pyi >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/${MODPY_PYCACHE}/ >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/${MODPY_PYCACHE}_ctypeslib.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/${MODPY_PYCACHE}_ctypeslib.${MODPY_PYC_MAGIC_TAG}pyc >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/_ctypeslib.py >+lib/python${MODPY_VERSION}/site-packages/numpy/ctypeslib/_ctypeslib.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/doc/ > lib/python${MODPY_VERSION}/site-packages/numpy/doc/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/doc/${MODPY_PYCACHE}ufuncs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -687,8 +723,10 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/${MODPY_PYCACHE}use_rules.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/${MODPY_PYCACHE}use_rules.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__version__.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__version__.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/__init__.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/__init__.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc >@@ -699,27 +737,44 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/${MODPY_PYCACHE}_meson.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/${MODPY_PYCACHE}_meson.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_backend.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_backend.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_distutils.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_distutils.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_meson.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/_meson.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_backends/meson.build.template > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_isocbind.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_isocbind.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_src_pyf.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/_src_pyf.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/auxfuncs.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/auxfuncs.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/capi_maps.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/capi_maps.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/cb_rules.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/cb_rules.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/cfuncs.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/cfuncs.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/common_rules.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/common_rules.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/crackfortran.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/crackfortran.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/diagnose.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/diagnose.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/f2py2e.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/f2py2e.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/f90mod_rules.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/f90mod_rules.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/func2subr.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/func2subr.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/rules.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/rules.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/setup.cfg > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/src/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/src/fortranobject.c > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/src/fortranobject.h > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/symbolic.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/symbolic.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/__init__.py > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/${MODPY_PYCACHE}/ >@@ -880,6 +935,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/regression/incfile.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/regression/inout.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/regression/lower_f2py_fortran.f90 >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/regression/mod_derived_types.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/return_character/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/return_character/foo77.f > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/return_character/foo90.f90 >@@ -947,6 +1003,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/test_value_attrspec.py > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/util.py > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/use_rules.py >+lib/python${MODPY_VERSION}/site-packages/numpy/f2py/use_rules.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/fft/ > lib/python${MODPY_VERSION}/site-packages/numpy/fft/__init__.py > lib/python${MODPY_VERSION}/site-packages/numpy/fft/__init__.pyi >@@ -957,15 +1014,11 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/fft/${MODPY_PYCACHE}_helper.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/fft/${MODPY_PYCACHE}_pocketfft.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/fft/${MODPY_PYCACHE}_pocketfft.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/fft/${MODPY_PYCACHE}helper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/fft/${MODPY_PYCACHE}helper.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/fft/_helper.py > lib/python${MODPY_VERSION}/site-packages/numpy/fft/_helper.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/fft/_pocketfft.py > lib/python${MODPY_VERSION}/site-packages/numpy/fft/_pocketfft.pyi > @so > lib/python${MODPY_VERSION}/site-packages/numpy/fft/_pocketfft_umath.${MODPY_PYC_MAGIC_TAG}so >-lib/python${MODPY_VERSION}/site-packages/numpy/fft/helper.py >-lib/python${MODPY_VERSION}/site-packages/numpy/fft/helper.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/fft/tests/ > lib/python${MODPY_VERSION}/site-packages/numpy/fft/tests/__init__.py > lib/python${MODPY_VERSION}/site-packages/numpy/fft/tests/${MODPY_PYCACHE}/ >@@ -993,6 +1046,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_arrayterator_impl.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_datasource.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_datasource.${MODPY_PYC_MAGIC_TAG}pyc >+lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_format_impl.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >+lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_format_impl.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_function_base_impl.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_function_base_impl.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/lib/${MODPY_PYCACHE}_histograms_impl.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >@@ -1053,6 +1108,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_arrayterator_impl.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_datasource.py > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_datasource.pyi >+lib/python${MODPY_VERSION}/site-packages/numpy/lib/_format_impl.py >+lib/python${MODPY_VERSION}/site-packages/numpy/lib/_format_impl.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_function_base_impl.py > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_function_base_impl.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/lib/_histograms_impl.py >@@ -1199,16 +1256,12 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/${MODPY_PYCACHE}_linalg.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/${MODPY_PYCACHE}_linalg.${MODPY_PYC_MAGIC_TAG}pyc >-lib/python${MODPY_VERSION}/site-packages/numpy/linalg/${MODPY_PYCACHE}linalg.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} >-lib/python${MODPY_VERSION}/site-packages/numpy/linalg/${MODPY_PYCACHE}linalg.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/_linalg.py > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/_linalg.pyi > @so > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/_umath_linalg.${MODPY_PYC_MAGIC_TAG}so > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/_umath_linalg.pyi > @so > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/lapack_lite.${MODPY_PYC_MAGIC_TAG}so > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/lapack_lite.pyi >-lib/python${MODPY_VERSION}/site-packages/numpy/linalg/linalg.py >-lib/python${MODPY_VERSION}/site-packages/numpy/linalg/linalg.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/tests/ > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/tests/__init__.py > lib/python${MODPY_VERSION}/site-packages/numpy/linalg/tests/${MODPY_PYCACHE}/ >@@ -1240,8 +1293,6 @
