summaryrefslogtreecommitdiff
path: root/lang/python
diff options
context:
space:
mode:
authorJeffery To <jeffery.to@gmail.com>2023-02-25 19:49:25 +0800
committerJeffery To <jeffery.to@gmail.com>2023-03-31 13:06:33 +0800
commitdcf551fbcf49146186302f7267fecfacebeede53 (patch)
treef4d710dd701ab6822958f8e8a1b9d2dcfed76b21 /lang/python
parentafd6f8e44524a4452927c702ab272f7248b5bb17 (diff)
python-cython: Add new host-only package
The host build replaces the use of the host pip requirements file. This also updates the dependants of Cython to depend on the host build. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Diffstat (limited to 'lang/python')
-rw-r--r--lang/python/borgbackup/Makefile4
-rw-r--r--lang/python/host-pip-requirements/Cython.txt1
-rw-r--r--lang/python/numpy/Makefile4
-rw-r--r--lang/python/python-cython/Makefile57
-rw-r--r--lang/python/python-yaml/Makefile4
5 files changed, 63 insertions, 7 deletions
diff --git a/lang/python/borgbackup/Makefile b/lang/python/borgbackup/Makefile
index 9a825a370..a8629deef 100644
--- a/lang/python/borgbackup/Makefile
+++ b/lang/python/borgbackup/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=borgbackup
PKG_VERSION:=1.2.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=borgbackup
PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8
@@ -57,7 +57,7 @@ define Package/borgbackup/description
The data deduplication technique used makes Borg suitable for daily backups since only changes are stored. The authenticated encryption technique makes it suitable for backups to not fully trusted targets.
endef
-HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython
+PKG_BUILD_DEPENDS:=python-cython/host
# borg setup.py shall find these via pkg-config, but depends on python pkgconfig PyPi module
# which quickly becomes a nightmare to build, since it build-depends on poetry which is not
diff --git a/lang/python/host-pip-requirements/Cython.txt b/lang/python/host-pip-requirements/Cython.txt
deleted file mode 100644
index 5de50dd85..000000000
--- a/lang/python/host-pip-requirements/Cython.txt
+++ /dev/null
@@ -1 +0,0 @@
-Cython==0.29.32 --hash=sha256:8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7
diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile
index 3124ca8f1..35aab8d79 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:=$(AUTORELEASE)
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
@@ -21,7 +21,7 @@ PKG_CPE_ID:=cpe:/a:numpy:numpy
PKG_CONFIG_DEPENDS:= \
CONFIG_NUMPY_OPENBLAS_SUPPORT
-HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython
+PKG_BUILD_DEPENDS:=python-cython/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
diff --git a/lang/python/python-cython/Makefile b/lang/python/python-cython/Makefile
new file mode 100644
index 000000000..99ad7d939
--- /dev/null
+++ b/lang/python/python-cython/Makefile
@@ -0,0 +1,57 @@
+#
+# Copyright (C) 2023 Jeffery To
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-cython
+PKG_VERSION:=0.29.33
+PKG_RELEASE:=1
+
+PYPI_NAME:=Cython
+PKG_HASH:=5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE.txt
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+PKG_HOST_ONLY:=1
+HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../python3-package.mk
+include ../python3-host-build.mk
+
+define Package/python3-cython
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=Cython compiler for writing C extensions
+ URL:=https://cython.org/
+ DEPENDS:=+python3
+ BUILDONLY:=1
+endef
+
+define Package/python3-cython/description
+Cython is a language that makes writing C extensions for Python as easy
+as Python itself. Cython is based on Pyrex, but supports more cutting
+edge functionality and optimizations.
+
+The Cython language is very close to the Python language, but Cython
+additionally supports calling C functions and declaring C types on
+variables and class attributes. This allows the compiler to generate
+very efficient C code from Cython code.
+
+This makes Cython the ideal language for wrapping external C libraries,
+and for fast C modules that speed up the execution of Python code.
+endef
+
+$(eval $(call Py3Package,python3-cython))
+$(eval $(call BuildPackage,python3-cython))
+$(eval $(call BuildPackage,python3-cython-src))
+$(eval $(call HostBuild))
diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile
index 1f471e03b..4c2cbd7be 100644
--- a/lang/python/python-yaml/Makefile
+++ b/lang/python/python-yaml/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-yaml
PKG_VERSION:=6.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
PYPI_NAME:=PyYAML
PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
@@ -19,7 +19,7 @@ PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml
-HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython
+PKG_BUILD_DEPENDS:=python-cython/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk