mirror of
https://github.com/openwrt/packages.git
synced 2025-12-24 01:58:35 +04:00
Currently, if OpenBLAS support is not enabled, a site.cfg file is not
written and numpy will use build host paths for libraries. If the build
host has any conflicting libraries, specifically libpython3.10.a, then
compilation will fail.
This ensures site.cfg is always written with buildroot paths.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 5cafab68ff)
86 lines
2.5 KiB
Makefile
86 lines
2.5 KiB
Makefile
#
|
|
# Copyright (C) 2019 Jakub Piotr Cłapa <jpc@loee.pl>
|
|
# Copyright (C) 2020 Alexandru Ardelean <ardeleanalex@gmail.com>
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=numpy
|
|
PKG_VERSION:=1.23.3
|
|
PKG_RELEASE:=4
|
|
|
|
PYPI_NAME:=$(PKG_NAME)
|
|
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
|
|
|
|
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
|
|
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE.txt
|
|
PKG_CPE_ID:=cpe:/a:numpy:numpy
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_NUMPY_OPENBLAS_SUPPORT
|
|
|
|
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
|
|
|
|
define Package/python3-numpy
|
|
SUBMENU:=Python
|
|
SECTION:=lang
|
|
CATEGORY:=Languages
|
|
TITLE:=The fundamental package for scientific computing with Python
|
|
URL:=https://www.numpy.org/
|
|
DEPENDS:=@!SOFT_FLOAT +INSTALL_GFORTRAN:libgfortran +python3 \
|
|
+NUMPY_OPENBLAS_SUPPORT:openblas
|
|
endef
|
|
|
|
# We need to duplicate the omitted arhitectures same as openblas
|
|
define Package/python3-numpy/config
|
|
menu "Configuration"
|
|
depends on !powerpc
|
|
depends on !arc
|
|
|
|
config NUMPY_OPENBLAS_SUPPORT
|
|
bool "Enable OpenBLAS support"
|
|
default n
|
|
|
|
endmenu
|
|
endef
|
|
|
|
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
|
|
|
|
define Build/Prepare
|
|
$(call Build/Prepare/Default)
|
|
$(call Build/Prepare/numpy-sitecfg)
|
|
endef
|
|
|
|
define Package/python3-numpy/description
|
|
NumPy is the fundamental package for array computing with Python.
|
|
|
|
By default, this package is built without some modules.
|
|
For some modules to be available, the INSTALL_GFORTRAN symbol needs
|
|
to be enabled in the OpenWrt core/toolchain.
|
|
endef
|
|
|
|
$(eval $(call Py3Package,python3-numpy))
|
|
$(eval $(call BuildPackage,python3-numpy))
|
|
$(eval $(call BuildPackage,python3-numpy-src))
|