numpy: add new package
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 3 Jun 2020 13:58:34 +0000 (16:58 +0300)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Sun, 21 Jun 2020 10:25:45 +0000 (13:25 +0300)
Essentially, this is a re-spin from
  https://github.com/openwrt/packages/pull/9797/

But a really trimmed down version.
Only the Py3 variant is added now, which makes the Makefile really small
now.

Cython is needed on the host, to cythonize some files.

The package needs targets with hard-float enabled. This is because on some
soft-float targets floating-point exception constants aren't defined.
We can define some dummy values, but that ends up being a bit too much
work.
So, for that, the package depends on HAS_FPU or KERNEL_MIPS_FPU_EMULATOR.
This way, numpy should be buildable on hard-float, or for MIPS on the FPU
emulator being compiled in.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
lang/python/numpy/Makefile [new file with mode: 0644]

diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile
new file mode 100644 (file)
index 0000000..9bbf1fb
--- /dev/null
@@ -0,0 +1,48 @@
+#
+# 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.18.5
+PKG_RELEASE:=1
+
+PYPI_NAME:=$(PKG_NAME)
+PKG_HASH:=34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b
+
+PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE.txt
+PKG_CPE_ID:=cpe:/a:numpy:numpy
+
+# yes, zip... sigh
+PYPI_SOURCE_EXT:=zip
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS="Cython==0.29.19"
+
+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
+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))