diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile index 35aab8d79..d7e485d79 100644 --- a/lang/python/numpy/Makefile +++ b/lang/python/numpy/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=numpy PKG_VERSION:=1.23.3 -PKG_RELEASE:=2 +PKG_RELEASE:=5 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd @@ -23,6 +23,10 @@ PKG_CONFIG_DEPENDS:= \ PKG_BUILD_DEPENDS:=python-cython/host +# Ensure numpy does not find openblas if openblas support is not enabled +PYTHON3_PKG_BUILD_VARS:= \ + $(if $(CONFIG_NUMPY_OPENBLAS_SUPPORT),,NPY_BLAS_ORDER= NPY_LAPACK_ORDER= ) + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -50,17 +54,18 @@ config NUMPY_OPENBLAS_SUPPORT endmenu endef -ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT define Build/Prepare/numpy-sitecfg echo "[DEFAULT]" > $(PKG_BUILD_DIR)/site.cfg echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(PKG_BUILD_DIR)/site.cfg echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(PKG_BUILD_DIR)/site.cfg + + ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT echo >> $(PKG_BUILD_DIR)/site.cfg echo "[openblas]" >> $(PKG_BUILD_DIR)/site.cfg echo "libraries = openblas" >> $(PKG_BUILD_DIR)/site.cfg echo "runtime_library_dirs = /usr/lib" >> $(PKG_BUILD_DIR)/site.cfg + endif endef -endif define Build/Prepare $(call Build/Prepare/Default) diff --git a/lang/python/numpy/patches/001-unpin-build-dependencies.patch b/lang/python/numpy/patches/001-unpin-build-dependencies.patch new file mode 100644 index 000000000..c167f0729 --- /dev/null +++ b/lang/python/numpy/patches/001-unpin-build-dependencies.patch @@ -0,0 +1,13 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -2,8 +2,8 @@ + # Minimum requirements for the build system to execute. + requires = [ + "packaging==20.5; platform_machine=='arm64'", # macos M1 +- "setuptools==59.2.0", +- "wheel==0.37.0", ++ "setuptools>=59.2.0", ++ "wheel>=0.37.0", + "Cython>=0.29.30,<3.0", + ] + diff --git a/lang/python/numpy/patches/002-avoid-build-user-config-files.patch b/lang/python/numpy/patches/002-avoid-build-user-config-files.patch new file mode 100644 index 000000000..15c76e3dc --- /dev/null +++ b/lang/python/numpy/patches/002-avoid-build-user-config-files.patch @@ -0,0 +1,11 @@ +--- a/numpy/distutils/system_info.py ++++ b/numpy/distutils/system_info.py +@@ -400,7 +400,7 @@ def get_standard_file(fname): + pass + else: + user_file = os.path.join(f, fname) +- if os.path.isfile(user_file): ++ if "_PYTHON_HOST_PLATFORM" not in os.environ and os.path.isfile(user_file): + filenames.append(user_file) + + # Local file