mirror of
https://git.yoctoproject.org/poky
synced 2026-04-08 08:02:23 +02:00
python3-numpy: upgrade 1.26.4 -> 2.1.3
- This release contains numerous API changes and bug fixes. Changelog: https://github.com/numpy/numpy/releases - Notably, the build backend has switched to mesonpy since 1.26.4. - Patch 0001-numpy-core-Define-RISCV-32-support.patch had to be updated to change the paths for the target files. It has now been merged upstream, but isn't included in any release yet. PR for reference: https://github.com/numpy/numpy/pull/17780 - Builds OK and seems to be compatible with current piglit and pandas (meta-python), which was not the case for the previous upgrade attempt to numpy 2.0.1. - For numpy, add 'pkgconfig' to inherit to avoid errors like this at do_compile: | Found Pkg-config: NO | Run-time dependency python found: YES 3.12 | Has header "Python.h" with dependency python: NO | | ../numpy-2.0.0/meson.build:44:2: ERROR: Problem encountered: Cannot compile `Python.h`. Perhaps you need to install python-dev|python-devel | | A full log can be found at /home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux/python3-numpy/2.0.0/build/meson-logs/meson-log.txt - Mmodify the FILES:${PN}-staticdev line to fix a QA issue. - This is now reproducible as of oe-core commit: 917df5ed022f License-Update: Change copyright year to 2024 buildall-qemu log: BUILDALL-QEMU LOG FOR python3-numpy START TIME: 2024-11-20_14:02:08 HOSTNAME: megalith HOST OS: Debian GNU/Linux 12 (bookworm) HOST KERNEL: 6.1.0-27-amd64 =============== BUILD RESULTS: [glibc] FAIL: qemuloongarch64 PASS: qemuriscv32 PASS: qemuarmv5 PASS: qemuppc PASS: qemumips64 PASS: qemuriscv64 PASS: qemuarm64 PASS: qemuarm PASS: qemux86-64 PASS: qemuppc64 PASS: qemux86 PASS: qemumips [musl] FAIL: qemuloongarch64 FAIL: qemuriscv32 PASS: qemuarmv5 PASS: qemuppc PASS: qemumips64 PASS: qemuriscv64 PASS: qemuarm64 PASS: qemuarm PASS: qemux86-64 PASS: qemuppc64 PASS: qemux86 PASS: qemumips =============== PASSED: 21 FAILED: 3 (From OE-Core rev: fd656aaf7fbed3115e3b4251ff76257ee8f19c82) Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
edfab1a3ce
commit
ea8594d4a0
@@ -1,42 +1,50 @@
|
||||
From eb6d6579150bf4684603ce377c51e90ad3bb8109 Mon Sep 17 00:00:00 2001
|
||||
From 0e2b652a0eff85798584116c905a2d6ad8f25d5f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 15 Nov 2020 15:32:39 -0800
|
||||
Subject: [PATCH] numpy/core: Define RISCV-32 support
|
||||
|
||||
Helps compile on riscv32
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/numpy/numpy/pull/17780]
|
||||
Upstream-Status: Backport
|
||||
(https://github.com/numpy/numpy/pull/17780/commits/0e2b652a0eff85798584116c905a2d6ad8f25d5f)
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
numpy/core/include/numpy/npy_cpu.h | 3 +++
|
||||
numpy/core/include/numpy/npy_endian.h | 1 +
|
||||
2 files changed, 4 insertions(+)
|
||||
numpy/_core/include/numpy/npy_cpu.h | 9 +++++++--
|
||||
numpy/_core/include/numpy/npy_endian.h | 1 +
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
|
||||
index 78d229e..04be511 100644
|
||||
--- a/numpy/core/include/numpy/npy_cpu.h
|
||||
+++ b/numpy/core/include/numpy/npy_cpu.h
|
||||
@@ -19,6 +19,7 @@
|
||||
diff --git a/numpy/_core/include/numpy/npy_cpu.h b/numpy/_core/include/numpy/npy_cpu.h
|
||||
index a19f8e6bbd..15f9f12931 100644
|
||||
--- a/numpy/_core/include/numpy/npy_cpu.h
|
||||
+++ b/numpy/_core/include/numpy/npy_cpu.h
|
||||
@@ -18,6 +18,7 @@
|
||||
* NPY_CPU_ARCEL
|
||||
* NPY_CPU_ARCEB
|
||||
* NPY_CPU_RISCV64
|
||||
* NPY_CPU_LOONGARCH
|
||||
+ * NPY_CPU_RISCV32
|
||||
* NPY_CPU_LOONGARCH
|
||||
* NPY_CPU_WASM
|
||||
*/
|
||||
#ifndef NUMPY_CORE_INCLUDE_NUMPY_NPY_CPU_H_
|
||||
@@ -104,6 +105,8 @@
|
||||
@@ -102,8 +103,12 @@
|
||||
#define NPY_CPU_ARCEL
|
||||
#elif defined(__arc__) && defined(__BIG_ENDIAN__)
|
||||
#define NPY_CPU_ARCEB
|
||||
#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
|
||||
#define NPY_CPU_RISCV64
|
||||
+#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 32
|
||||
+ #define NPY_CPU_RISCV32
|
||||
-#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
|
||||
- #define NPY_CPU_RISCV64
|
||||
+#elif defined(__riscv)
|
||||
+ #if __riscv_xlen == 64
|
||||
+ #define NPY_CPU_RISCV64
|
||||
+ #elif __riscv_xlen == 32
|
||||
+ #define NPY_CPU_RISCV32
|
||||
+ #endif
|
||||
#elif defined(__loongarch__)
|
||||
#define NPY_CPU_LOONGARCH
|
||||
#elif defined(__EMSCRIPTEN__)
|
||||
diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
|
||||
index 5e58a7f..0926212 100644
|
||||
--- a/numpy/core/include/numpy/npy_endian.h
|
||||
+++ b/numpy/core/include/numpy/npy_endian.h
|
||||
diff --git a/numpy/_core/include/numpy/npy_endian.h b/numpy/_core/include/numpy/npy_endian.h
|
||||
index 5e58a7f52c..09262120bf 100644
|
||||
--- a/numpy/_core/include/numpy/npy_endian.h
|
||||
+++ b/numpy/_core/include/numpy/npy_endian.h
|
||||
@@ -49,6 +49,7 @@
|
||||
|| defined(NPY_CPU_PPC64LE) \
|
||||
|| defined(NPY_CPU_ARCEL) \
|
||||
@@ -46,5 +54,5 @@ index 5e58a7f..0926212 100644
|
||||
|| defined(NPY_CPU_WASM)
|
||||
#define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
|
||||
--
|
||||
2.20.1
|
||||
2.39.5
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ HOMEPAGE = "https://numpy.org/"
|
||||
DESCRIPTION = "NumPy is the fundamental package needed for scientific computing with Python."
|
||||
SECTION = "devel/python"
|
||||
LICENSE = "BSD-3-Clause & BSD-2-Clause & PSF-2.0 & Apache-2.0 & MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a752eb20459cf74a9d84ee4825e8317c"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1de863c37a83e71b1e97b64d036ea78b"
|
||||
|
||||
SRCNAME = "numpy"
|
||||
|
||||
@@ -13,22 +13,31 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
|
||||
file://fix_reproducibility.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
SRC_URI[sha256sum] = "2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"
|
||||
SRC_URI[sha256sum] = "aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761"
|
||||
|
||||
GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
|
||||
UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
|
||||
|
||||
inherit ptest setuptools3 github-releases cython
|
||||
inherit ptest python_mesonpy github-releases cython
|
||||
|
||||
S = "${WORKDIR}/numpy-${PV}"
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
# Remove references to buildpaths from numpy's __config__.py
|
||||
do_install:append() {
|
||||
sed -i \
|
||||
-e 's|${S}=||g' \
|
||||
-e 's|${B}=||g' \
|
||||
-e 's|${RECIPE_SYSROOT_NATIVE}=||g' \
|
||||
-e 's|${RECIPE_SYSROOT_NATIVE}||g' \
|
||||
-e 's|${RECIPE_SYSROOT}=||g' \
|
||||
-e 's|${RECIPE_SYSROOT}||g' ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/__config__.py
|
||||
|
||||
do_compile:prepend() {
|
||||
export NPY_DISABLE_SVML=1
|
||||
nativepython3 -mcompileall -s ${D} ${D}${PYTHON_SITEPACKAGES_DIR}/numpy/__config__.py
|
||||
}
|
||||
|
||||
FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/core/lib/*.a ${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a"
|
||||
FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/numpy/_core/lib/*.a \
|
||||
${PYTHON_SITEPACKAGES_DIR}/numpy/random/lib/*.a \
|
||||
"
|
||||
|
||||
# install what is needed for numpy.test()
|
||||
RDEPENDS:${PN} = "python3-unittest \
|
||||
@@ -59,7 +68,4 @@ RDEPENDS:${PN}-ptest += "python3-pytest \
|
||||
ldd \
|
||||
"
|
||||
|
||||
# Upstream has a pyproject.toml but as of 1.26.4 it's marked as experimental
|
||||
INSANE_SKIP = "pep517-backend"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
Reference in New Issue
Block a user