All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Hilliard <james.hilliard1@gmail.com>
To: buildroot@buildroot.org
Cc: Eric Le Bihan <eric.le.bihan.dev@free.fr>,
	Xukai Wang <kingxukai@zohomail.com>,
	Julien Olivain <ju.o@free.fr>,
	Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>,
	Guillaume William Brs <guillaume.bressaix@gmail.com>,
	James Hilliard <james.hilliard1@gmail.com>,
	Woodrow Douglass <wdouglass@carnegierobotics.com>,
	Jagan Teki <jagan@amarulasolutions.com>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Romain Naour <romain.naour@gmail.com>,
	Fabrice Fontaine <fontaine.fabrice@gmail.com>
Subject: [Buildroot] [PATCH 4/5] package/python-numpy: bump to version 2.5.3
Date: Mon,  5 Oct 2026 16:38:10 -0600	[thread overview]
Message-ID: <20261005223811.2094796-4-james.hilliard1@gmail.com> (raw)
In-Reply-To: <20261005223811.2094796-1-james.hilliard1@gmail.com>

Use the meson setup type for both host and target builds. Let
meson-python invoke the vendored Meson and install the generated wheels.
Use the none value to disable BLAS and LAPACK when unavailable.

Raise the GCC requirement to version 10 and propagate the target and
host compiler requirements to dependent packages.

Use the standalone Dragon4 license file and add the bundled 0BSD and
CC0-1.0 licenses to match the upstream licensing metadata:
https://github.com/numpy/numpy/commit/0f39fd27ff149b25f74fc58d589c92b4fd881226

Install numpy.pc in the standard pkg-config directory for host and
staging builds. Keep its prefix relative so dependent packages can find
NumPy through pkg-config after per-package copying or SDK relocation.

Drop the obsolete npymath.ini staging fixup.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/gnuradio/Config.in             |  8 +--
 package/kismet/Config.in               |  6 +--
 package/opencv4/Config.in              |  6 +--
 package/piglit/Config.in               | 10 ++--
 package/python-gymnasium/Config.in     |  6 +--
 package/python-matplotlib/Config.in    | 10 ++--
 package/python-ml-dtypes/Config.in     |  8 +--
 package/python-numpy/Config.in         |  6 +--
 package/python-numpy/python-numpy.hash |  8 +--
 package/python-numpy/python-numpy.mk   | 70 ++++++++++++--------------
 package/python-scipy/Config.in         | 10 ++--
 package/python-zlmdb/Config.in         |  6 +--
 package/uhd/Config.in                  | 10 ++--
 13 files changed, 80 insertions(+), 84 deletions(-)

diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in
index 0e8dc66dc4..cc0d4bed19 100644
--- a/package/gnuradio/Config.in
+++ b/package/gnuradio/Config.in
@@ -79,8 +79,8 @@ config BR2_PACKAGE_GNURADIO_PYTHON
 	depends on BR2_PACKAGE_PYTHON3
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
 	select BR2_PACKAGE_BOOST_PYTHON
 	select BR2_PACKAGE_PYTHON_NUMPY # runtime
 	select BR2_PACKAGE_PYTHON_PYBIND
@@ -88,10 +88,10 @@ config BR2_PACKAGE_GNURADIO_PYTHON
 	help
 	  Enable python component
 
-comment "python support needs a glibc or musl toolchain w/ gcc >= 9, host gcc >= 9"
+comment "python support needs a glibc or musl toolchain w/ gcc >= 10, host gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON3
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
-	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 || !BR2_HOST_GCC_AT_LEAST_9 || \
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || !BR2_HOST_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
 
 config BR2_PACKAGE_GNURADIO_SOAPY
diff --git a/package/kismet/Config.in b/package/kismet/Config.in
index 65c17baeaf..3f6982cc41 100644
--- a/package/kismet/Config.in
+++ b/package/kismet/Config.in
@@ -35,7 +35,7 @@ config BR2_PACKAGE_KISMET_PYTHON_TOOLS
 	bool "Install python tools"
 	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
 	depends on BR2_PACKAGE_PYTHON3
 	depends on !BR2_STATIC_LIBS # protobuf
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
@@ -52,12 +52,12 @@ comment "python tools needs python3"
 	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 
-comment "python tools needs a glibc or musl toolchain w/ dynamic library, gcc >= 8"
+comment "python tools needs a glibc or musl toolchain w/ dynamic library, gcc >= 10"
 	depends on BR2_STATIC_LIBS
 	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_8
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10
 
 config BR2_PACKAGE_KISMET_SERVER
 	bool "Install server"
diff --git a/package/opencv4/Config.in b/package/opencv4/Config.in
index 10b2c54b70..3e3f2597c8 100644
--- a/package/opencv4/Config.in
+++ b/package/opencv4/Config.in
@@ -174,16 +174,16 @@ config BR2_PACKAGE_OPENCV4_LIB_PYTHON
 	depends on BR2_PACKAGE_PYTHON3
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
 	select BR2_PACKAGE_PYTHON_NUMPY
 	help
 	  Include opencv_python module into the OpenCV build.  No
 	  python example is installed.
 
-comment "python support needs a glibc or musl toolchain w/ gcc >= 9"
+comment "python support needs a glibc or musl toolchain w/ gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON3
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
-	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_9 ||\
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 ||\
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
 
 config BR2_PACKAGE_OPENCV4_LIB_SHAPE
diff --git a/package/piglit/Config.in b/package/piglit/Config.in
index 48b7641909..a3dbd49efd 100644
--- a/package/piglit/Config.in
+++ b/package/piglit/Config.in
@@ -8,8 +8,8 @@ config BR2_PACKAGE_PIGLIT
 		BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
 	depends on BR2_INSTALL_LIBSTDCPP # mesa3d-demos, python-numpy
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
 	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_LIBGL
 	select BR2_PACKAGE_LIBPNG
 	select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
@@ -34,8 +34,8 @@ config BR2_PACKAGE_PIGLIT
 
 	  https://piglit.freedesktop.org
 
-comment "piglit needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9"
+comment "piglit needs a glibc or musl toolchain w/ C++, gcc >= 10, host gcc >= 10"
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
-		!BR2_HOST_GCC_AT_LEAST_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
+		!BR2_HOST_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-gymnasium/Config.in b/package/python-gymnasium/Config.in
index 3fc9df5a1c..155d73c3a5 100644
--- a/package/python-gymnasium/Config.in
+++ b/package/python-gymnasium/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_GYMNASIUM
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy
 	depends on BR2_INSTALL_LIBSTDCPP # python-numpy
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
 	depends on BR2_HOST_GCC_AT_LEAST_9  # host-python-numpy
 	select BR2_PACKAGE_PYTHON_CLOUDPICKLE # runtime
 	select BR2_PACKAGE_PYTHON_FARAMA_NOTIFICATIONS # runtime
@@ -15,8 +15,8 @@ config BR2_PACKAGE_PYTHON_GYMNASIUM
 
 	  https://gymnasium.farama.org
 
-comment "python-gymnasium needs a glibc or musl toolchain w/ C++, gcc >= 9"
+comment "python-gymnasium needs a glibc or musl toolchain w/ C++, gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-matplotlib/Config.in b/package/python-matplotlib/Config.in
index 13894004aa..0e9e14ddbe 100644
--- a/package/python-matplotlib/Config.in
+++ b/package/python-matplotlib/Config.in
@@ -3,8 +3,8 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
 	select BR2_PACKAGE_FREETYPE # runtime
 	select BR2_PACKAGE_LIBPNG # runtime
 	select BR2_PACKAGE_PYTHON_CERTIFI # runtime
@@ -42,7 +42,7 @@ config BR2_PACKAGE_PYTHON_MATPLOTLIB_QT
 
 endif
 
-comment "python-matplotlib needs a glibc or musl toolchain w/ C++, gcc >= 9, host gcc >= 9"
+comment "python-matplotlib needs a glibc or musl toolchain w/ C++, gcc >= 10, host gcc >= 10"
 	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
-		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_9 || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9
+		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_10 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10
diff --git a/package/python-ml-dtypes/Config.in b/package/python-ml-dtypes/Config.in
index a8b351d2e3..c5bd70fb2c 100644
--- a/package/python-ml-dtypes/Config.in
+++ b/package/python-ml-dtypes/Config.in
@@ -3,8 +3,8 @@ config BR2_PACKAGE_PYTHON_ML_DTYPES
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_INSTALL_LIBSTDCPP # python-numpy
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
 	select BR2_PACKAGE_PYTHON_NUMPY # runtime
 	help
 	  ml_dtypes is a stand-alone implementation of several NumPy
@@ -12,8 +12,8 @@ config BR2_PACKAGE_PYTHON_ML_DTYPES
 
 	  https://github.com/jax-ml/ml_dtypes
 
-comment "python-ml-dtypes needs a glibc or musl toolchain w/ C++, gcc >= 9"
+comment "python-ml-dtypes needs a glibc or musl toolchain w/ C++, gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in
index f8c71274cd..51e22b015d 100644
--- a/package/python-numpy/Config.in
+++ b/package/python-numpy/Config.in
@@ -26,7 +26,7 @@ config BR2_PACKAGE_PYTHON_NUMPY
 	depends on BR2_INSTALL_LIBSTDCPP
 	# python-numpy needs fenv.h which is not provided by uclibc
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10
 	help
 	  NumPy is the fundamental package for scientific computing
 	  with Python.
@@ -36,8 +36,8 @@ config BR2_PACKAGE_PYTHON_NUMPY
 
 	  http://www.numpy.org/
 
-comment "python-numpy needs a glibc or musl toolchain w/ C++, gcc >= 9"
+comment "python-numpy needs a glibc or musl toolchain w/ C++, gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash
index 6dca37294a..5b60e82ecc 100644
--- a/package/python-numpy/python-numpy.hash
+++ b/package/python-numpy/python-numpy.hash
@@ -1,9 +1,11 @@
 # md5, sha256 from https://pypi.org/pypi/numpy/json
-md5  828b6c6df0b6f89b5cf799314d4ee2b6  numpy-2.4.0.tar.gz
-sha256  6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934  numpy-2.4.0.tar.gz
+md5  76f5b588f47e6d62fb066b69787b7796  numpy-2.5.3.tar.gz
+sha256  df2d5874ff183595a4ba404edd04f6bd9b5505c1d7708573f6a6c17489a67563  numpy-2.5.3.tar.gz
 # License files, locally calculated
 sha256  1be1df33863f97a7bc1c4d67980bd6c69c9a6fef0a5ee76e6ad6cb91e56e8491  LICENSE.txt
 sha256  743b0f4a0087fe3607167113fffab6f2ca069c8da321763697ab5d0d8411634a  numpy/_build_utils/tempita/LICENSE.txt
-sha256  e09cfef237f1c47fec6c11926e23ed2222404d1e4357b5d65e65a2daf9d83949  numpy/_core/src/multiarray/dragon4.c
+sha256  f7b14309e5f54e5022b26448eefd419988ada2aec01d3c1162d84a0ea8f21f2c  numpy/_core/src/multiarray/dragon4_LICENSE.txt
+sha256  3f2c1ffa76383a55ae0aac01c9737cd70050dff63e1f026694fbe9d662573c98  numpy/_core/src/common/pythoncapi-compat/COPYING
 sha256  fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec  numpy/_core/include/numpy/libdivide/LICENSE.txt
 sha256  a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55  numpy/linalg/lapack_lite/LICENSE.txt
+sha256  268b0ca06759d31ea3ca68dd35f20e877916e927b1c2a835e4592a3c4354b1f9  numpy/random/src/splitmix64/LICENSE.md
diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk
index 6b052569fe..ad0d108860 100644
--- a/package/python-numpy/python-numpy.mk
+++ b/package/python-numpy/python-numpy.mk
@@ -4,41 +4,37 @@
 #
 ################################################################################
 
-PYTHON_NUMPY_VERSION = 2.4.0
+PYTHON_NUMPY_VERSION = 2.5.3
 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
-PYTHON_NUMPY_SITE = https://files.pythonhosted.org/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718
-PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib
+PYTHON_NUMPY_SITE = https://files.pythonhosted.org/packages/13/01/11703282db468b85f6f7b8c7f22d058de5970d5c7e60a3a8aaa313c3de36
+PYTHON_NUMPY_SETUP_TYPE = meson
+PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib, 0BSD, CC0-1.0
 PYTHON_NUMPY_LICENSE_FILES = \
 	LICENSE.txt \
 	numpy/_build_utils/tempita/LICENSE.txt \
-	numpy/_core/src/multiarray/dragon4.c \
+	numpy/_core/src/multiarray/dragon4_LICENSE.txt \
+	numpy/_core/src/common/pythoncapi-compat/COPYING \
 	numpy/_core/include/numpy/libdivide/LICENSE.txt \
-	numpy/linalg/lapack_lite/LICENSE.txt
+	numpy/linalg/lapack_lite/LICENSE.txt \
+	numpy/random/src/splitmix64/LICENSE.md
 PYTHON_NUMPY_CPE_ID_VENDOR = numpy
 PYTHON_NUMPY_CPE_ID_PRODUCT = numpy
 
-PYTHON_NUMPY_DEPENDENCIES = host-python-cython python3
-HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython host-python-meson-python
-
-PYTHON_NUMPY_CONF_ENV += \
-	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
-	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
-
-PYTHON_NUMPY_NINJA_ENV += \
-	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
+PYTHON_NUMPY_DEPENDENCIES = host-python-cython
+HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython
 
 ifeq ($(BR2_PACKAGE_LAPACK),y)
 PYTHON_NUMPY_DEPENDENCIES += lapack
 PYTHON_NUMPY_CONF_OPTS += -Dlapack=lapack
 else
-PYTHON_NUMPY_CONF_OPTS += -Dlapack=""
+PYTHON_NUMPY_CONF_OPTS += -Dlapack=none
 endif
 
 ifeq ($(BR2_PACKAGE_OPENBLAS),y)
 PYTHON_NUMPY_DEPENDENCIES += openblas
 PYTHON_NUMPY_CONF_OPTS += -Dblas=openblas
 else
-PYTHON_NUMPY_CONF_OPTS += -Dblas=""
+PYTHON_NUMPY_CONF_OPTS += -Dblas=none
 endif
 
 # Generated by running this test program under QEMU:
@@ -86,33 +82,31 @@ endif
 PYTHON_NUMPY_MESON_EXTRA_PROPERTIES = \
 	longdouble_format='$(PYTHON_NUMPY_LONGDOUBLE_FORMAT)'
 
-HOST_PYTHON_NUMPY_SETUP_TYPE = setuptools
-
-HOST_PYTHON_NUMPY_CONF_ENV += \
-	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
-
-HOST_PYTHON_NUMPY_NINJA_ENV += \
-	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
-
 # Rather than add a host-blas or host-lapack dependencies, just use unoptimized,
 # in-tree code.
-HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas="" -Dlapack=""
-
-# Fixup the npymath.ini prefix path with actual target staging area where
-# numpy core was built. Without this, target builds using numpy distutils
-# extensions like python-scipy, python-numba cannot find -lnpymath since
-# it uses host libraries (like libnpymath.a).
-# So, the numpy distutils extension packages would explicitly link this
-# config path for their package environment.
-define PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES
-	$(SED) '/^pkgdir=/d;/^prefix=/i pkgdir=$(PYTHON3_PATH)/site-packages/numpy/core' \
-		$(PYTHON3_PATH)/site-packages/numpy/_core/lib/npy-pkg-config/npymath.ini
-endef
-PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_FIXUP_NPY_PKG_CONFIG_FILES
+HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas=none -Dlapack=none
 
 # Some package may include few headers from NumPy, so let's install it
 # in the staging area.
 PYTHON_NUMPY_INSTALL_STAGING = YES
 
-$(eval $(meson-package))
+define PYTHON_NUMPY_INSTALL_PKGCONFIG
+	$(INSTALL) -D -m 0644 \
+		$(1)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/_core/lib/pkgconfig/numpy.pc \
+		$(1)/lib/pkgconfig/numpy.pc
+	$(SED) 's:^prefix=.*:prefix=$${pcfiledir}/../python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/_core:' \
+		$(1)/lib/pkgconfig/numpy.pc
+endef
+
+define PYTHON_NUMPY_INSTALL_STAGING_PKGCONFIG
+	$(call PYTHON_NUMPY_INSTALL_PKGCONFIG,$(STAGING_DIR)/usr)
+endef
+PYTHON_NUMPY_POST_INSTALL_STAGING_HOOKS += PYTHON_NUMPY_INSTALL_STAGING_PKGCONFIG
+
+define HOST_PYTHON_NUMPY_INSTALL_PKGCONFIG
+	$(call PYTHON_NUMPY_INSTALL_PKGCONFIG,$(HOST_DIR))
+endef
+HOST_PYTHON_NUMPY_POST_INSTALL_HOOKS += HOST_PYTHON_NUMPY_INSTALL_PKGCONFIG
+
+$(eval $(python-package))
 $(eval $(host-python-package))
diff --git a/package/python-scipy/Config.in b/package/python-scipy/Config.in
index aa7eefd44d..691a63dc2c 100644
--- a/package/python-scipy/Config.in
+++ b/package/python-scipy/Config.in
@@ -4,8 +4,8 @@ config BR2_PACKAGE_PYTHON_SCIPY
 	depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS # lapack
 	depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS # openblas
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
 	depends on BR2_TOOLCHAIN_HAS_FORTRAN # lapack
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_LAPACK
@@ -21,11 +21,11 @@ config BR2_PACKAGE_PYTHON_SCIPY
 
 	  https://www.scipy.org/scipylib/
 
-comment "python-scipy needs glibc or musl toolchain w/ fortran, c++, gcc >= 9, host gcc >= 9"
+comment "python-scipy needs glibc or musl toolchain w/ fortran, c++, gcc >= 10, host gcc >= 10"
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_LAPACK_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS
 	depends on !BR2_TOOLCHAIN_HAS_FORTRAN || \
-		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_9 || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_10 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		(!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/python-zlmdb/Config.in b/package/python-zlmdb/Config.in
index 884cfff182..c3e01b825c 100644
--- a/package/python-zlmdb/Config.in
+++ b/package/python-zlmdb/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_PYTHON_ZLMDB
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-cbor2
 	depends on BR2_INSTALL_LIBSTDCPP # python-numpy
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
 	select BR2_PACKAGE_PYTHON_CBOR2 # runtime
 	select BR2_PACKAGE_PYTHON_CFFI # runtime
 	select BR2_PACKAGE_PYTHON_CLICK # runtime
@@ -20,9 +20,9 @@ config BR2_PACKAGE_PYTHON_ZLMDB
 
 	  https://github.com/crossbario/zlmdb
 
-comment "python-zlmdb needs a glibc or musl toolchain w/ C++, gcc >= 9"
+comment "python-zlmdb needs a glibc or musl toolchain w/ C++, gcc >= 10"
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
diff --git a/package/uhd/Config.in b/package/uhd/Config.in
index 58bf91c1df..4cee21f413 100644
--- a/package/uhd/Config.in
+++ b/package/uhd/Config.in
@@ -86,11 +86,11 @@ config BR2_PACKAGE_UHD_OCTOCLOCK
 	help
 	  enable OctoClock support
 
-comment "uhd python API needs python3 and a glibc or musl toolchain w/ gcc >= 9, host gcc >= 9"
+comment "uhd python API needs python3 and a glibc or musl toolchain w/ gcc >= 10, host gcc >= 10"
 	depends on !BR2_PACKAGE_PYTHON3
 	depends on !BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
-	depends on !BR2_HOST_GCC_AT_LEAST_9 || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
+	depends on !BR2_HOST_GCC_AT_LEAST_10 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
 		!(BR2_TOOLCHAIN_USES_GLIBC && BR2_TOOLCHAIN_USES_MUSL) # python-numpy
 
 config BR2_PACKAGE_UHD_PYTHON
@@ -98,8 +98,8 @@ config BR2_PACKAGE_UHD_PYTHON
 	depends on BR2_PACKAGE_PYTHON3
 	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
-	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # python-numpy
+	depends on BR2_HOST_GCC_AT_LEAST_10 # host-python-numpy
 	select BR2_PACKAGE_PYTHON_NUMPY
 	select BR2_PACKAGE_PYTHON_REQUESTS
 	help
-- 
2.53.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2026-10-05 22:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-05 22:38 [Buildroot] [PATCH 1/5] package/pkg-meson: share Meson setup options James Hilliard
2026-10-05 22:38 ` [Buildroot] [PATCH 2/5] package/pkg-meson: share cross-file generation James Hilliard
2026-10-05 22:38 ` [Buildroot] [PATCH 3/5] package/pkg-python: add meson setup type James Hilliard
2026-10-05 22:38 ` James Hilliard [this message]
2026-10-05 22:38 ` [Buildroot] [PATCH 5/5] package/python-scipy: bump to version 1.18.1 James Hilliard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261005223811.2094796-4-james.hilliard1@gmail.com \
    --to=james.hilliard1@gmail.com \
    --cc=buildroot@buildroot.org \
    --cc=eric.le.bihan.dev@free.fr \
    --cc=fontaine.fabrice@gmail.com \
    --cc=guillaume.bressaix@gmail.com \
    --cc=gwenhael.goavec-merou@trabucayre.com \
    --cc=jagan@amarulasolutions.com \
    --cc=ju.o@free.fr \
    --cc=kingxukai@zohomail.com \
    --cc=romain.naour@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wdouglass@carnegierobotics.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.