On Thu, Nov 21, 2024 at 7:39 AM Trevor Gamblin via
lists.openembedded.org <[email protected]>
wrote:
>
> - 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

Testing on such a comprehensive matrix is amazing, thanks for doing
it. Can you share more details on qemuriscv32/musl failures ?

>
> Signed-off-by: Trevor Gamblin <[email protected]>
> ---
>  ...1-numpy-core-Define-RISCV-32-support.patch | 52 +++++++++++--------
>  ...numpy_1.26.4.bb => python3-numpy_2.1.3.bb} | 26 ++++++----
>  2 files changed, 46 insertions(+), 32 deletions(-)
>  rename meta/recipes-devtools/python/{python3-numpy_1.26.4.bb => 
> python3-numpy_2.1.3.bb} (68%)
>
> diff --git 
> a/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
>  
> b/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
> index 676bdbb3afd..6da9047ec57 100644
> --- 
> a/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
> +++ 
> b/meta/recipes-devtools/python/python3-numpy/0001-numpy-core-Define-RISCV-32-support.patch
> @@ -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 <[email protected]>
>  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 <[email protected]>
>  ---
> - 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
>
> diff --git a/meta/recipes-devtools/python/python3-numpy_1.26.4.bb 
> b/meta/recipes-devtools/python/python3-numpy_2.1.3.bb
> similarity index 68%
> rename from meta/recipes-devtools/python/python3-numpy_1.26.4.bb
> rename to meta/recipes-devtools/python/python3-numpy_2.1.3.bb
> index fa78b07f48b..da75dff1e04 100644
> --- a/meta/recipes-devtools/python/python3-numpy_1.26.4.bb
> +++ b/meta/recipes-devtools/python/python3-numpy_2.1.3.bb
> @@ -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"
> --
> 2.39.5
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#207544): 
https://lists.openembedded.org/g/openembedded-core/message/207544
Mute This Topic: https://lists.openembedded.org/mt/109705562/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to