commit:     e53e8134cdb194c1e3507127ee95988c83a30f7e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 26 04:54:28 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 26 04:54:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e53e8134

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 <AT> gentoo.org>

 .../numpy/files/numpy-1.25.1-fix-scalartypes.patch |  45 ++++++-
 dev-python/numpy/numpy-1.25.1-r1.ebuild            | 146 ---------------------
 ...mpy-1.25.1-r2.ebuild => numpy-1.25.1-r3.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 <[email protected]>
 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
similarity index 100%
rename from dev-python/numpy/numpy-1.25.1-r2.ebuild
rename to dev-python/numpy/numpy-1.25.1-r3.ebuild

Reply via email to