diff --git a/lang/python/bcrypt/Makefile b/lang/python/bcrypt/Makefile index 62312343f8..9e49ce333a 100644 --- a/lang/python/bcrypt/Makefile +++ b/lang/python/bcrypt/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bcrypt PKG_VERSION:=3.1.7 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 @@ -15,8 +15,7 @@ PKG_HASH:=0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=libffi/host -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi # cffi>=1.1 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.1 include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/borgbackup/Makefile b/lang/python/borgbackup/Makefile index 9a825a3706..a8629deef1 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 5de50dd853..0000000000 --- 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/host-pip-requirements/cffi.txt b/lang/python/host-pip-requirements/cffi.txt deleted file mode 100644 index 94ef13b55a..0000000000 --- a/lang/python/host-pip-requirements/cffi.txt +++ /dev/null @@ -1,2 +0,0 @@ -cffi==1.15.0 --hash=sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 -pycparser==2.21 --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 diff --git a/lang/python/host-pip-requirements/ply.txt b/lang/python/host-pip-requirements/ply.txt deleted file mode 100644 index 807e19e141..0000000000 --- a/lang/python/host-pip-requirements/ply.txt +++ /dev/null @@ -1 +0,0 @@ -ply==3.11 --hash=sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 diff --git a/lang/python/host-pip-requirements/setuptools-scm.txt b/lang/python/host-pip-requirements/setuptools-scm.txt deleted file mode 100644 index 83b57e1d31..0000000000 --- a/lang/python/host-pip-requirements/setuptools-scm.txt +++ /dev/null @@ -1 +0,0 @@ -setuptools-scm==6.0.1 --hash=sha256:d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92 diff --git a/lang/python/host-pip-requirements/toml.txt b/lang/python/host-pip-requirements/toml.txt deleted file mode 100644 index 108bf1007e..0000000000 --- a/lang/python/host-pip-requirements/toml.txt +++ /dev/null @@ -1 +0,0 @@ -toml==0.10.2 --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile index 3124ca8f14..35aab8d796 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-apipkg/Makefile b/lang/python/python-apipkg/Makefile index 2e905a8932..b337818312 100644 --- a/lang/python/python-apipkg/Makefile +++ b/lang/python/python-apipkg/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-apipkg PKG_VERSION:=1.5 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=apipkg PKG_HASH:=37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-augeas/Makefile b/lang/python/python-augeas/Makefile index dab2d5e91e..e366d429bf 100644 --- a/lang/python/python-augeas/Makefile +++ b/lang/python/python-augeas/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-augeas PKG_VERSION:=1.1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=python-augeas PKG_HASH:=5194a49e86b40ffc57055f73d833f87e39dce6fce934683e7d0d5bbb8eff3b8c @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=LGPL-2.1-or-later PKG_LICENSE_FILES:=COPYING -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi # cffi>=1.0.0 +PKG_BUILD_DEPENDS:=python-cffi/host # cffi>=1.0.0 include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-bidict/Makefile b/lang/python/python-bidict/Makefile index b6735b82fa..f95eb07e98 100644 --- a/lang/python/python-bidict/Makefile +++ b/lang/python/python-bidict/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-bidict PKG_VERSION:=0.21.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=bidict PKG_HASH:=4fa46f7ff96dc244abfc437383d987404ae861df797e2fd5b190e233c302be09 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MPL-2.0 PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-build/Makefile b/lang/python/python-build/Makefile new file mode 100644 index 0000000000..e60023725e --- /dev/null +++ b/lang/python/python-build/Makefile @@ -0,0 +1,58 @@ +# +# 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-build +PKG_VERSION:=0.10.0 +PKG_RELEASE:=1 + +PYPI_NAME:=build +PKG_HASH:=d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-installer/host \ + python-flit-core/host \ + python-packaging/host \ + python-pyproject-hooks/host \ + python-tomli/host + +PYTHON3_HOST_BUILD_VARS:=PYTHONPATH=src + +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-build + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A simple, correct Python build frontend + URL:=https://github.com/pypa/build + DEPENDS:=+python3-light +python3-logging + BUILDONLY:=1 +endef + +define Package/python3-build/description +A simple, correct PEP 517 build frontend. + +build will invoke the PEP 517 hooks to build a distribution package. It +is a simple build tool and does not perform any dependency management. +endef + +$(eval $(call Py3Package,python3-build)) +$(eval $(call BuildPackage,python3-build)) +$(eval $(call BuildPackage,python3-build-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-cffi/Makefile b/lang/python/python-cffi/Makefile index 41549e9223..b14ef8099e 100644 --- a/lang/python/python-cffi/Makefile +++ b/lang/python/python-cffi/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2015-2018 OpenWrt.org +# Copyright (C) 2015-2016, 2018-2021, 2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,19 +8,28 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cffi -PKG_VERSION:=1.15.0 -PKG_RELEASE:=$(AUTORELEASE) +PKG_VERSION:=1.15.1 +PKG_RELEASE:=1 PYPI_NAME:=cffi -PKG_HASH:=920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 +PKG_HASH:=d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jeffery To +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-pycparser/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-cffi SECTION:=lang @@ -41,3 +50,4 @@ endef $(eval $(call Py3Package,python3-cffi)) $(eval $(call BuildPackage,python3-cffi)) $(eval $(call BuildPackage,python3-cffi-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-cryptography/Makefile b/lang/python/python-cryptography/Makefile index f9805d1b38..eca9394584 100644 --- a/lang/python/python-cryptography/Makefile +++ b/lang/python/python-cryptography/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2015-2018 OpenWrt.org +# Copyright (C) 2015-2016, 2018-2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cryptography PKG_VERSION:=3.4.8 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=cryptography PKG_HASH:=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c @@ -18,9 +18,7 @@ PKG_LICENSE:=Apache-2.0 BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD PKG_MAINTAINER:=Jeffery To -PKG_BUILD_DEPENDS:=libffi/host - -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi # cffi>=1.12 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.12 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 0000000000..99ad7d9398 --- /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 + +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-dateutil/Makefile b/lang/python/python-dateutil/Makefile index 394a307b6f..57e8a95aa8 100644 --- a/lang/python/python-dateutil/Makefile +++ b/lang/python/python-dateutil/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dateutil PKG_VERSION:=2.8.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=BSD-2-Clause PYPI_NAME:=$(PKG_NAME) PKG_HASH:=0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 PKG_MAINTAINER:=Alexandru Ardelean -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-editables/Makefile b/lang/python/python-editables/Makefile new file mode 100644 index 0000000000..dc0547ed31 --- /dev/null +++ b/lang/python/python-editables/Makefile @@ -0,0 +1,52 @@ +# +# 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-editables +PKG_VERSION:=0.3 +PKG_RELEASE:=1 + +PYPI_NAME:=editables +PKG_HASH:=167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To + +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-editables + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Editable installations + URL:=https://github.com/pfmoore/editables + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-editables/description +A Python library for creating "editable wheels" + +This library supports the building of wheels which, when installed, will +expose packages in a local directory on sys.path in "editable mode". In +other words, changes to the package source will be reflected in the +package visible to Python, without needing a reinstall. +endef + +$(eval $(call Py3Package,python3-editables)) +$(eval $(call BuildPackage,python3-editables)) +$(eval $(call BuildPackage,python3-editables-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-execnet/Makefile b/lang/python/python-execnet/Makefile index 1b45788d47..b82b4fd9f6 100644 --- a/lang/python/python-execnet/Makefile +++ b/lang/python/python-execnet/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-execnet PKG_VERSION:=1.8.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=execnet PKG_HASH:=b73c5565e517f24b62dea8a5ceac178c661c4309d3aa0c3e420856c072c411b4 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-flit-core/Makefile b/lang/python/python-flit-core/Makefile new file mode 100644 index 0000000000..42274d6d8c --- /dev/null +++ b/lang/python/python-flit-core/Makefile @@ -0,0 +1,60 @@ +# +# 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-flit-core +PKG_VERSION:=3.8.0 +PKG_RELEASE:=1 + +PYPI_NAME:=flit-core +PYPI_SOURCE_NAME:=flit_core +PKG_HASH:=b305b30c99526df5e63d6022dd2310a0a941a187bd3884f4c8ef0418df6c39f3 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/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-flit-core + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Distribution-building parts of Flit + URL:=https://github.com/pypa/flit + DEPENDS:=+python3-light +python3-email +python3-logging + BUILDONLY:=1 +endef + +define Package/python3-flit-core/description +This provides a PEP 517 build backend for packages using Flit. The only +public interface is the API specified by PEP 517, at flit_core.buildapi. +endef + +define Py3Host/Install/Installer + $(call HostPython3/Run, \ + $(HOST_BUILD_DIR), \ + bootstrap_install.py \ + --installdir "$(1)/lib/python$(PYTHON3_VERSION)/site-packages" \ + "$(PYTHON3_HOST_BUILD_DIR)"/openwrt-build/$(PYPI_SOURCE_NAME)-$(PKG_VERSION)-*.whl \ + ) +endef + +Host/Compile=$(Py3Host/Compile/Bootstrap) + +$(eval $(call Py3Package,python3-flit-core)) +$(eval $(call BuildPackage,python3-flit-core)) +$(eval $(call BuildPackage,python3-flit-core-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-flit-scm/Makefile b/lang/python/python-flit-scm/Makefile new file mode 100644 index 0000000000..57660f79bb --- /dev/null +++ b/lang/python/python-flit-scm/Makefile @@ -0,0 +1,56 @@ +# +# 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-flit-scm +PKG_VERSION:=1.7.0 +PKG_RELEASE:=1 + +PYPI_NAME:=flit-scm +PYPI_SOURCE_NAME:=flit_scm +PKG_HASH:=961bd6fb24f31bba75333c234145fff88e6de0a90fc0f7e5e7c79deca69f6bb2 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-flit-core/host \ + python-setuptools-scm/host \ + python-tomli/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-flit-scm + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A PEP 518 build backend that uses setuptools_scm and flit + URL:=https://gitlab.com/WillDaSilva/flit_scm + DEPENDS:=+python3-light +python3-flit-core +python3-setuptools-scm +python3-tomli + BUILDONLY:=1 +endef + +define Package/python3-flit-scm/description +A PEP 518 build backend that uses setuptools_scm to generate a version +file from your version control system, then flit_core to build the +package. +endef + +$(eval $(call Py3Package,python3-flit-scm)) +$(eval $(call BuildPackage,python3-flit-scm)) +$(eval $(call BuildPackage,python3-flit-scm-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-hatch-fancy-pypi-readme/Makefile b/lang/python/python-hatch-fancy-pypi-readme/Makefile new file mode 100644 index 0000000000..4a2ab871d3 --- /dev/null +++ b/lang/python/python-hatch-fancy-pypi-readme/Makefile @@ -0,0 +1,62 @@ +# +# 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-hatch-fancy-pypi-readme +PKG_VERSION:=22.8.0 +PKG_RELEASE:=1 + +PYPI_NAME:=hatch-fancy-pypi-readme +PYPI_SOURCE_NAME:=hatch_fancy_pypi_readme +PKG_HASH:=da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-hatchling/host \ + python-tomli/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-hatch-fancy-pypi-readme + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Fancy PyPI READMEs with Hatch + URL:=https://github.com/hynek/hatch-fancy-pypi-readme + DEPENDS:=+python3-light +python3-hatchling +python3-tomli + BUILDONLY:=1 +endef + +define Package/python3-hatch-fancy-pypi-readme/description +hatch-fancy-pypi-readme is a Hatch metadata plugin for everyone who +cares about the first impression of their project’s PyPI landing page. +It allows you to define your PyPI project description in terms of +concatenated fragments that are based on static strings, files, and most +importantly: parts of files defined using cut-off points or regular +expressions. + +Once you’ve assembled your readme, you can additionally run regular +expression-based substitutions over it. For instance to make relative +links absolute or to linkify users and issue numbers in your changelog. +endef + +$(eval $(call Py3Package,python3-hatch-fancy-pypi-readme)) +$(eval $(call BuildPackage,python3-hatch-fancy-pypi-readme)) +$(eval $(call BuildPackage,python3-hatch-fancy-pypi-readme-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-hatch-vcs/Makefile b/lang/python/python-hatch-vcs/Makefile new file mode 100644 index 0000000000..39f890985a --- /dev/null +++ b/lang/python/python-hatch-vcs/Makefile @@ -0,0 +1,54 @@ +# +# 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-hatch-vcs +PKG_VERSION:=0.3.0 +PKG_RELEASE:=1 + +PYPI_NAME:=hatch-vcs +PYPI_SOURCE_NAME:=hatch_vcs +PKG_HASH:=cec5107cfce482c67f8bc96f18bbc320c9aa0d068180e14ad317bbee5a153fee + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-hatchling/host \ + python-setuptools-scm/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-hatch-vcs + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Hatch plugin for versioning with your preferred VCS + URL:=https://github.com/ofek/hatch-vcs + DEPENDS:=+python3-light +python3-hatchling +python3-setuptools-scm + BUILDONLY:=1 +endef + +define Package/python3-hatch-vcs/description +This provides a plugin for Hatch that uses your preferred version +control system (like Git) to determine project versions. +endef + +$(eval $(call Py3Package,python3-hatch-vcs)) +$(eval $(call BuildPackage,python3-hatch-vcs)) +$(eval $(call BuildPackage,python3-hatch-vcs-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-hatchling/Makefile b/lang/python/python-hatchling/Makefile new file mode 100644 index 0000000000..6ba6c63c18 --- /dev/null +++ b/lang/python/python-hatchling/Makefile @@ -0,0 +1,62 @@ +# +# 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-hatchling +PKG_VERSION:=1.13.0 +PKG_RELEASE:=1 + +PYPI_NAME:=hatchling +PKG_HASH:=f8d275a2cc720735286b7c2e2bc35da05761e6d3695c2fa416550395f10c53c7 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-editables/host \ + python-packaging/host \ + python-pathspec/host \ + python-pluggy/host \ + python-tomli/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-hatchling + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Modern, extensible Python build backend + URL:=https://hatch.pypa.io/latest/ + DEPENDS:= \ + +python3-light \ + +python3-email \ + +python3-editables \ + +python3-packaging \ + +python3-pathspec \ + +python3-pluggy \ + +python3-tomli + BUILDONLY:=1 +endef + +define Package/python3-hatchling/description +This is the extensible, standards compliant build backend used by Hatch. +endef + +$(eval $(call Py3Package,python3-hatchling)) +$(eval $(call BuildPackage,python3-hatchling)) +$(eval $(call BuildPackage,python3-hatchling-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-iniconfig/Makefile b/lang/python/python-iniconfig/Makefile index 5d5da76172..98cd0cd7a0 100644 --- a/lang/python/python-iniconfig/Makefile +++ b/lang/python/python-iniconfig/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-iniconfig PKG_VERSION:=1.1.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=iniconfig PKG_HASH:=bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-installer/Makefile b/lang/python/python-installer/Makefile new file mode 100644 index 0000000000..898a74a3dd --- /dev/null +++ b/lang/python/python-installer/Makefile @@ -0,0 +1,53 @@ +# +# 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-installer +PKG_VERSION:=0.7.0 +PKG_RELEASE:=1 + +PYPI_NAME:=installer +PKG_HASH:=a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-flit-core/host + +PYTHON3_HOST_INSTALL_VARS:=PYTHONPATH=src + +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-installer + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A library for installing Python wheels + URL:=https://github.com/pypa/installer + DEPENDS:=+python3-light +python3-email + BUILDONLY:=1 +endef + +define Package/python3-installer/description +This is a low-level library for installing a Python package from a wheel +distribution. It provides basic functionality and abstractions for +handling wheels and installing packages from wheels. +endef + +Host/Compile=$(Py3Host/Compile/Bootstrap) + +$(eval $(call Py3Package,python3-installer)) +$(eval $(call BuildPackage,python3-installer)) +$(eval $(call BuildPackage,python3-installer-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-jsonschema/Makefile b/lang/python/python-jsonschema/Makefile index 4167ef29c0..67121c7a5d 100644 --- a/lang/python/python-jsonschema/Makefile +++ b/lang/python/python-jsonschema/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-jsonschema PKG_VERSION:=4.17.3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=jsonschema PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d @@ -11,7 +11,7 @@ PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-packaging/Makefile b/lang/python/python-packaging/Makefile index 6a0eaad75f..c727c20aab 100644 --- a/lang/python/python-packaging/Makefile +++ b/lang/python/python-packaging/Makefile @@ -7,19 +7,24 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-packaging -PKG_VERSION:=20.9 +PKG_VERSION:=23.0 PKG_RELEASE:=1 PYPI_NAME:=packaging -PKG_HASH:=5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5 +PKG_HASH:=b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97 -PKG_MAINTAINER:=Jan Pavlinec +PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=Apache-2.0 BSD-2-Clause PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD +PKG_BUILD_DEPENDS:=python-flit-core/host +HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/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-packaging SECTION:=lang @@ -27,7 +32,7 @@ define Package/python3-packaging SUBMENU:=Python TITLE:=Core utilities for Python packages URL:=https://github.com/pypa/packaging - DEPENDS:=+python3-light +python3-pyparsing +python3-six +python3-logging +python3-distutils +python3-urllib + DEPENDS:=+python3-light +python3-logging +python3-urllib @BROKEN endef define Package/python3-packaging/description @@ -35,6 +40,9 @@ define Package/python3-packaging/description markers, requirements, tags, utilities. endef +Host/Compile=$(Py3Host/Compile/Bootstrap) + $(eval $(call Py3Package,python3-packaging)) $(eval $(call BuildPackage,python3-packaging)) $(eval $(call BuildPackage,python3-packaging-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-pathspec/Makefile b/lang/python/python-pathspec/Makefile new file mode 100644 index 0000000000..86bde00b89 --- /dev/null +++ b/lang/python/python-pathspec/Makefile @@ -0,0 +1,50 @@ +# +# 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-pathspec +PKG_VERSION:=0.11.1 +PKG_RELEASE:=1 + +PYPI_NAME:=pathspec +PKG_HASH:=2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687 + +PKG_LICENSE:=MPL-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/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-pathspec + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=gitignore style pattern matching of file paths + URL:=https://github.com/cpburnz/python-pathspec + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-pathspec/description +pathspec is a utility library for pattern matching of file paths. So far +this only includes Git's wildmatch pattern matching which itself is +derived from Rsync's wildmatch. Git uses wildmatch for its gitignore +files. +endef + +$(eval $(call Py3Package,python3-pathspec)) +$(eval $(call BuildPackage,python3-pathspec)) +$(eval $(call BuildPackage,python3-pathspec-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-pluggy/Makefile b/lang/python/python-pluggy/Makefile index f9d3c39d61..d035c9abec 100644 --- a/lang/python/python-pluggy/Makefile +++ b/lang/python/python-pluggy/Makefile @@ -8,21 +8,29 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pluggy -PKG_VERSION:=0.13.1 -PKG_RELEASE:=4 +PKG_VERSION:=1.0.0 +PKG_RELEASE:=1 PYPI_NAME:=pluggy -PKG_HASH:=15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0 +PKG_HASH:=4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 -PKG_MAINTAINER:=Jan Pavlinec +PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-setuptools-scm/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-pluggy SUBMENU:=Python @@ -40,3 +48,4 @@ endef $(eval $(call Py3Package,python3-pluggy)) $(eval $(call BuildPackage,python3-pluggy)) $(eval $(call BuildPackage,python3-pluggy-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-ply/Makefile b/lang/python/python-ply/Makefile index 6a0b283eb8..002bfa96ef 100644 --- a/lang/python/python-ply/Makefile +++ b/lang/python/python-ply/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2015-2018 OpenWrt.org +# Copyright (C) 2015-2016, 2018, 2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -18,9 +18,13 @@ PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=README.md PKG_MAINTAINER:=Jeffery To +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-ply SECTION:=lang @@ -39,3 +43,4 @@ endef $(eval $(call Py3Package,python3-ply)) $(eval $(call BuildPackage,python3-ply)) $(eval $(call BuildPackage,python3-ply-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-poetry-core/Makefile b/lang/python/python-poetry-core/Makefile new file mode 100644 index 0000000000..6cdb6d285d --- /dev/null +++ b/lang/python/python-poetry-core/Makefile @@ -0,0 +1,51 @@ +# +# 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-poetry-core +PKG_VERSION:=1.5.2 +PKG_RELEASE:=1 + +PYPI_NAME:=poetry-core +PYPI_SOURCE_NAME:=poetry_core +PKG_HASH:=c6556c3b1ec5b8668e6ef5a4494726bc41d31907339425e194e78a6178436c14 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/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-poetry-core + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Poetry PEP 517 Build Backend + URL:=https://github.com/python-poetry/poetry-core + DEPENDS:=+python3 + BUILDONLY:=1 +endef + +define Package/python3-poetry-core/description +A PEP 517 build backend implementation developed for Poetry. This +project is intended to be a light weight, fully compliant, +self-contained package allowing PEP 517 compatible build frontends to +build Poetry managed projects. +endef + +$(eval $(call Py3Package,python3-poetry-core)) +$(eval $(call BuildPackage,python3-poetry-core)) +$(eval $(call BuildPackage,python3-poetry-core-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-psutil/Makefile b/lang/python/python-psutil/Makefile index 59b4f0fd14..07baf6693f 100644 --- a/lang/python/python-psutil/Makefile +++ b/lang/python/python-psutil/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-psutil PKG_VERSION:=5.9.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=psutil PKG_HASH:=869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=BSD 3-Clause PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-py/Makefile b/lang/python/python-py/Makefile index ca20dbba6c..c909e10e83 100644 --- a/lang/python/python-py/Makefile +++ b/lang/python/python-py/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-py PKG_VERSION:=1.10.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=py PKG_HASH:=21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pycares/Makefile b/lang/python/python-pycares/Makefile index 2eed1c2b10..c3516f73f4 100644 --- a/lang/python/python-pycares/Makefile +++ b/lang/python/python-pycares/Makefile @@ -3,7 +3,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pycares PKG_VERSION:=4.3.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pycares PKG_HASH:=c542696f6dac978e9d99192384745a65f80a7d9450501151e4a7563e06010d45 @@ -12,9 +12,7 @@ PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Fabian Lipken -PKG_BUILD_DEPENDS:=libffi/host - -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi # cffi>=1.5.0 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.5.0 include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pycparser/Makefile b/lang/python/python-pycparser/Makefile index c0da351577..5085372dc4 100644 --- a/lang/python/python-pycparser/Makefile +++ b/lang/python/python-pycparser/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pycparser PKG_VERSION:=2.21 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pycparser PKG_HASH:=e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206 @@ -18,11 +18,19 @@ PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jeffery To -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=ply # ply==3.10 +PKG_BUILD_DEPENDS:=python-ply/host # ply==3.10 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-ply/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-pycparser SECTION:=lang @@ -44,3 +52,4 @@ endef $(eval $(call Py3Package,python3-pycparser)) $(eval $(call BuildPackage,python3-pycparser)) $(eval $(call BuildPackage,python3-pycparser-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-pynacl/Makefile b/lang/python/python-pynacl/Makefile index 6635f4935e..d3469cc43d 100644 --- a/lang/python/python-pynacl/Makefile +++ b/lang/python/python-pynacl/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pynacl PKG_VERSION:=1.5.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=PyNaCl PKG_HASH:=8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba @@ -11,9 +11,7 @@ PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=libffi/host - -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=cffi # cffi>=1.4.1 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.4.1 PYTHON3_PKG_SETUP_VARS:= SODIUM_INSTALL=system diff --git a/lang/python/python-pyproject-hooks/Makefile b/lang/python/python-pyproject-hooks/Makefile new file mode 100644 index 0000000000..50b3780ede --- /dev/null +++ b/lang/python/python-pyproject-hooks/Makefile @@ -0,0 +1,52 @@ +# +# 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-pyproject-hooks +PKG_VERSION:=1.0.0 +PKG_RELEASE:=1 + +PYPI_NAME:=pyproject_hooks +PKG_HASH:=f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/host python-tomli/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-pyproject-hooks + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Wrappers to call pyproject.toml-based build backend hooks + URL:=https://github.com/pypa/pyproject-hooks + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-pyproject-hooks/description +This is a low-level library for calling build-backends in +pyproject.toml-based project. It provides the basic functionality to +help write tooling that generates distribution files from Python +projects. +endef + +Host/Compile=$(Py3Host/Compile/Bootstrap) + +$(eval $(call Py3Package,python3-pyproject-hooks)) +$(eval $(call BuildPackage,python3-pyproject-hooks)) +$(eval $(call BuildPackage,python3-pyproject-hooks-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-pytest-forked/Makefile b/lang/python/python-pytest-forked/Makefile index dba2daa8fb..55edae8f59 100644 --- a/lang/python/python-pytest-forked/Makefile +++ b/lang/python/python-pytest-forked/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest-forked PKG_VERSION:=1.3.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=pytest-forked PKG_HASH:=6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pytest-xdist/Makefile b/lang/python/python-pytest-xdist/Makefile index c73229bee5..2aaf5551a4 100644 --- a/lang/python/python-pytest-xdist/Makefile +++ b/lang/python/python-pytest-xdist/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest-xdist PKG_VERSION:=2.2.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pytest-xdist PKG_HASH:=718887296892f92683f6a51f25a3ae584993b06f7076ce1e1fd482e59a8220a2 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pytest/Makefile b/lang/python/python-pytest/Makefile index 7a91b4f637..bbd8f8819b 100644 --- a/lang/python/python-pytest/Makefile +++ b/lang/python/python-pytest/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest PKG_VERSION:=6.2.3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pytest PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634 @@ -18,7 +18,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -38,7 +38,8 @@ define Package/python3-pytest +python3-pluggy \ +python3-packaging \ +python3-toml \ - +python3-iniconfig + +python3-iniconfig \ + @BROKEN endef define Package/python3-pytest/description diff --git a/lang/python/python-setuptools-scm/Makefile b/lang/python/python-setuptools-scm/Makefile new file mode 100644 index 0000000000..c9a0ec78d9 --- /dev/null +++ b/lang/python/python-setuptools-scm/Makefile @@ -0,0 +1,68 @@ +# +# 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-setuptools-scm +PKG_VERSION:=7.1.0 +PKG_RELEASE:=1 + +PYPI_NAME:=setuptools-scm +PYPI_SOURCE_NAME:=setuptools_scm +PKG_HASH:=6c508345a771aad7d56ebff0e70628bf2b0ec7573762be9960214730de278f27 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-packaging/host \ + python-tomli/host \ + python-typing-extensions/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-setuptools-scm + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=the blessed package to manage your versions by scm tags + URL:=https://github.com/pypa/setuptools_scm + DEPENDS:= \ + +python3-light \ + +python3-logging \ + +python3-packaging \ + +python3-setuptools \ + +python3-tomli \ + +python3-typing-extensions + BUILDONLY:=1 +endef + +define Package/python3-setuptools-scm/description +setuptools_scm extracts Python package versions from git or hg metadata +instead of declaring them as the version argument or in a SCM managed +file. + +Additionally setuptools_scm provides setuptools with a list of files +that are managed by the SCM (i.e. it automatically adds all of the +SCM-managed files to the sdist). Unwanted files must be excluded by +discarding them via MANIFEST.in. +endef + +$(eval $(call Py3Package,python3-setuptools-scm)) +$(eval $(call BuildPackage,python3-setuptools-scm)) +$(eval $(call BuildPackage,python3-setuptools-scm-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-tomli/Makefile b/lang/python/python-tomli/Makefile new file mode 100644 index 0000000000..db615e39ba --- /dev/null +++ b/lang/python/python-tomli/Makefile @@ -0,0 +1,50 @@ +# +# 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-tomli +PKG_VERSION:=2.0.1 +PKG_RELEASE:=1 + +PYPI_NAME:=tomli +PKG_HASH:=de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/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-tomli + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A lil' TOML parser + URL:=https://github.com/hukkin/tomli + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-tomli/description +Tomli is a Python library for parsing TOML. Tomli is fully compatible +with TOML v1.0.0. +endef + +Host/Compile=$(Py3Host/Compile/Bootstrap) + +$(eval $(call Py3Package,python3-tomli)) +$(eval $(call BuildPackage,python3-tomli)) +$(eval $(call BuildPackage,python3-tomli-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-typing-extensions/Makefile b/lang/python/python-typing-extensions/Makefile index b60c9ad10c..5f511d54bb 100644 --- a/lang/python/python-typing-extensions/Makefile +++ b/lang/python/python-typing-extensions/Makefile @@ -19,9 +19,13 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=PSF-2.0 PKG_LICENSE_FILES:=LICENSE +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-typing-extensions SUBMENU:=Python @@ -40,3 +44,4 @@ endef $(eval $(call Py3Package,python3-typing-extensions)) $(eval $(call BuildPackage,python3-typing-extensions)) $(eval $(call BuildPackage,python3-typing-extensions-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-wheel/Makefile b/lang/python/python-wheel/Makefile new file mode 100644 index 0000000000..abf604a9d1 --- /dev/null +++ b/lang/python/python-wheel/Makefile @@ -0,0 +1,48 @@ +# +# 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-wheel +PKG_VERSION:=0.40.0 +PKG_RELEASE:=1 + +PYPI_NAME:=wheel +PKG_HASH:=cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/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-wheel + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=A built-package format for Python + URL:=https://github.com/pypa/wheel + DEPENDS:=+python3-light +python3-email +python3-logging +python3-setuptools + BUILDONLY:=1 +endef + +define Package/python3-wheel/description +This library is the reference implementation of the Python wheel +packaging standard, as defined in PEP 427. +endef + +$(eval $(call Py3Package,python3-wheel)) +$(eval $(call BuildPackage,python3-wheel)) +$(eval $(call BuildPackage,python3-wheel-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile index 1f471e03ba..4c2cbd7be4 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 diff --git a/lang/python/python-zipp/Makefile b/lang/python/python-zipp/Makefile index 17c442952f..3d48b31c31 100644 --- a/lang/python/python-zipp/Makefile +++ b/lang/python/python-zipp/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-zipp PKG_VERSION:=3.4.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=zipp PKG_HASH:=3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76 @@ -11,7 +11,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm toml # setuptools_scm[toml] >= 3.4.1 +PKG_BUILD_DEPENDS:=python-setuptools-scm/host # setuptools_scm[toml] >= 3.4.1 include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python3-host-build.mk b/lang/python/python3-host-build.mk new file mode 100644 index 0000000000..738d157287 --- /dev/null +++ b/lang/python/python3-host-build.mk @@ -0,0 +1,99 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST))) +include $(python3_mk_path)python3-host.mk + +PYTHON3_HOST_BUILD?=1 + +PYTHON3_HOST_BUILD_CONFIG_SETTINGS?= +PYTHON3_HOST_BUILD_VARS?= +PYTHON3_HOST_BUILD_ARGS?= +PYTHON3_HOST_BUILD_PATH?= + +PYTHON3_HOST_INSTALL_VARS?= + +PYTHON3_HOST_WHEEL_NAME?=$(subst -,_,$(if $(PYPI_SOURCE_NAME),$(PYPI_SOURCE_NAME),$(PKG_NAME))) +PYTHON3_HOST_WHEEL_VERSION?=$(PKG_VERSION) + +PYTHON3_HOST_BUILD_DIR?=$(HOST_BUILD_DIR)/$(PYTHON3_HOST_BUILD_PATH) + + +PYTHON3_HOST_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR))) +PYTHON3_HOST_STAGING_DIR:=$(TMP_DIR)/host-stage-$(PYTHON3_HOST_DIR_NAME) +PYTHON3_HOST_STAGING_FILES_LIST_DIR:=$(HOST_BUILD_PREFIX)/stamp +PYTHON3_HOST_STAGING_FILES_LIST:=$(PYTHON3_HOST_STAGING_FILES_LIST_DIR)/$(PYTHON3_HOST_DIR_NAME).list + +define Py3Host/Compile/Bootstrap + $(call HostPython3/Run, \ + $(HOST_BUILD_DIR), \ + -m flit_core.wheel \ + --outdir "$(PYTHON3_HOST_BUILD_DIR)"/openwrt-build \ + "$(PYTHON3_HOST_BUILD_DIR)" \ + ) +endef + +define Py3Host/Compile + $(call HostPython3/Run, \ + $(HOST_BUILD_DIR), \ + -m build \ + --no-isolation \ + --outdir "$(PYTHON3_HOST_BUILD_DIR)"/openwrt-build \ + --wheel \ + $(foreach setting,$(PYTHON3_HOST_BUILD_CONFIG_SETTINGS),--config-setting=$(setting)) \ + $(PYTHON3_HOST_BUILD_ARGS) \ + "$(PYTHON3_HOST_BUILD_DIR)" \ + , \ + $(PYTHON3_HOST_BUILD_VARS) \ + ) +endef + +define Py3Host/Install/Installer + $(call HostPython3/Run, \ + $(HOST_BUILD_DIR), \ + -m installer \ + --destdir "$(1)" \ + --prefix "" \ + "$(PYTHON3_HOST_BUILD_DIR)"/openwrt-build/$(PYTHON3_HOST_WHEEL_NAME)-$(PYTHON3_HOST_WHEEL_VERSION)-*.whl \ + , \ + $(PYTHON3_HOST_INSTALL_VARS) \ + ) +endef + +define Py3Host/Install + rm -rf "$(PYTHON3_HOST_STAGING_DIR)" + mkdir -p "$(PYTHON3_HOST_STAGING_DIR)" "$(PYTHON3_HOST_STAGING_FILES_LIST_DIR)" + + $(call Py3Host/Install/Installer,$(PYTHON3_HOST_STAGING_DIR)) + + $(call Py3Host/Uninstall,$(1)) + + cd "$(PYTHON3_HOST_STAGING_DIR)" && find ./ > "$(PYTHON3_HOST_STAGING_DIR).files" + + $(call locked, \ + mv "$(PYTHON3_HOST_STAGING_DIR).files" "$(PYTHON3_HOST_STAGING_FILES_LIST)" && \ + $(CP) "$(PYTHON3_HOST_STAGING_DIR)"/* "$(1)/", \ + host-staging-dir \ + ) + + rm -rf "$(PYTHON3_HOST_STAGING_DIR)" +endef + +define Py3Host/Uninstall + if [ -f "$(PYTHON3_HOST_STAGING_FILES_LIST)" ]; then \ + "$(SCRIPT_DIR)/clean-package.sh" \ + "$(PYTHON3_HOST_STAGING_FILES_LIST)" \ + "$(1)" ; \ + rm -f "$(PYTHON3_HOST_STAGING_FILES_LIST)" ; \ + fi +endef + +ifeq ($(strip $(PYTHON3_HOST_BUILD)),1) + Host/Compile=$(Py3Host/Compile) + Host/Install=$(Py3Host/Install) + Host/Uninstall=$(call Py3Host/Uninstall,$(HOST_BUILD_PREFIX)) +endif diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index 8a05c332cf..54f9bde1e1 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -12,6 +12,51 @@ python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST))) include $(python3_mk_path)python3-version.mk +# Unset environment variables + +# https://docs.python.org/3/using/cmdline.html#environment-variables +unexport \ + PYTHONHOME \ + PYTHONPATH \ + PYTHONSAFEPATH \ + PYTHONPLATLIBDIR \ + PYTHONSTARTUP \ + PYTHONOPTIMIZE \ + PYTHONBREAKPOINT \ + PYTHONDEBUG \ + PYTHONINSPECT \ + PYTHONUNBUFFERED \ + PYTHONVERBOSE \ + PYTHONCASEOK \ + PYTHONDONTWRITEBYTECODE \ + PYTHONPYCACHEPREFIX \ + PYTHONHASHSEED \ + PYTHONINTMAXSTRDIGITS \ + PYTHONIOENCODING \ + PYTHONNOUSERSITE \ + PYTHONUSERBASE \ + PYTHONEXECUTABLE \ + PYTHONWARNINGS \ + PYTHONFAULTHANDLER \ + PYTHONTRACEMALLOC \ + PYTHONPROFILEIMPORTTIME \ + PYTHONASYNCIODEBUG \ + PYTHONMALLOC \ + PYTHONMALLOCSTATS \ + PYTHONLEGACYWINDOWSFSENCODING \ + PYTHONLEGACYWINDOWSSTDIO \ + PYTHONCOERCECLOCALE \ + PYTHONDEVMODE \ + PYTHONUTF8 \ + PYTHONWARNDEFAULTENCODING \ + PYTHONNODEBUGRANGES + +# https://docs.python.org/3/using/cmdline.html#debug-mode-variables +unexport \ + PYTHONTHREADDEBUG \ + PYTHONDUMPREFS \ + PYTHONDUMPREFSFILE + HOST_PYTHON3_DIR:=$(STAGING_DIR_HOSTPKG) HOST_PYTHON3_INC_DIR:=$(HOST_PYTHON3_DIR)/include/python$(PYTHON3_VERSION) HOST_PYTHON3_LIB_DIR:=$(HOST_PYTHON3_DIR)/lib/python$(PYTHON3_VERSION) @@ -31,10 +76,7 @@ HOST_PYTHON3_VARS = \ LDSHARED="$(HOSTCC) -shared" \ CFLAGS="$(HOST_CFLAGS)" \ CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \ - LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" \ - PYTHONPATH="$(HOST_PYTHON3PATH)" \ - PYTHONDONTWRITEBYTECODE=0 \ - PYTHONOPTIMIZE="" + LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" # $(1) => directory of python script # $(2) => python script and its arguments @@ -51,6 +93,11 @@ HOST_PYTHON3_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON3_VERSION) HOST_PYTHON3_PIP_CACHE_DIR:=$(DL_DIR)/pip-cache +HOST_PYTHON3_PIP_VARS:= \ + PIP_CACHE_DIR="$(HOST_PYTHON3_PIP_CACHE_DIR)" \ + PIP_CONFIG_FILE=/dev/null \ + PIP_DISABLE_PIP_VERSION_CHECK=1 + define SetupPyShim if [ -f $(1)/pyproject.toml ] && [ ! -f $(1)/setup.py ] ; then \ $(CP) $(python3_mk_path)setup.py.shim $(1)setup.py ; \ @@ -62,11 +109,11 @@ endef define HostPython3/PipInstall $(call locked, \ $(HOST_PYTHON3_VARS) \ + $(HOST_PYTHON3_PIP_VARS) \ $(HOST_PYTHON3_PIP) \ - --cache-dir "$(HOST_PYTHON3_PIP_CACHE_DIR)" \ - --disable-pip-version-check \ install \ --no-binary :all: \ + --progress-bar off \ --require-hashes \ $(1) \ $(if $(CONFIG_PYTHON3_HOST_PIP_CACHE_WORLD_READABLE), \ @@ -76,14 +123,3 @@ define HostPython3/PipInstall pip \ ) endef - -# $(1) => build subdir -# $(2) => additional arguments to setup.py -# $(3) => additional variables -define HostPython3/ModSetup - $(call SetupPyShim,$(HOST_BUILD_DIR)/$(strip $(1))) - $(call HostPython3/Run, \ - $(HOST_BUILD_DIR)/$(strip $(1)), \ - setup.py $(2), \ - $(3) PY_PKG_VERSION=$(PKG_VERSION)) -endef diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index a24892ac57..f2336b8fcf 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -42,7 +42,6 @@ PYTHON3_VARS = \ __PYVENV_LAUNCHER__="/usr/bin/$(PYTHON3)" \ PYTHONPATH="$(PYTHON3PATH)" \ PYTHONDONTWRITEBYTECODE=1 \ - PYTHONOPTIMIZE="" \ _python_sysroot="$(STAGING_DIR)" \ _python_prefix="/usr" \ _python_exec_prefix="/usr" @@ -207,10 +206,13 @@ endef ifneq ($(strip $(PYPI_NAME)),) define Py3Build/CheckHostPipVersionMatch - if grep -q "$(PYPI_NAME)==" $(python3_mk_path)host-pip-requirements/*.txt ; then \ - if ! grep -q "$(PYPI_NAME)==$(PKG_VERSION)" $(python3_mk_path)host-pip-requirements/*.txt ; then \ - printf "\nPlease update version of $(PYPI_NAME) to $(PKG_VERSION) in 'host-pip-requirements'/\n\n" ; \ - exit 1 ; \ + if [ -d "$(python3_mk_path)host-pip-requirements" ] && \ + [ -n "$$$$($(FIND) $(python3_mk_path)host-pip-requirements -maxdepth 1 -mindepth 1 -name '*.txt' -print -quit 2>/dev/null)" ]; then \ + if grep -q "$(PYPI_NAME)==" $(python3_mk_path)host-pip-requirements/*.txt ; then \ + if ! grep -q "$(PYPI_NAME)==$(PKG_VERSION)" $(python3_mk_path)host-pip-requirements/*.txt ; then \ + printf "\nPlease update version of $(PYPI_NAME) to $(PKG_VERSION) in 'host-pip-requirements'/\n\n" ; \ + exit 1 ; \ + fi \ fi \ fi endef diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index aa2f2624f0..b666c41121 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -179,11 +179,11 @@ endif ifeq ($(PYTHON3_SETUPTOOLS_BUILD),1) define Build/Compile/python3-setuptools + $(HOST_PYTHON3_PIP_VARS) \ $(HOST_PYTHON3_PIP) \ - --disable-pip-version-check \ - --cache-dir "$(DL_DIR)/pip-cache" \ install \ --ignore-installed \ + --progress-bar off \ --root=$(PKG_BUILD_DIR)/install-setuptools \ --prefix=/usr \ $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py3-none-any.whl @@ -197,11 +197,11 @@ endif # CONFIG_PACKAGE_python3-setuptools ifdef CONFIG_PACKAGE_python3-pip define Build/Compile/python3-pip + $(HOST_PYTHON3_PIP_VARS) \ $(HOST_PYTHON3_PIP) \ - --disable-pip-version-check \ - --cache-dir "$(DL_DIR)/pip-cache" \ install \ --ignore-installed \ + --progress-bar off \ --root=$(PKG_BUILD_DIR)/install-pip \ --prefix=/usr \ $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl diff --git a/net/onionshare-cli/Makefile b/net/onionshare-cli/Makefile index 60e7b3b122..9acbec99fc 100644 --- a/net/onionshare-cli/Makefile +++ b/net/onionshare-cli/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=onionshare-cli PKG_VERSION:=2.3.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=onionshare-cli PYPI_SOURCE_NAME:=onionshare_cli @@ -19,7 +19,7 @@ PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=LICENSE -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm toml +PKG_BUILD_DEPENDS:=python-setuptools-scm/host include ../../lang/python/pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/utils/apparmor/Makefile b/utils/apparmor/Makefile index a77a17b800..f812d2a2e3 100644 --- a/utils/apparmor/Makefile +++ b/utils/apparmor/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apparmor PKG_VERSION:=3.0.3 -PKG_RELEASE:=$(AUTORELEASE) +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://gitlab.com/apparmor/apparmor/-/archive/v$(PKG_VERSION) @@ -15,8 +15,7 @@ PKG_LICENSE:=GPL-2.0-only PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Oskari Rauta -PKG_BUILD_DEPENDS:=swig/host -HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm +PKG_BUILD_DEPENDS:=swig/host python-setuptools-scm/host include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk @@ -131,8 +130,6 @@ define Build/Compile endef define Build/Install - # Make sure we have python's setup tools installed - $(call Py3Build/InstallBuildDepends) $(INSTALL_DIR) $(PKG_INSTALL_DIR)-libapparmor $(PKG_INSTALL_DIR)-utils $(PKG_INSTALL_DIR)-profiles # Installing libapparmor +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \ diff --git a/utils/setools/Makefile b/utils/setools/Makefile index 8b1b2eb8bd..2e6d3f915d 100644 --- a/utils/setools/Makefile +++ b/utils/setools/Makefile @@ -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 PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later