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>
This commit is contained in:
Jeffery To 2023-02-25 19:49:25 +08:00
parent afd6f8e445
commit dcf551fbcf
No known key found for this signature in database
GPG Key ID: C616D9E719E868E4
6 changed files with 65 additions and 9 deletions

View 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

View File

@ -1 +0,0 @@
Cython==0.29.32 --hash=sha256:8733cf4758b79304f2a4e39ebfac5e92341bce47bcceb26c1254398b2f8c1af7

View 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

View File

@ -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))

View 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

View 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