summaryrefslogtreecommitdiff
path: root/dev-python/numpy
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
commite52012895af4c92f008daac78c3d8b6d691a5dd1 (patch)
tree23cfaf6724a2a4437945e792ce42481a83acfd4a /dev-python/numpy
parente41409e9c4ccf0cd1b45b81f9d2370d13326cfc2 (diff)
gentoo auto-resync : 26:06:2023 - 19:33:07
Diffstat (limited to 'dev-python/numpy')
-rw-r--r--dev-python/numpy/Manifest4
-rw-r--r--dev-python/numpy/files/numpy-1.25.0-fix-long-double-check.patch151
-rw-r--r--dev-python/numpy/files/numpy-1.25.0-skip-python3.12-irrelevant-tests.patch187
-rw-r--r--dev-python/numpy/numpy-1.25.0.ebuild9
4 files changed, 348 insertions, 3 deletions
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 0b939a1b35d5..7b233fd9d96e 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,5 +1,7 @@
AUX numpy-1.22.0-no-hardcode-blasv2.patch 2710 BLAKE2B 71da07805e25acc58120da2b8d8692ec5893040eee3c2842620e2a9186062936082f34610d3056c44e44a921116f99158dfb7481c4eccc82d33b3b18a63b379e SHA512 87bcecee3435dedcd87128c81d0002a786b4b23928973216f32c8d12b797d6a9948c3e7b41142235abe35734683e6ef84c02ffe255ba492a0ad43626071dc5a9
AUX numpy-1.24.3-fix-c++-linkage.patch 993 BLAKE2B 9ad31b995b209ea0674ee144a72dfa6b6bf5e10e3676a8c3dda9327ff9befed5cbdcfc0819a9053e1d281862ea8df40514e8e0fc05fee8c4a743faf8f56f5e72 SHA512 29a1e287f04a68785284005d8d2ee56e26f5180e42bc4a7ba0dc06f5523c91447a5a749bd4492ecf7ba5c916f80f03e619429f75ae3636cef24c4f11f29a6d23
+AUX numpy-1.25.0-fix-long-double-check.patch 5788 BLAKE2B c004fa342349a22dda30566d3015257146cee89e5b15c32d9b0bdbd44f4c7be76749f248e792d9ffd77ea8a674a2dfe0d183a9de48a1bb0f450e7a3f2f9688b0 SHA512 d2ecea4bc1878cb3df1b730b705bfa445f8f74356a5232de7ef5c94624847703985ac51d6b5bc3b961be6ef4b854804a531b5645e57ae4f6197d5aedb2e1c459
+AUX numpy-1.25.0-skip-python3.12-irrelevant-tests.patch 7363 BLAKE2B ca4581f61fb1350803915bcc8e3198bd13c75e0c7e178c86e72682222cbafff396f23afad9d7427d9d2a4be625f84626c899493045a0b8cc7ee3d031d36712c3 SHA512 cce36c856beb2254436f2753ed94b7a933d1e4c06fe0a96c2be70d944f91bb13f3358f50981398d0b9169c0e01b64695c3adb797db15cb6b695488318e276886
AUX numpy-1.25.0_rc1-meson-pyproject.toml.patch 16917 BLAKE2B 6cdda647c1c4f003adcaff3d634cbaa2f6c1624f2e44bfff1b6542189693a1dc99bf8a3da38d5e9a5dd2b3a6382d0430f03eb3c39811cf3b72e85a1bbae9ea0e SHA512 0a51b1c84356704f373ba1188dc63152e45fdb7bc71881e8ab08b67bfbf2e8f1e9b5544eedf6e3d8b4b872e294e28233e9f059dfdad42ff835bba22ee66d0d93
DIST numpy-1.24.0.tar.gz 10897101 BLAKE2B 59e2b913f90de76589d8fbb2f07e2d389012c7f6ce9bd641bc4837776465ce9c41c34f19f92bee55d4bae6245c1d2c84315b359ef0b089fd68d31cd7e7ec44b1 SHA512 3b4e6255b8d39e8504a50ecd3c2ba09d5b16d3f6c70b23b67e4dbf03d1fe390c55030f46090341d39a1ee8228c61ad6212fdc6e4579fcec9e26b4dbe70268661
DIST numpy-1.24.2.tar.gz 10906862 BLAKE2B e48f65eab709f0c57ec378d813a7b65bcaca6d5960b559d6db1c60726e5cf12517f4b2e1636b0ff815a2109925edccba200270db5170fd0aff5fd635919165ac SHA512 145fd7fb3919a185f75076d51b92c54a7fb1b776b637752ca15fdee15b239d6a517ef1bb8cded7c92e059cf6cda0146c24943c042d19b791e81125bc0ad4b820
@@ -9,5 +11,5 @@ EBUILD numpy-1.24.0.ebuild 4196 BLAKE2B a7359b00b007339381f458502457b2d2f9f07daf
EBUILD numpy-1.24.2.ebuild 4366 BLAKE2B a596f2a7404747dacfe7ce08be400836ca89a39c7c63137bc4b1f089d71b5bc1dae6cdf6e8226ebd871665f2ea1058d55836fba3222d8cf316be749974881be4 SHA512 7842c22c4e2b321627f7b8ca0eb8ee3a8717ef42f25327df606188355e323ceb2a825b08faff5fbc9e2dcc8e8f9b6cde6e0d63bf24e41b1a9e41209322fa6aa5
EBUILD numpy-1.24.3-r1.ebuild 4631 BLAKE2B 89d426ee6284e84f8603c9fdd4e1adc6ab97be8e2504c67ec3545a95fc47d03024602816a1198fbfc6771d256d2fbc23e181307370d5acce144b0417c5c2391f SHA512 c5e33896690a50f83d14f7544920f4755ca0d927982dd9271da400a23cfb3226abe779fe117e15b3776e31c8fc96751955ec55ce69e46ab58a3e2874a94f6f8d
EBUILD numpy-1.24.3.ebuild 4581 BLAKE2B 0ab41b83e18c8395c19885f292a186407f62c584a94ff2eeeaf2e72847b1973581b9eab51b351898171ad51610d7eea6b9d3545f4a771c143f752e6790924345 SHA512 cc1204442685b83ca2f9103f52fe8f338729e62eae4299a511bad54b71c99a77bbb50d22b77f08b8ddf1924340211360d17e0886f20ac55572a130e941250b80
-EBUILD numpy-1.25.0.ebuild 2793 BLAKE2B af7a6b2015cdfd41d196615ff1f5ee1e563932f5eb928983cea0a85f35a43c2564dec50e6302eae286b46abc14aa8920e3bfa1445b69009147634a7b9d69958a SHA512 01a0935c5a3097e49f67e0aa6375e50d78332e7ba5316faa83e5421b07dc2af868266329fcc629ca1c83ae1bcd47b48a30c9f089472e9157bf1f73604f9600df
+EBUILD numpy-1.25.0.ebuild 3159 BLAKE2B 4922ee982a5fe23a28d832bb634b55bdce81be2e20d459a70002f53bd16020ceb688ca66879ae74646d21451bb92cd4058242429f6f086403d56aa6f89eea69a SHA512 3efd47da84609257837bebc9854f932ea85ce2c9ada614af5da551bb87b88b5dd58f0f9370b98afa2f128a1b5537de37782c766be6011b34796597b30aa0b83c
MISC metadata.xml 932 BLAKE2B 7a4af31f613bab05ff542da48bf6ff1484d9df2459f559516e71329451dd739d3df0fead507c8033d94ab9ed516b68efe7f21819a8cd6ca303643d8c8bc34e86 SHA512 32cb8c1ab61521a02cbec38f6ea383f074e50d46aa3462ddcb85710f9d348e8e628cf2a5725e3cd921cc32f02885a1b5f02125639f0ec885384eeeff7f468a06
diff --git a/dev-python/numpy/files/numpy-1.25.0-fix-long-double-check.patch b/dev-python/numpy/files/numpy-1.25.0-fix-long-double-check.patch
new file mode 100644
index 000000000000..4f3ef21c93b3
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.25.0-fix-long-double-check.patch
@@ -0,0 +1,151 @@
+https://github.com/numpy/numpy/commit/de0b2d5c6dee9303c4a055e7591978ed5a06e403
+
+From de0b2d5c6dee9303c4a055e7591978ed5a06e403 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Sun, 18 Jun 2023 19:39:06 -0400
+Subject: [PATCH] BLD: Port long double identification to C for meson
+
+This ports the old Python code for identifying the long double
+representation to C, so that it can be easily invoked by meson. The
+original implementation is at https://github.com/numpy/numpy/blob/eead09a3d02c09374942cdc787c0b5e4fe9e7472/numpy/core/setup_common.py#L264-L434
+
+The C portion of the code has been tested and confirmed to work on
+systems with the following formats, either natively or via an
+alternative ABI: INTEL_EXTENDED_16_BYTES_LE, IEEE_QUAD_BE,
+IEEE_QUAD_LE, IBM_DOUBLE_DOUBLE_BE, IBM_DOUBLE_DOUBLE_LE,
+IEEE_DOUBLE_BE, INTEL_EXTENDED_12_BYTES_LE.
+
+The original meson port includes an error condition with the comment
+"This should not be possible, 12 bits of "content" should still result
+in sizeof() being 16." As far as I can tell this is incorrect, as
+compiling on an x86_64 system with 32-bit ABI (gcc -m32) does indeed
+have sizeof(long double)==12. This is reflected in the C code.
+
+Closes gh-23972, closes
+https://github.com/mesonbuild/meson/issues/11068.
+---
+ numpy/core/meson.build | 110 ++++++++++++++++++++++++++++++++---------
+ 1 file changed, 87 insertions(+), 23 deletions(-)
+
+diff --git a/numpy/core/meson.build b/numpy/core/meson.build
+index 3427de408f1..92b393e4bc1 100644
+--- a/numpy/core/meson.build
++++ b/numpy/core/meson.build
+@@ -361,29 +361,93 @@ foreach intrin: optional_intrinsics
+ endif
+ endforeach
+
+-# long double representation detection (see setup_common.py)
+-# TODO: this is still incomplete, and different from how it's done in the
+-# numpy.distutils based build, see https://github.com/mesonbuild/meson/issues/11068
+-longdouble_size = cc.sizeof('long double')
+-if longdouble_size == 8
+- if host_machine.endian() == 'little'
+- longdouble_format = 'IEEE_DOUBLE_LE'
+- else
+- longdouble_format = 'IEEE_DOUBLE_BE'
+- endif
+-elif longdouble_size == 12
+- error('This should not be possible, 12 bits of "content" should still result in sizeof() being 16. Please report this error!'
+- )
+-elif longdouble_size == 16
+- if host_machine.endian() == 'little'
+- # FIXME: this varies, there's multiple formats here! Not yet implemented.
+- # TBD how we deal with the mess of old long double formats.
+- longdouble_format = 'INTEL_EXTENDED_16_BYTES_LE'
+- else
+- error('No idea what this is ....')
+- endif
+-else
+- error('Unknown long double size: ' + londouble_size)
++# This is a port of the old python code for identifying the long double
++# representation to C. The old Python code is in this range:
++# https://github.com/numpy/numpy/blob/eead09a3d02c09374942cdc787c0b5e4fe9e7472/numpy/core/setup_common.py#L264-L434
++# This port is in service of solving gh-23972
++# as well as https://github.com/mesonbuild/meson/issues/11068
++longdouble_format = meson.get_compiler('c').run(
++'''
++#include <stdio.h>
++#include <string.h>
++
++#define repcmp(z) (memcmp((const char *)&foo.x, z, sizeof(foo.x)) == 0)
++
++const struct {
++ char before[16];
++ long double x;
++ char after[8];
++} foo = {{'\0'}, -123456789.0, {'\0'}};
++
++int main(void) {
++ switch (sizeof(foo.x)) {
++ case 8: {
++ if (repcmp(
++ ((const char[]){0000, 0000, 0000, 0124, 0064, 0157, 0235, 0301}))) {
++ fprintf(stdout, "IEEE_DOUBLE_LE");
++ return 0;
++ }
++ if (repcmp(
++ ((const char[]){0301, 0235, 0157, 0064, 0124, 0000, 0000, 0000}))) {
++ fprintf(stdout, "IEEE_DOUBLE_BE");
++ return 0;
++ }
++ fprintf(stdout, "UNKNOWN");
++ return 1;
++ }
++ case 12: {
++ if (repcmp(((const char[]){0000, 0000, 0000, 0000, 0240, 0242, 0171, 0353,
++ 0031, 0300, 0000, 0000}))) {
++ fprintf(stdout, "INTEL_EXTENDED_12_BYTES_LE");
++ return 0;
++ }
++ if (repcmp(((const char[]){0300, 0031, 0000, 0000, 0353, 0171, 0242, 0240,
++ 0000, 0000, 0000, 0000}))) {
++ fprintf(stdout, "MOTOROLA_EXTENDED_12_BYTES_BE");
++ return 0;
++ }
++ fprintf(stdout, "UNKNOWN");
++ return 1;
++ }
++ case 16: {
++ if (repcmp(
++ ((const char[]){0000, 0000, 0000, 0000, 0240, 0242, 0171, 0353,
++ 0031, 0300, 0000, 0000, 0000, 0000, 0000, 0000}))) {
++ fprintf(stdout, "INTEL_EXTENDED_16_BYTES_LE");
++ return 0;
++ }
++ if (repcmp(
++ ((const char[]){0300, 0031, 0326, 0363, 0105, 0100, 0000, 0000,
++ 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000}))) {
++ fprintf(stdout, "IEEE_QUAD_BE");
++ return 0;
++ }
++ if (repcmp(
++ ((const char[]){0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000,
++ 0000, 0000, 0100, 0105, 0363, 0326, 0031, 0300}))) {
++ fprintf(stdout, "IEEE_QUAD_LE");
++ return 0;
++ }
++ if (repcmp(
++ ((const char[]){0000, 0000, 0000, 0124, 0064, 0157, 0235, 0301,
++ 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000}))) {
++ fprintf(stdout, "IBM_DOUBLE_DOUBLE_LE");
++ return 0;
++ }
++ if (repcmp(
++ ((const char[]){0301, 0235, 0157, 0064, 0124, 0000, 0000, 0000,
++ 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000}))) {
++ fprintf(stdout, "IBM_DOUBLE_DOUBLE_BE");
++ return 0;
++ }
++ fprintf(stdout, "UNKNOWN");
++ return 1;
++ }
++ }
++}
++''').stdout()
++if longdouble_format == 'UNKNOWN' or longdouble_format == 'UNDEFINED'
++ error('Unknown long double format of size: ' + cc.sizeof('long double').to_string())
+ endif
+ cdata.set10('HAVE_LDOUBLE_' + longdouble_format, true)
+
+
diff --git a/dev-python/numpy/files/numpy-1.25.0-skip-python3.12-irrelevant-tests.patch b/dev-python/numpy/files/numpy-1.25.0-skip-python3.12-irrelevant-tests.patch
new file mode 100644
index 000000000000..cd829c5ef08e
--- /dev/null
+++ b/dev-python/numpy/files/numpy-1.25.0-skip-python3.12-irrelevant-tests.patch
@@ -0,0 +1,187 @@
+https://github.com/numpy/numpy/commit/515403f2c637cb58f8dc326d88dd6f768f027cf4
+https://github.com/numpy/numpy/commit/b0872b858e2e6ebc394e95c81a024dcf1573c690
+https://github.com/numpy/numpy/commit/e42fc93b54a6d41dab72d86921f96e5ebc4c4198
+https://github.com/numpy/numpy/commit/4552b6cb0083502f731794e961cd30b9b62ba2e3
+
+From 515403f2c637cb58f8dc326d88dd6f768f027cf4 Mon Sep 17 00:00:00 2001
+From: Ralf Gommers <ralf.gommers@gmail.com>
+Date: Sun, 18 Jun 2023 15:56:23 +0200
+Subject: [PATCH] TST: disable `test_new_policy` test for memory allocator.
+
+This is way too slow, running a large part of the test suite twice.
+Issue 23975 tracks changing how this feature is tested.
+---
+ numpy/core/tests/test_mem_policy.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/numpy/core/tests/test_mem_policy.py b/numpy/core/tests/test_mem_policy.py
+index b4e2f65916c..0855d60771a 100644
+--- a/numpy/core/tests/test_mem_policy.py
++++ b/numpy/core/tests/test_mem_policy.py
+@@ -359,7 +359,7 @@ def test_thread_locality(get_module):
+ assert np.core.multiarray.get_handler_name() == orig_policy_name
+
+
+-@pytest.mark.slow
++@pytest.mark.skip(reason="too slow, see gh-23975")
+ def test_new_policy(get_module):
+ a = np.arange(10)
+ orig_policy_name = np.core.multiarray.get_handler_name(a)
+
+From b0872b858e2e6ebc394e95c81a024dcf1573c690 Mon Sep 17 00:00:00 2001
+From: Ralf Gommers <ralf.gommers@gmail.com>
+Date: Mon, 19 Jun 2023 11:07:19 +0200
+Subject: [PATCH] TST: skip refcount related tests on py312
+
+Python 3.12 has immortal refcounts; the initial and final
+values will be the same when accessing `sys.getrefcount` inside a
+test.
+
+Closes gh-23986
+--- a/numpy/core/tests/test_dtype.py
++++ b/numpy/core/tests/test_dtype.py
+@@ -755,6 +755,11 @@ def iter_struct_object_dtypes():
+ yield pytest.param(dt, p, 12, obj, id="<structured subarray 2>")
+
+
++@pytest.mark.skipif(
++ sys.version_info >= (3, 12),
++ reason="Python 3.12 has immortal refcounts, this test will no longer "
++ "work. See gh-23986"
++)
+ @pytest.mark.skipif(not HAS_REFCOUNT, reason="Python lacks refcounts")
+ class TestStructuredObjectRefcounting:
+ """These tests cover various uses of complicated structured types which
+--- a/numpy/core/tests/test_regression.py
++++ b/numpy/core/tests/test_regression.py
+@@ -1465,6 +1465,10 @@ def test_structured_arrays_with_objects1(self):
+ x[x.nonzero()] = x.ravel()[:1]
+ assert_(x[0, 1] == x[0, 0])
+
++ @pytest.mark.skipif(
++ sys.version_info >= (3, 12),
++ reason="Python 3.12 has immortal refcounts, this test no longer works."
++ )
+ @pytest.mark.skipif(not HAS_REFCOUNT, reason="Python lacks refcounts")
+ def test_structured_arrays_with_objects2(self):
+ # Ticket #1299 second test
+
+From e42fc93b54a6d41dab72d86921f96e5ebc4c4198 Mon Sep 17 00:00:00 2001
+From: Ralf Gommers <ralf.gommers@gmail.com>
+Date: Mon, 19 Jun 2023 11:14:38 +0200
+Subject: [PATCH] TST: skip memory allocator and `array_interface` tests on
+ py312
+
+They require numpy.distutils, which isn't available on >=3.12
+The `numpy.testing.extbuild` utility will need changing to make this
+work again. Could either use plain `setuptools` or `meson`.
+--- a/numpy/core/tests/test_array_interface.py
++++ b/numpy/core/tests/test_array_interface.py
+@@ -128,6 +128,9 @@ def get_module(tmp_path):
+ more_init=more_init)
+
+
++# FIXME: numpy.testing.extbuild uses `numpy.distutils`, so this won't work on
++# Python 3.12 and up.
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ @pytest.mark.slow
+ def test_cstruct(get_module):
+
+--- a/numpy/core/tests/test_mem_policy.py
++++ b/numpy/core/tests/test_mem_policy.py
+@@ -9,6 +9,11 @@
+ import sys
+
+
++# FIXME: numpy.testing.extbuild uses `numpy.distutils`, so this won't work on
++# Python 3.12 and up. It's an internal test utility, so for now we just skip
++# these tests.
++
++
+ @pytest.fixture
+ def get_module(tmp_path):
+ """ Add a memory policy that returns a false pointer 64 bytes into the
+@@ -213,6 +218,7 @@ def get_module(tmp_path):
+ more_init=more_init)
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_set_policy(get_module):
+
+ get_handler_name = np.core.multiarray.get_handler_name
+@@ -241,6 +247,7 @@ def test_set_policy(get_module):
+ assert get_handler_name() == orig_policy_name
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_default_policy_singleton(get_module):
+ get_handler_name = np.core.multiarray.get_handler_name
+
+@@ -262,6 +269,7 @@ def test_default_policy_singleton(get_module):
+ assert def_policy_1 is def_policy_2 is get_module.get_default_policy()
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_policy_propagation(get_module):
+ # The memory policy goes hand-in-hand with flags.owndata
+
+@@ -320,6 +328,7 @@ async def async_test_context_locality(get_module):
+ assert np.core.multiarray.get_handler_name() == orig_policy_name
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_context_locality(get_module):
+ if (sys.implementation.name == 'pypy'
+ and sys.pypy_version_info[:3] < (7, 3, 6)):
+@@ -341,6 +350,7 @@ def concurrent_thread2(get_module, event):
+ get_module.set_secret_data_policy()
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_thread_locality(get_module):
+ orig_policy_name = np.core.multiarray.get_handler_name()
+
+@@ -359,6 +369,7 @@ def test_thread_locality(get_module):
+ assert np.core.multiarray.get_handler_name() == orig_policy_name
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ @pytest.mark.skip(reason="too slow, see gh-23975")
+ def test_new_policy(get_module):
+ a = np.arange(10)
+@@ -388,6 +399,8 @@ def test_new_policy(get_module):
+ c = np.arange(10)
+ assert np.core.multiarray.get_handler_name(c) == orig_policy_name
+
++
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ @pytest.mark.xfail(sys.implementation.name == "pypy",
+ reason=("bad interaction between getenv and "
+ "os.environ inside pytest"))
+@@ -420,6 +433,8 @@ def test_switch_owner(get_module, policy):
+ else:
+ os.environ['NUMPY_WARN_IF_NO_MEM_POLICY'] = oldval
+
++
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="no numpy.distutils")
+ def test_owner_is_base(get_module):
+ a = get_module.get_array_with_base()
+ with pytest.warns(UserWarning, match='warn_on_free'):
+
+
+From 4552b6cb0083502f731794e961cd30b9b62ba2e3 Mon Sep 17 00:00:00 2001
+From: Ralf Gommers <ralf.gommers@gmail.com>
+Date: Mon, 19 Jun 2023 12:07:32 +0200
+Subject: [PATCH] TST: skip test using `np.load` on py2-saved .npy file on
+ py312
+
+--- a/numpy/lib/tests/test_format.py
++++ b/numpy/lib/tests/test_format.py
+@@ -527,6 +527,7 @@ def test_load_padded_dtype(tmpdir, dt):
+ assert_array_equal(arr, arr1)
+
+
++@pytest.mark.skipif(sys.version_info >= (3, 12), reason="see gh-23988")
+ @pytest.mark.xfail(IS_WASM, reason="Emscripten NODEFS has a buggy dup")
+ def test_python2_python3_interoperability():
+ fname = 'win64python2.npy'
diff --git a/dev-python/numpy/numpy-1.25.0.ebuild b/dev-python/numpy/numpy-1.25.0.ebuild
index 9261cf73b3ba..b9b702ebe7a8 100644
--- a/dev-python/numpy/numpy-1.25.0.ebuild
+++ b/dev-python/numpy/numpy-1.25.0.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
FORTRAN_NEEDED=lapack
@@ -22,7 +22,7 @@ LICENSE="BSD"
SLOT="0"
IUSE="lapack"
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64"
fi
RDEPEND="
@@ -52,6 +52,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-1.25.0_rc1-meson-pyproject.toml.patch
+ "${FILESDIR}"/${PN}-1.25.0-skip-python3.12-irrelevant-tests.patch
+ "${FILESDIR}"/${PN}-1.25.0-fix-long-double-check.patch
)
distutils_enable_tests pytest
@@ -107,6 +109,9 @@ python_test() {
EPYTEST_DESELECT+=(
# too large for 32-bit platforms
core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ lib/tests/test_histograms.py::TestHistogram::test_big_arrays
)
;;
*)