summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-07-26 05:54:28 +0100
committerSam James <sam@gentoo.org>2023-07-26 05:54:28 +0100
commite53e8134cdb194c1e3507127ee95988c83a30f7e (patch)
tree84b670037c97ed72eee47281cff39ba59cc01af0 /dev-python/numpy
parentdev-util/diffoscope: drop 243-r3, 244 (diff)
downloadgentoo-e53e8134cdb194c1e3507127ee95988c83a30f7e.tar.gz
gentoo-e53e8134cdb194c1e3507127ee95988c83a30f7e.tar.bz2
gentoo-e53e8134cdb194c1e3507127ee95988c83a30f7e.zip
dev-python/numpy: use upstream variant of fix-scalartypes.patch
Should be the same functionally but let's do this just in case (upstreamed version handles a few more types & is a bit cleaner as using numpy typedefs too). Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/numpy')
-rw-r--r--dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch45
-rw-r--r--dev-python/numpy/numpy-1.25.1-r1.ebuild146
-rw-r--r--dev-python/numpy/numpy-1.25.1-r3.ebuild (renamed from dev-python/numpy/numpy-1.25.1-r2.ebuild)0
3 files changed, 39 insertions, 152 deletions
diff --git a/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch b/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
index 845b41fef23a..aa381d243d88 100644
--- a/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
+++ b/dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch
@@ -1,8 +1,9 @@
https://bugs.gentoo.org/910739
https://github.com/numpy/numpy/issues/24239
https://github.com/numpy/numpy/pull/24240
+https://github.com/numpy/numpy/commit/d9c0c96582373de0990908c89ed75ae16279e8e5
-From f5eb12cafc99bb33dad6535dacab2f592aafb2b0 Mon Sep 17 00:00:00 2001
+From d9c0c96582373de0990908c89ed75ae16279e8e5 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sun, 23 Jul 2023 21:31:08 +0100
Subject: [PATCH] BUG: Fix C types in scalartypes
@@ -21,16 +22,48 @@ Closes #24239.
Fixes: 81caed6e3c34c4bf4b22b4f6167e816ba2a3f73c
--- a/numpy/core/src/multiarray/scalartypes.c.src
+++ b/numpy/core/src/multiarray/scalartypes.c.src
-@@ -301,10 +301,10 @@ genint_type_str(PyObject *self)
- item = PyLong_FromUnsignedLong(*(uint32_t *)val);
+@@ -283,34 +283,34 @@ genint_type_str(PyObject *self)
+ void *val = scalar_value(self, descr);
+ switch (descr->type_num) {
+ case NPY_BYTE:
+- item = PyLong_FromLong(*(int8_t *)val);
++ item = PyLong_FromLong(*(npy_byte *)val);
+ break;
+ case NPY_UBYTE:
+- item = PyLong_FromUnsignedLong(*(uint8_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ubyte *)val);
+ break;
+ case NPY_SHORT:
+- item = PyLong_FromLong(*(int16_t *)val);
++ item = PyLong_FromLong(*(npy_short *)val);
+ break;
+ case NPY_USHORT:
+- item = PyLong_FromUnsignedLong(*(uint16_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ushort *)val);
+ break;
+ case NPY_INT:
+- item = PyLong_FromLong(*(int32_t *)val);
++ item = PyLong_FromLong(*(npy_int *)val);
+ break;
+ case NPY_UINT:
+- item = PyLong_FromUnsignedLong(*(uint32_t *)val);
++ item = PyLong_FromUnsignedLong(*(npy_uint *)val);
break;
case NPY_LONG:
- item = PyLong_FromLong(*(int64_t *)val);
-+ item = PyLong_FromLong(*(long *)val);
++ item = PyLong_FromLong(*(npy_long *)val);
break;
case NPY_ULONG:
- item = PyLong_FromUnsignedLong(*(uint64_t *)val);
-+ item = PyLong_FromUnsignedLong(*(unsigned long *)val);
++ item = PyLong_FromUnsignedLong(*(npy_ulong *)val);
break;
case NPY_LONGLONG:
- item = PyLong_FromLongLong(*(long long *)val);
+- item = PyLong_FromLongLong(*(long long *)val);
++ item = PyLong_FromLongLong(*(npy_longlong *)val);
+ break;
+ case NPY_ULONGLONG:
+- item = PyLong_FromUnsignedLongLong(*(unsigned long long *)val);
++ item = PyLong_FromUnsignedLongLong(*(npy_ulonglong *)val);
+ break;
+ default:
+ item = gentype_generic_method(self, NULL, NULL, "item");
diff --git a/dev-python/numpy/numpy-1.25.1-r1.ebuild b/dev-python/numpy/numpy-1.25.1-r1.ebuild
deleted file mode 100644
index 82360199d958..000000000000
--- a/dev-python/numpy/numpy-1.25.1-r1.ebuild
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright 1999-2023 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 multiprocessing 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"
-IUSE="lapack"
-if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-util/meson-1.1.0
- >=dev-python/cython-0.29.30[${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/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.25.0_rc1-meson-pyproject.toml.patch
- "${FILESDIR}"/${PN}-1.25.0-skip-python3.12-irrelevant-tests.patch
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-
- # TODO: Please drop once 1.25.0_rc1-meson-pyproject.toml.patch is gone
- sed -i -e "s:version = \"2.0.0.dev0\":version = \"${PV}\":" pyproject.toml || die
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # very disk-and-memory-hungry
- lib/tests/test_io.py::test_large_zip
-
- # 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
- )
-
- if [[ ${EPYTHON} == pypy3 ]]; then
- EPYTEST_DESELECT+=(
- # TODO: crashed
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
- )
- fi
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case. 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 [[ $(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]'
- )
- 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]'
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
- )
- ;;
- *)
- ;;
- esac
-
- rm -rf numpy || die
- epytest -n "$(makeopts_jobs)" --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.25.1-r2.ebuild b/dev-python/numpy/numpy-1.25.1-r3.ebuild
index 1b46bf5e470b..1b46bf5e470b 100644
--- a/dev-python/numpy/numpy-1.25.1-r2.ebuild
+++ b/dev-python/numpy/numpy-1.25.1-r3.ebuild