From: Stuart Henderson Subject: Re: numpy 1.24.1 -> 1.25.2 To: Theo Buehler Cc: Daniel Dickman , ports@openbsd.org Date: Wed, 10 Jan 2024 12:30:58 +0000 OK sthen@ On 2024/01/09 22:38, Theo Buehler wrote: > On Tue, Jan 09, 2024 at 09:46:01PM +0100, Theo Buehler wrote: > > On Tue, Jan 09, 2024 at 09:42:30PM +0100, Theo Buehler wrote: > > > With the below diff regress on aarch64 passes. It only changes things > > > there and maybe on arm, so there is no new round of testing needed. > > > > > > 119 failed, 33819 passed, 220 skipped, 1308 deselected, 31 xfailed, 4 xpassed, 461 warnings in 737.96s (0:12:17) > > > > > > This is a bit worse than 1.24 which had > > > > > > 32 failed, 25330 passed, 225 skipped, 1306 deselected, 33 xfailed, 4 xpassed, 100 warnings in 365.47s (0:06:05) > > > > > > The breakage came from this PR switching numpy 1.25 to use SIMD > > > for isnan, isfinite, etc: https://github.com/numpy/numpy/pull/22165 > > > > > > It would result in out-of-bounds heap reads which would sometimes crash > > > after hitting a guard page. Fortunately, the linalg test would do this > > > quite reliably. I managed to narrow the issue down to a specific > > > instruction and then it was easy to find very recent upstream fixes. > > > > > > It causes at least one new failure in the linalg test, but I'm not going > > > to debug this. > > > > I forgot to attach the full test.log for posterity and to say > > The third time is the charm. I had a copy paste error which would > result in using lane 1 instead of lane 0 in the first load. > > 51 failures come from a new floatingpoints errors casting test > where we don't emit exceptions, so this is about as good as 1.24. > > 80 failed, 33858 passed, 220 skipped, 1308 deselected, 31 xfailed, 4 xpassed, 461 warnings in 390.34s (0:06:30) > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/math/py-numpy/Makefile,v > diff -u -p -r1.77 Makefile > --- Makefile 16 Jan 2023 12:13:03 -0000 1.77 > +++ Makefile 9 Jan 2024 20:12:07 -0000 > @@ -1,6 +1,6 @@ > COMMENT= fast array and numeric programming library for Python > > -MODPY_EGG_VERSION= 1.24.1 > +MODPY_EGG_VERSION= 1.25.2 > DISTNAME= numpy-${MODPY_EGG_VERSION} > PKGNAME= py-${DISTNAME} > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/math/py-numpy/distinfo,v > diff -u -p -r1.19 distinfo > --- distinfo 16 Jan 2023 12:13:03 -0000 1.19 > +++ distinfo 8 Jan 2024 16:36:42 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (numpy-1.24.1.tar.gz) = I4bamkccwAofR4ReJ9kW1exTRq6WluAaijR2CFj+ndI= > -SIZE (numpy-1.24.1.tar.gz) = 10903184 > +SHA256 (numpy-1.25.2.tar.gz) = /WCOGcjXxVAh3/1Dv+VJL6uMwQXMiYb4E/jDwEizh2A= > +SIZE (numpy-1.25.2.tar.gz) = 10805282 > Index: patches/patch-numpy_core_setup_common_py > =================================================================== > RCS file: /cvs/ports/math/py-numpy/patches/patch-numpy_core_setup_common_py,v > diff -u -p -r1.6 patch-numpy_core_setup_common_py > --- patches/patch-numpy_core_setup_common_py 16 Jan 2023 12:13:03 -0000 1.6 > +++ patches/patch-numpy_core_setup_common_py 9 Jan 2024 00:49:36 -0000 > @@ -5,7 +5,7 @@ with unresolved symbols. > Index: numpy/core/setup_common.py > --- numpy/core/setup_common.py.orig > +++ numpy/core/setup_common.py > -@@ -137,7 +137,7 @@ MANDATORY_FUNCS = [ > +@@ -147,7 +147,7 @@ MANDATORY_FUNCS = [ > > OPTIONAL_LOCALE_FUNCS = ["strtold_l"] > OPTIONAL_FILE_FUNCS = ["ftello", "fseeko", "fallocate"] > Index: patches/patch-numpy_core_src_common_simd_neon_memory_h > =================================================================== > RCS file: patches/patch-numpy_core_src_common_simd_neon_memory_h > diff -N patches/patch-numpy_core_src_common_simd_neon_memory_h > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-numpy_core_src_common_simd_neon_memory_h 9 Jan 2024 21:14:01 -0000 > @@ -0,0 +1,36 @@ > +Fix various crashes on arm64 > + > +https://github.com/numpy/numpy/commit/eaeb6f7854e2e9acec466df02e5adcf80d3d671f > +https://github.com/numpy/numpy/commit/e6422e3ab21730558d7d9aaee19e52f1fcd6358d > + > +Index: numpy/core/src/common/simd/neon/memory.h > +--- numpy/core/src/common/simd/neon/memory.h.orig > ++++ numpy/core/src/common/simd/neon/memory.h > +@@ -52,21 +52,12 @@ NPYV_IMPL_NEON_MEM(f64, double) > + ***************************/ > + NPY_FINLINE npyv_s32 npyv_loadn_s32(const npy_int32 *ptr, npy_intp stride) > + { > +- switch (stride) { > +- case 2: > +- return vld2q_s32((const int32_t*)ptr).val[0]; > +- case 3: > +- return vld3q_s32((const int32_t*)ptr).val[0]; > +- case 4: > +- return vld4q_s32((const int32_t*)ptr).val[0]; > +- default:; > +- int32x2_t ax = vcreate_s32(*ptr); > +- int32x4_t a = vcombine_s32(ax, ax); > +- a = vld1q_lane_s32((const int32_t*)ptr + stride, a, 1); > +- a = vld1q_lane_s32((const int32_t*)ptr + stride*2, a, 2); > +- a = vld1q_lane_s32((const int32_t*)ptr + stride*3, a, 3); > +- return a; > +- } > ++ int32x4_t a = vdupq_n_s32(0); > ++ a = vld1q_lane_s32((const int32_t*)ptr, a, 0); > ++ a = vld1q_lane_s32((const int32_t*)ptr + stride, a, 1); > ++ a = vld1q_lane_s32((const int32_t*)ptr + stride*2, a, 2); > ++ a = vld1q_lane_s32((const int32_t*)ptr + stride*3, a, 3); > ++ return a; > + } > + > + NPY_FINLINE npyv_u32 npyv_loadn_u32(const npy_uint32 *ptr, npy_intp stride) > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/math/py-numpy/pkg/PLIST,v > diff -u -p -r1.19 PLIST > --- pkg/PLIST 16 Jan 2023 12:13:03 -0000 1.19 > +++ pkg/PLIST 8 Jan 2024 16:36:40 -0000 > @@ -24,7 +24,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc > 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}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}dual.${MODPY_PYC_MAGIC_TAG}pyc > +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}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}matlib.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc > @@ -51,7 +52,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_char_codes.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_dtype_like.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_extended_precision.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_generic_alias.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_nbit.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_nested_sequence.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/${MODPY_PYCACHE}_scalars.${MODPY_PYC_MAGIC_TAG}pyc > @@ -63,13 +63,20 @@ lib/python${MODPY_VERSION}/site-packages > 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/_generic_alias.py > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_nbit.py > 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 > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/_ufunc.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/_typing/setup.py > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/ > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/__init__.py > +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}/ > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}_inspect.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/${MODPY_PYCACHE}_pep440.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/_inspect.py > +lib/python${MODPY_VERSION}/site-packages/numpy/_utils/_pep440.py > lib/python${MODPY_VERSION}/site-packages/numpy/_version.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/ > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/__init__.py > @@ -81,6 +88,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_data_type_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_dtypes.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_elementwise_functions.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_indexing_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_manipulation_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_searching_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/${MODPY_PYCACHE}_set_functions.${MODPY_PYC_MAGIC_TAG}pyc > @@ -96,6 +104,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_data_type_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_dtypes.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_elementwise_functions.py > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_indexing_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_manipulation_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_searching_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/_set_functions.py > @@ -113,6 +122,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_creation_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_data_type_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_elementwise_functions.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_indexing_functions.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_manipulation_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_set_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_sorting_functions.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/${MODPY_PYCACHE}test_validation.${MODPY_PYC_MAGIC_TAG}pyc > @@ -120,6 +131,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_creation_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_data_type_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_elementwise_functions.py > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_indexing_functions.py > +lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_manipulation_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_set_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_sorting_functions.py > lib/python${MODPY_VERSION}/site-packages/numpy/array_api/tests/test_validation.py > @@ -127,12 +140,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/compat/__init__.py > ${MODPY_COMMENT}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}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}_inspect.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}_pep440.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}py3k.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/compat/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/compat/_inspect.py > -lib/python${MODPY_VERSION}/site-packages/numpy/compat/_pep440.py > lib/python${MODPY_VERSION}/site-packages/numpy/compat/py3k.py > lib/python${MODPY_VERSION}/site-packages/numpy/compat/setup.py > lib/python${MODPY_VERSION}/site-packages/numpy/compat/tests/ > @@ -220,8 +229,10 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/.doxyfile > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/__multiarray_api.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/__ufunc_api.h > +lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_dtype_api.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_neighborhood_iterator_imp.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_numpyconfig.h > +lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/_numpyconfig.h.in > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/arrayobject.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/arrayscalars.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/experimental_dtype_api.h > @@ -229,7 +240,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/ > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/LICENSE.txt > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/libdivide/libdivide.h > -lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/multiarray_api.txt > 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/noprefix.h > @@ -248,7 +258,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/ > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/bitgen.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/random/distributions.h > -lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ufunc_api.txt > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/ufuncobject.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/include/numpy/utils.h > lib/python${MODPY_VERSION}/site-packages/numpy/core/lib/ > @@ -452,6 +461,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}exec_command.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}extension.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}from_template.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}fujitsuccompiler.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}intelccompiler.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}lib2def.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/${MODPY_PYCACHE}line_endings.${MODPY_PYC_MAGIC_TAG}pyc > @@ -483,6 +493,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_knl.c > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_knm.c > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_skx.c > +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512_spr.c > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512cd.c > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_avx512f.c > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/checks/cpu_f16c.c > @@ -598,6 +609,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fcompiler/sun.py > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fcompiler/vast.py > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/from_template.py > +lib/python${MODPY_VERSION}/site-packages/numpy/distutils/fujitsuccompiler.py > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/intelccompiler.py > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/lib2def.py > lib/python${MODPY_VERSION}/site-packages/numpy/distutils/line_endings.py > @@ -657,7 +669,10 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/doc/${MODPY_PYCACHE}ufuncs.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/doc/constants.py > lib/python${MODPY_VERSION}/site-packages/numpy/doc/ufuncs.py > -lib/python${MODPY_VERSION}/site-packages/numpy/dual.py > +lib/python${MODPY_VERSION}/site-packages/numpy/dtypes.py > +lib/python${MODPY_VERSION}/site-packages/numpy/dtypes.pyi > +lib/python${MODPY_VERSION}/site-packages/numpy/exceptions.py > +lib/python${MODPY_VERSION}/site-packages/numpy/exceptions.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__init__.py > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/__init__.pyi > @@ -758,6 +773,10 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/foo_deps.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh15035.f > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh17859.f > +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23533.f > +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23598.f90 > +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23598Warn.f90 > +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh23879.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/gh2848.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/operators.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/crackfortran/privatemod.f90 > @@ -808,6 +827,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/char.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/fixed_string.f90 > +lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/scalar_string.f90 > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/string/string.f > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/value_attrspec/ > lib/python${MODPY_VERSION}/site-packages/numpy/f2py/tests/src/value_attrspec/gh21665.f90 > @@ -1023,14 +1043,12 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/ma/__init__.pyi > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}bench.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}extras.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}mrecords.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}testutils.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/ma/${MODPY_PYCACHE}timer_comparison.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/ma/bench.py > lib/python${MODPY_VERSION}/site-packages/numpy/ma/core.py > lib/python${MODPY_VERSION}/site-packages/numpy/ma/core.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/ma/extras.py > @@ -1162,6 +1180,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/ > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/extending.pyx > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/extending_distributions.pyx > +lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/meson.build > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/cython/setup.py > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/numba/ > lib/python${MODPY_VERSION}/site-packages/numpy/random/_examples/numba/extending.py > @@ -1228,37 +1247,27 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/testing/__init__.pyi > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}overrides.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}print_coercion_tables.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}setup.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/ > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/__init__.py > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}decorators.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}extbuild.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}noseclasses.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}nosetester.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}parameterized.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/decorators.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/extbuild.py > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/noseclasses.py > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/nosetester.py > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/parameterized.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/utils.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/_private/utils.pyi > +lib/python${MODPY_VERSION}/site-packages/numpy/testing/overrides.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/print_coercion_tables.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/setup.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/ > lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/__init__.py > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}test_doctesting.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/${MODPY_PYCACHE}test_utils.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/test_doctesting.py > lib/python${MODPY_VERSION}/site-packages/numpy/testing/tests/test_utils.py > -lib/python${MODPY_VERSION}/site-packages/numpy/testing/utils.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/ > lib/python${MODPY_VERSION}/site-packages/numpy/tests/__init__.py > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}/ > @@ -1267,6 +1276,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_ctypeslib.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_lazyloading.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_matlib.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_numpy_config.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_numpy_version.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_public_api.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/tests/${MODPY_PYCACHE}test_reloading.${MODPY_PYC_MAGIC_TAG}pyc > @@ -1276,6 +1286,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_ctypeslib.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_lazyloading.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_matlib.py > +lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_numpy_config.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_numpy_version.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_public_api.py > lib/python${MODPY_VERSION}/site-packages/numpy/tests/test_reloading.py > @@ -1293,7 +1304,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/__init__.py > ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_generic_alias.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_isfile.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_runtime.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/${MODPY_PYCACHE}test_typing.${MODPY_PYC_MAGIC_TAG}pyc > @@ -1435,7 +1445,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/ufuncs.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/version.pyi > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/data/reveal/warnings_and_errors.pyi > -lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_generic_alias.py > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_isfile.py > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_runtime.py > lib/python${MODPY_VERSION}/site-packages/numpy/typing/tests/test_typing.py >