summaryrefslogtreecommitdiff
path: root/dev-python/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/numpy')
-rw-r--r--dev-python/numpy/Manifest21
-rw-r--r--dev-python/numpy/files/numpy-1.26.1-more-arches.patch16
-rw-r--r--dev-python/numpy/numpy-1.26.1.ebuild163
-rw-r--r--dev-python/numpy/numpy-1.26.2.ebuild172
-rw-r--r--dev-python/numpy/numpy-1.26.3.ebuild169
-rw-r--r--dev-python/numpy/numpy-1.26.4.ebuild18
-rw-r--r--dev-python/numpy/numpy-2.0.0.ebuild (renamed from dev-python/numpy/numpy-2.0.0_rc2.ebuild)81
-rw-r--r--dev-python/numpy/numpy-2.0.2.ebuild (renamed from dev-python/numpy/numpy-2.0.0_rc1.ebuild)82
-rw-r--r--dev-python/numpy/numpy-2.1.1.ebuild149
-rw-r--r--dev-python/numpy/numpy-2.1.2.ebuild149
10 files changed, 371 insertions, 649 deletions
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index a682fb7b3595..cf6edf736f42 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,14 +1,11 @@
-AUX numpy-1.26.1-more-arches.patch 683 BLAKE2B dcf9cd87747981a010be254a49569108ddca41c9ccfebaa04694e832aced6f717bd5edd7a9e5853d6c89eea02fb46c48a534a13d9021d655fc82cc2bda40e7be SHA512 4ca8fafbe15d8f68090283ca1e60d23ccdc3a4ba6f607d9f83533dff44a229a8c92ef9acf886673a57438c6bb6b0e0e21b86de8ae9eba31be5599a9807ab24be
-DIST numpy-1.26.1.tar.gz 15651806 BLAKE2B 2b7fe13675b6f11b8f19c2dc671c84418fa959f403ff32c15ae6da37ae8137d062bb47db0180031c90f54451d69d640ec4ebfad0a4eefb32afc55df45c6824ab SHA512 abe5919029fc66961e8f44fdd503b54c291ce75b0d95e3f8bb61ee39a25d62142fbece5734fd7e9cbf65511f9d746fa61796f0d68e6dc2816c0e7747e286e505
-DIST numpy-1.26.2.tar.gz 15664248 BLAKE2B 006e511e27c009f27bf4bf6c8c30c84a4bf0e8b1ff53f4e031089f28c1cfd168ec0d037952fe8f377f9a1d6e1ab642a84c095edeee5696b18053fd5cb7550586 SHA512 9986cd34dda921fbc152c3be0e39f003035787ea1e055452b9259d02c423d413080a0c7e4e19fd38d9e28f66d428719d6ebe784c24ae17249ff56494950daf4b
-DIST numpy-1.26.3.tar.gz 15679696 BLAKE2B 4c063e1a495b187049b5604686c0411b056fd03a69b5044cff10693694a7f055c87a017334cf8d05aa4a4cb87896fdf9203f51742d3cf83dbaf611b0e6e4091a SHA512 25556b41e2db9cfc52c1dfa61b05e4fc1b7b6df3b169f365375575d1146857fdb5ff91ca1508b968c296b7a06e5c6d95e82c41cdc3561587a46d3aa178f6305d
DIST numpy-1.26.4.tar.gz 15786129 BLAKE2B ee759d3a857111bc494d5e989a7b005375d942b2a89cda69be4a3bd7c6cb195003fd2a8a0535f1858d8977ff688b0ec36360dcba9c3160206eedce5e28f191ef SHA512 f7121ab4099fa0686f9c095d456baa4a5869d651d7b7a06385f885f329cf08f11024b5df5e7b4ee705970062a8102ec4f709512eabbfd5c9fccce4ef83b9c208
-DIST numpy-2.0.0rc1.tar.gz 18314779 BLAKE2B 5f304986330356418302d755d2a94edabbb62b7d88f4637b9f3fa633925174a8d5044f686635ff97dc81a5b464f2a66246ef4c3ede12a2c0441778acd2380927 SHA512 1f3bef3fd51f074b137099921ab0bc0f1af46c9e27993f315b8a7af2cab948de9f91af341a6976d54fae099ba1aa9e0e917eecd520c3721c1ba8e17c28d40be8
-DIST numpy-2.0.0rc2.tar.gz 18323588 BLAKE2B e2d5d03594d0cba360d4e85207818d15a0761f37cc3fb366f8f9f8bdd97743fe0cf0d09a34319c8b6af29b2bc1fc32a7f5be30a5fa2bdebffe455baff05caf7e SHA512 f86b27264c5274823aa11cbedf17c08f81f9acd05430bf40cccbbe8dcff523410629795ca5927d7f8e6c152272b274d777b64f547d23f50d11ae9fd656fd773d
-EBUILD numpy-1.26.1.ebuild 4493 BLAKE2B 7f588777822396538c2004ce566575508aa65dae01afde32bfd40ac74955fbba98758d2cdaafbd51070b073bf216a528cc2c930970ed7de018b2def0e2b15722 SHA512 2e55c6c7e80864b031a834cbbe5862f608d9d77ddcfb6f868504951889e639f4d39bc1097c1d5a34a145d44511450de0fe38a3299de69d4f059c65b0456a9720
-EBUILD numpy-1.26.2.ebuild 4769 BLAKE2B 0185c924c3348ab96eb83c2ec6d766994c0ea325c5d7287caa5a8e1cc3be6401b35eaf0bc5d6703e74f4ee8a4de6ef4e1514deae3ea904cf9b083aea7ed8da9a SHA512 d18013696e917b2a7841fc2bf6a122cf6ba400f1d109878ada6abee0640fd06fd91ab2480eb6b429e014891fa96cfab3c090964d149a6e3d1dd0859fc36aa041
-EBUILD numpy-1.26.3.ebuild 4787 BLAKE2B 22d76498a5fe1340594347ec1780140b8d5e20a33fc74c04defe02365e16d3c82ecc2de8f3a9ed205aee754865ee7109003ad62eebac5d7c99f662729bef2c4f SHA512 829d0fa1472cfc0e509e091c5889d2eb1c0cdb132f329774d088d6ee4cbd4d44b209eb304fbb8e3716a7e284773b52a0247ca0187979fad38b6287d5b4c206f8
-EBUILD numpy-1.26.4.ebuild 4789 BLAKE2B 61b429d317f69ad02e9abb6aa79ea0f5704115fa5d0771ea723f723fff7d0d807c9248ae54864bfbc2efb81ba9b92233e15f903641606d60c1a85f13d619abbf SHA512 19c54b7a33cbb0f7cc97de623424de4ece26b86337a7826fabee84615f9ceb2618b00463f7998c35ada16f9a9fe1e79d5fc61caa4ecd6293085d3a4d62d19697
-EBUILD numpy-2.0.0_rc1.ebuild 4757 BLAKE2B 10d5c245fdb63a95bc076692b3c38f280f45b998257474bf7bfc66cfc485748fe8f1f205da8bd9eb34ece469b13dc42d97805a18331953ac5c9ac4880cd217ed SHA512 5a73ffd2c0e173b512ad9c32a19410d98315ceb3b967c7c4d268c212476e5799824013644d955c4d3b18088ad27dc9453a2c5023591065ce8a287a3560654400
-EBUILD numpy-2.0.0_rc2.ebuild 4937 BLAKE2B 221b3e9338e8a81028c4aae23d6902ddc39f10c1bee3c22a88a8f7f04d6753abc7f6ecb96c9b707ea744291c8cc79ca983a73203d19984b45e26301ed0b8a7f4 SHA512 5741b5dd65137f94dda774755047bbce91b03a4d6dbca77ef5404c701240ad1c5f8663c8558fbb993263d073993de7c000498cb5f31ee6e51e91ace2a6aa6d52
+DIST numpy-2.0.0.tar.gz 18326228 BLAKE2B e3d1084b79e0e55cd9087bb34dc116e6c9d6ab14a416a07f727b9f5d5a9db236ecf74a53b7e758d078781c5e565e5557912962f2ddbfff7251ec5b231fabe01d SHA512 cd5612ce2db4be87afa8479c508c256c9ff7f1b15a6b010eb06ba962759cc26552b512ec82711680bab1ebedeb06dfc8d7bff9cec63c94efacaadd719448b287
+DIST numpy-2.0.2.tar.gz 18902015 BLAKE2B 63f993e3429bff1dac1ff79fad23a36a2493fd2c8a825ef96b6b87d82b0e68393d2829c5ecd9065df345c8bfbb1f8f385077f154264f7d2810d311d1d6672bd7 SHA512 d769fd4f07e082fae1661c6856d6d726e189f6931f3028c6819f9806aa9dfd15ab2b49c48b94bfd925eb3f74fddb6f044c9ba93bbb785b5476440dd1cf0b4999
+DIST numpy-2.1.1.tar.gz 18874860 BLAKE2B c828f2106e32429831aa8c64b3b94dfda1b097bcb7f3475b33306bed0b03c2aeb0af4e43ea47c6b3d5e6387b37e3f9ecdf6ae2a3fd4f526da5d121931b9521f1 SHA512 94843f88a32cc1df3e572ac13f294e49201a1f50fbd28707a500839cdff61958823c5b8748a7a54cd866a1acc9bd11efde53042141a81cca44393ee7cee78cdc
+DIST numpy-2.1.2.tar.gz 18878063 BLAKE2B b976b72bb113fc9c5e5a17c9d89038b6a11f2a09521ef46a610dd1fd04b0b11f08491728b2397ca5e3e9613aab3ad8c63b2b15a6378c535cf0e735226d517617 SHA512 3d69f6583e093e8fd0f441ec7dc4658c88fb714bb29574cd9510091ba059553f79c52492037353caf50b6cff1f7bd1e2501e445c7adde41bd9e08bab363e06e9
+EBUILD numpy-1.26.4.ebuild 5160 BLAKE2B 52a7676802baa6c09d2c61445253434394b20cd7c12e7c2d17ceab3f391e15c9e40ee3e1c0e37ee7fc300840910d79f070104aa99169040eb21cec6678ce5ac7 SHA512 daa4452207419e0fa283844a6c7fffb58b508db0be25a09087ea36dd8de476ca0c0b3b2dee16f47738a7e00e17a5efb288b64e558d649da71d3a47dbca7d8443
+EBUILD numpy-2.0.0.ebuild 3365 BLAKE2B a116b9eed3bd13c9f0ecfbfb3810ca697c7914010fd40ab53a74dcad4678f2da916f7589551707fa35ceacf07e110a8e12a339b086c16aee7122c9c64f341646 SHA512 b01cebf19c34af332c49196f67d96d4952907756764c9adfd126fb58b8fa6ae92ec5a9566dc77e2d79150c076b6bd33a254859a553e504ddf650155a5a39e304
+EBUILD numpy-2.0.2.ebuild 3369 BLAKE2B 674c9daa3fb9efe12865d79be6acde78207ed4c92a5cac4e66b76db938eb1551a7f4cb6ea98402c9922617714285cd5216152f9a82ab0899b68186477e6d7d6b SHA512 2d3b65641a87ed7e6077677a839c1c01227461b870172d063edd4d74723fc21b233de2d9717cf24e1334d344e9f3625e143155c6012d1f054c8640bcb54e605d
+EBUILD numpy-2.1.1.ebuild 3857 BLAKE2B cbaec5125e352f83572453c8f57f5c74a276515a44959d2c22e7378a3cb1f033b5e03e2763c2d2b14ea9a97e8093d5b5e9970ca0c2ac25b47fd9b9fdffa87bc0 SHA512 bb72491cecc9b20c49b8a67ac1ec8cba8dac653d23fb743541769f792a81c4f82d6af835b6c8e0c495821ebd6f62eaec4db938708fdbb7971d92b883108f40ee
+EBUILD numpy-2.1.2.ebuild 3858 BLAKE2B 2b3b2b28a5ac88a1076c317b54bc43d00b3594fe47796c4c3394a8d0a7d199b38b953244c0be5d75c8badb5bbecbbb30512ad2778d28e67f658bebaf9228cc0d SHA512 5b734c82dd0193ab95ae25142a232e92d48692f3652ddb932e17e032b215341a6d9bc9a4c2fb3c9a1696a7afc2c2be9d2997c91cc5cfd819a370fff82ac26802
MISC metadata.xml 932 BLAKE2B 7a4af31f613bab05ff542da48bf6ff1484d9df2459f559516e71329451dd739d3df0fead507c8033d94ab9ed516b68efe7f21819a8cd6ca303643d8c8bc34e86 SHA512 32cb8c1ab61521a02cbec38f6ea383f074e50d46aa3462ddcb85710f9d348e8e628cf2a5725e3cd921cc32f02885a1b5f02125639f0ec885384eeeff7f468a06
diff --git a/dev-python/numpy/files/numpy-1.26.1-more-arches.patch b/dev-python/numpy/files/numpy-1.26.1-more-arches.patch
deleted file mode 100644
index a6f622517521..000000000000
--- a/dev-python/numpy/files/numpy-1.26.1-more-arches.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://github.com/numpy/numpy/pull/25078
-https://github.com/numpy/numpy/pull/25254
-
-diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
-index f352bbaa2..d17b052f9 100755
---- a/numpy/f2py/crackfortran.py
-+++ b/numpy/f2py/crackfortran.py
-@@ -2452,7 +2452,7 @@ def _selected_real_kind_func(p, r=0, radix=0):
- if p < 16:
- return 8
- machine = platform.machine().lower()
-- if machine.startswith(('aarch64', 'arm64', 'loongarch', 'power', 'ppc', 'riscv', 's390x', 'sparc')):
-+ if machine.startswith(('aarch64', 'alpha', 'arm64', 'loongarch', 'mips', 'power', 'ppc', 'riscv', 's390x', 'sparc')):
- if p <= 33:
- return 16
- else:
diff --git a/dev-python/numpy/numpy-1.26.1.ebuild b/dev-python/numpy/numpy-1.26.1.ebuild
deleted file mode 100644
index 3165b7cbfc9c..000000000000
--- a/dev-python/numpy/numpy-1.26.1.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-# +lapack because the internal fallbacks are pretty slow. Building without blas
-# is barely supported anyway, see bug #914358.
-IUSE="+lapack"
-if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-build/meson-1.1.0
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.26.1-more-arches.patch"
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dallow-noblas=$(usex !lapack true false)
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- # TODO: cpu-* options
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Very disk-and-memory-hungry
- lib/tests/test_io.py::TestSaveTxt::test_large_zip
- lib/tests/test_io.py::TestSavezLoad::test_closing_fid
- lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
-
- # Precision problems
- core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # Runs the whole test suite recursively, that's just crazy
- core/tests/test_mem_policy.py::test_new_policy
-
- typing/tests/test_typing.py
- # Uses huge amount of memory
- core/tests/test_mem_overlap.py
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case of arm32 chroot on arm64, bug #774108
- EPYTEST_DESELECT+=(
- core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- 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]'
- )
- ;;
- *)
- ;;
- esac
-
- if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
- # depends on importing numpy.random from system namespace
- EPYTEST_DESELECT+=(
- 'random/tests/test_extending.py::test_cython'
- )
- fi
-
- rm -rf numpy || die
- epytest --pyargs numpy
-}
-
-python_install_all() {
- local DOCS=( LICENSE.txt README.md THANKS.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.26.2.ebuild b/dev-python/numpy/numpy-1.26.2.ebuild
deleted file mode 100644
index 6a6e3b2205a2..000000000000
--- a/dev-python/numpy/numpy-1.26.2.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-# +lapack because the internal fallbacks are pretty slow. Building without blas
-# is barely supported anyway, see bug #914358.
-IUSE="+lapack"
-if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-build/meson-1.1.0
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.26.1-more-arches.patch"
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dallow-noblas=$(usex !lapack true false)
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- # TODO: cpu-* options
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Very disk-and-memory-hungry
- lib/tests/test_io.py::TestSaveTxt::test_large_zip
- lib/tests/test_io.py::TestSavezLoad::test_closing_fid
- lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
-
- # Precision problems
- core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # Runs the whole test suite recursively, that's just crazy
- core/tests/test_mem_policy.py::test_new_policy
-
- typing/tests/test_typing.py
- # Uses huge amount of memory
- core/tests/test_mem_overlap.py
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
-
- # likely a test problem
- # https://github.com/numpy/numpy/issues/25135
- core/tests/test_cython.py::test_conv_intp
-
- # flaky
- f2py/tests/test_crackfortran.py
- f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case of arm32 chroot on arm64, bug #774108
- EPYTEST_DESELECT+=(
- core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- 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]'
- )
- ;;
- *)
- ;;
- esac
-
- if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
- # depends on importing numpy.random from system namespace
- EPYTEST_DESELECT+=(
- 'random/tests/test_extending.py::test_cython'
- )
- fi
-
- rm -rf numpy || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs numpy
-}
-
-python_install_all() {
- local DOCS=( LICENSE.txt README.md THANKS.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.26.3.ebuild b/dev-python/numpy/numpy-1.26.3.ebuild
deleted file mode 100644
index 1bd624c00d92..000000000000
--- a/dev-python/numpy/numpy-1.26.3.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-# +lapack because the internal fallbacks are pretty slow. Building without blas
-# is barely supported anyway, see bug #914358.
-IUSE="+lapack"
-if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-build/meson-1.1.0
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dallow-noblas=$(usex !lapack true false)
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- # TODO: cpu-* options
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Very disk-and-memory-hungry
- lib/tests/test_io.py::TestSaveTxt::test_large_zip
- lib/tests/test_io.py::TestSavezLoad::test_closing_fid
- lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
-
- # Precision problems
- core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # Runs the whole test suite recursively, that's just crazy
- core/tests/test_mem_policy.py::test_new_policy
-
- typing/tests/test_typing.py
- # Uses huge amount of memory
- core/tests/test_mem_overlap.py
- 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
-
- # likely a test problem
- # https://github.com/numpy/numpy/issues/25135
- core/tests/test_cython.py::test_conv_intp
-
- # flaky
- f2py/tests/test_crackfortran.py
- f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case of arm32 chroot on arm64, bug #774108
- EPYTEST_DESELECT+=(
- core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- 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]'
- )
- ;;
- *)
- ;;
- esac
-
- if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
- # depends on importing numpy.random from system namespace
- EPYTEST_DESELECT+=(
- 'random/tests/test_extending.py::test_cython'
- )
- fi
-
- rm -rf numpy || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs numpy
-}
-
-python_install_all() {
- local DOCS=( LICENSE.txt README.md THANKS.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.26.4.ebuild b/dev-python/numpy/numpy-1.26.4.ebuild
index 113fbc6526eb..56f02ed4ab4c 100644
--- a/dev-python/numpy/numpy-1.26.4.ebuild
+++ b/dev-python/numpy/numpy-1.26.4.ebuild
@@ -24,7 +24,7 @@ SLOT="0"
# is barely supported anyway, see bug #914358.
IUSE="+lapack"
if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
RDEPEND="
@@ -50,10 +50,18 @@ BDEPEND="
)
"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
append-flags -fno-strict-aliasing
distutils-r1_python_prepare_all
@@ -113,6 +121,14 @@ python_test() {
random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
# more precision problems
core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
+ # https://github.com/numpy/numpy/issues/24548
+ f2py/tests/test_kind.py::TestKind::test_int
+ )
+ fi
+
+ if use ppc64 ; then
+ EPYTEST_DESELECT+=(
+ core/tests/test_cpu_features.py::TestEnvPrivation::test_impossible_feature_enable
)
fi
diff --git a/dev-python/numpy/numpy-2.0.0_rc2.ebuild b/dev-python/numpy/numpy-2.0.0.ebuild
index 0d97ca09f939..b5ebbb001efe 100644
--- a/dev-python/numpy/numpy-2.0.0_rc2.ebuild
+++ b/dev-python/numpy/numpy-2.0.0.ebuild
@@ -9,7 +9,7 @@ PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
FORTRAN_NEEDED=lapack
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
+inherit distutils-r1 flag-o-matic fortran-2 pypi
DESCRIPTION="Fast array and numerical python library"
HOMEPAGE="
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0/2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
IUSE="+lapack"
@@ -48,10 +48,18 @@ BDEPEND="
)
"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
append-flags -fno-strict-aliasing
distutils-r1_python_prepare_all
@@ -83,77 +91,30 @@ python_test() {
# Uses huge amount of memory
core/tests/test_mem_overlap.py
'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
-
- # likely a test problem
- # https://github.com/numpy/numpy/issues/25135
- core/tests/test_cython.py::test_conv_intp
-
- # flaky
- f2py/tests/test_crackfortran.py
- f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
)
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
+ if [[ $(uname -m) == armv8l ]]; then
# Degenerate case of arm32 chroot on arm64, bug #774108
EPYTEST_DESELECT+=(
core/tests/test_cpu_features.py::Test_ARM_Features::test_features
)
fi
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- 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]'
- )
- ;;
- *)
- ;;
- esac
-
case ${EPYTHON} in
python3.13)
EPYTEST_DESELECT+=(
_core/tests/test_nditer.py::test_iter_refcount
_core/tests/test_limited_api.py::test_limited_api
+ f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ f2py/tests/test_crackfortran.py
+ f2py/tests/test_data.py::TestData::test_crackedlines
+ f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ f2py/tests/test_f2py2e.py::test_gen_pyf
)
;;
esac
diff --git a/dev-python/numpy/numpy-2.0.0_rc1.ebuild b/dev-python/numpy/numpy-2.0.2.ebuild
index 9b86ed057d7a..36b49c01956b 100644
--- a/dev-python/numpy/numpy-2.0.0_rc1.ebuild
+++ b/dev-python/numpy/numpy-2.0.2.ebuild
@@ -5,11 +5,11 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
FORTRAN_NEEDED=lapack
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
+inherit distutils-r1 flag-o-matic fortran-2 pypi
DESCRIPTION="Fast array and numerical python library"
HOMEPAGE="
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0/2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
# +lapack because the internal fallbacks are pretty slow. Building without blas
# is barely supported anyway, see bug #914358.
IUSE="+lapack"
@@ -48,10 +48,18 @@ BDEPEND="
)
"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
append-flags -fno-strict-aliasing
distutils-r1_python_prepare_all
@@ -83,69 +91,31 @@ python_test() {
# Uses huge amount of memory
core/tests/test_mem_overlap.py
'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
-
- # likely a test problem
- # https://github.com/numpy/numpy/issues/25135
- core/tests/test_cython.py::test_conv_intp
-
- # flaky
- f2py/tests/test_crackfortran.py
- f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
)
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
+ if [[ $(uname -m) == armv8l ]]; then
# Degenerate case of arm32 chroot on arm64, bug #774108
EPYTEST_DESELECT+=(
core/tests/test_cpu_features.py::Test_ARM_Features::test_features
)
fi
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+ case ${EPYTHON} in
+ python3.13)
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]'
+ _core/tests/test_nditer.py::test_iter_refcount
+ _core/tests/test_limited_api.py::test_limited_api
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ f2py/tests/test_crackfortran.py
+ f2py/tests/test_data.py::TestData::test_crackedlines
+ f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ f2py/tests/test_f2py2e.py::test_gen_pyf
+ f2py/tests/test_f2py2e.py::test_gh22819_cli
)
- ;;
- *)
;;
esac
diff --git a/dev-python/numpy/numpy-2.1.1.ebuild b/dev-python/numpy/numpy-2.1.1.ebuild
new file mode 100644
index 000000000000..c65ca99ea528
--- /dev/null
+++ b/dev-python/numpy/numpy-2.1.1.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ 'numpy/core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_nditer.py::test_iter_refcount
+ numpy/_core/tests/test_limited_api.py::test_limited_api
+ numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ numpy/f2py/tests/test_crackfortran.py
+ numpy/f2py/tests/test_data.py::TestData::test_crackedlines
+ numpy/f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ numpy/f2py/tests/test_f2py2e.py::test_gen_pyf
+ )
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpy/numpy-2.1.2.ebuild b/dev-python/numpy/numpy-2.1.2.ebuild
new file mode 100644
index 000000000000..b2c954fbd4cb
--- /dev/null
+++ b/dev-python/numpy/numpy-2.1.2.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # https://bugs.gentoo.org/925367
+ vrndq_f32
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ numpy/lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ numpy/lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ numpy/_core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ numpy/core/tests/test_mem_policy.py::test_new_policy
+
+ numpy/typing/tests/test_typing.py
+ # Uses huge amount of memory
+ numpy/core/tests/test_mem_overlap.py
+ 'numpy/core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ numpy/_core/tests/test_nditer.py::test_iter_refcount
+ numpy/_core/tests/test_limited_api.py::test_limited_api
+ numpy/f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ numpy/f2py/tests/test_crackfortran.py
+ numpy/f2py/tests/test_data.py::TestData::test_crackedlines
+ numpy/f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ numpy/f2py/tests/test_f2py2e.py::test_gen_pyf
+ )
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'numpy/random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ if has_version ">=dev-python/setuptools-74[${PYTHON_USEDEP}]"; then
+ # msvccompiler removal
+ EPYTEST_DESELECT+=(
+ numpy/tests/test_public_api.py::test_all_modules_are_expected_2
+ numpy/tests/test_public_api.py::test_api_importable
+ )
+ EPYTEST_IGNORE+=(
+ numpy/distutils/tests/test_mingw32ccompiler.py
+ numpy/distutils/tests/test_system_info.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}