python-cython: Add new host-only package
authorJeffery To <jeffery.to@gmail.com>
Sat, 25 Feb 2023 11:49:25 +0000 (19:49 +0800)
committerJeffery To <jeffery.to@gmail.com>
Fri, 31 Mar 2023 05:06:33 +0000 (13:06 +0800)
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>
lang/python/borgbackup/Makefile
lang/python/host-pip-requirements/Cython.txt [deleted file]
lang/python/numpy/Makefile
lang/python/python-cython/Makefile [new file with mode: 0644]
lang/python/python-yaml/Makefile
utils/setools/Makefile

index 9a825a3706b7c547d029b4e8d0f3ae8a7846cbd1..a8629deef13639dbc594e3c38e77292544b2fdce 100644 (file)
@@ -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 (file)
index 5de50dd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Cython==0.29.32 --hash=sha256:8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7
index 3124ca8f14c65d1f11dbc6e85dc5c52f9653607e..35aab8d7967244cd4b2d0a9c852d6de42bf702e6 100644 (file)
@@ -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 (file)
index 0000000..99ad7d9
--- /dev/null
@@ -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))
index 1f471e03ba8c1d2a703fb1064e1255919c46cd29..4c2cbd7be4c432bb106bb66a14cf096bb30d8b87 100644 (file)
@@ -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
index 8b1b2eb8bd3cb87e3b7c597ff380f7aef8c9cf3f..2e6d3f915d04147179793bd6577a759fcecc9882 100644 (file)
@@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=setools
 PKG_VERSION:=4.4.0
-PKG_RELEASE:=$(AUTORELEASE)
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://github.com/SELinuxProject/setools/releases/download/$(PKG_VERSION)
 PKG_HASH:=f3786677e40b7f16a226f48f233dcf835e700739614a7dbed2ff61cc9607814e
 PKG_BUILD_DIR:=$(BUILD_DIR)/setools
 
-HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython # Cython>=0.27
+PKG_BUILD_DEPENDS:=python-cython/host # Cython>=0.27
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later