diff options
author | Sam James <sam@gentoo.org> | 2023-07-26 05:54:28 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-07-26 05:54:28 +0100 |
commit | e53e8134cdb194c1e3507127ee95988c83a30f7e (patch) | |
tree | 84b670037c97ed72eee47281cff39ba59cc01af0 /dev-python | |
parent | dev-util/diffoscope: drop 243-r3, 244 (diff) | |
download | gentoo-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')
-rw-r--r-- | dev-python/numpy/files/numpy-1.25.1-fix-scalartypes.patch | 45 | ||||
-rw-r--r-- | dev-python/numpy/numpy-1.25.1-r1.ebuild | 146 | ||||
-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 |