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_NAME:=borgbackup
PKG_VERSION:=1.2.4 PKG_VERSION:=1.2.4
PKG_RELEASE:=1 PKG_RELEASE:=2
PYPI_NAME:=borgbackup PYPI_NAME:=borgbackup
PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8 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. 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 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 # 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 # 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_NAME:=numpy
PKG_VERSION:=1.23.3 PKG_VERSION:=1.23.3
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME) PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
@ -21,7 +21,7 @@ PKG_CPE_ID:=cpe:/a:numpy:numpy
PKG_CONFIG_DEPENDS:= \ PKG_CONFIG_DEPENDS:= \
CONFIG_NUMPY_OPENBLAS_SUPPORT CONFIG_NUMPY_OPENBLAS_SUPPORT
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython PKG_BUILD_DEPENDS:=python-cython/host
include ../pypi.mk include ../pypi.mk
include $(INCLUDE_DIR)/package.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_NAME:=python-yaml
PKG_VERSION:=6.0 PKG_VERSION:=6.0
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=2
PYPI_NAME:=PyYAML PYPI_NAME:=PyYAML
PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
@ -19,7 +19,7 @@ PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython PKG_BUILD_DEPENDS:=python-cython/host
include ../pypi.mk include ../pypi.mk
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View File

@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=setools PKG_NAME:=setools
PKG_VERSION:=4.4.0 PKG_VERSION:=4.4.0
PKG_RELEASE:=$(AUTORELEASE) PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/SELinuxProject/setools/releases/download/$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/SELinuxProject/setools/releases/download/$(PKG_VERSION)
PKG_HASH:=f3786677e40b7f16a226f48f233dcf835e700739614a7dbed2ff61cc9607814e PKG_HASH:=f3786677e40b7f16a226f48f233dcf835e700739614a7dbed2ff61cc9607814e
PKG_BUILD_DIR:=$(BUILD_DIR)/setools 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_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later