diff --git a/lang/python/bcrypt/Makefile b/lang/python/bcrypt/Makefile index 62312343f..9e49ce333 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 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/host-pip-requirements/cffi.txt b/lang/python/host-pip-requirements/cffi.txt deleted file mode 100644 index 94ef13b55..000000000 --- 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 807e19e14..000000000 --- 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 83b57e1d3..000000000 --- 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 108bf1007..000000000 --- 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 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-apipkg/Makefile b/lang/python/python-apipkg/Makefile index 2e905a893..b33781831 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 dab2d5e91..e366d429b 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 b6735b82f..f95eb07e9 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 000000000..e60023725 --- /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 41549e922..b14ef8099 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 f9805d1b3..eca939458 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 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 + +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 394a307b6..57e8a95aa 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 000000000..dc0547ed3 --- /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 1b45788d4..b82b4fd9f 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 000000000..42274d6d8 --- /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 000000000..57660f79b --- /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 000000000..4a2ab871d --- /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 000000000..39f890985 --- /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 000000000..6ba6c63c1 --- /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 5d5da7617..98cd0cd7a 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 000000000..898a74a3d --- /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 4167ef29c..67121c7a5 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 6a0eaad75..c727c20aa 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 000000000..86bde00b8 --- /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 f9d3c39d6..d035c9abe 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 6a0b283eb..002bfa96e 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 000000000..6cdb6d285 --- /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 59b4f0fd1..07baf6693 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 ca20dbba6..c909e10e8 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 2eed1c2b1..c3516f73f 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 c0da35157..5085372dc 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 6635f4935..d3469cc43 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 000000000..50b3780ed --- /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 dba2daa8f..55edae8f5 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 c73229bee..2aaf5551a 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 7a91b4f63..bbd8f8819 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 000000000..c9a0ec78d --- /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 000000000..db615e39b --- /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 b60c9ad10..5f511d54b 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 000000000..abf604a9d --- /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 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 diff --git a/lang/python/python-zipp/Makefile b/lang/python/python-zipp/Makefile index 17c442952..3d48b31c3 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 000000000..738d15728 --- /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 8a05c332c..54f9bde1e 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 a24892ac5..f2336b8fc 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 aa2f2624f..b666c4112 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/lang/rust/Makefile b/lang/rust/Makefile index ca5437aeb..dcee587ac 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rust -PKG_VERSION:=1.68.0 +PKG_VERSION:=1.68.1 PKG_RELEASE:=1 PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz PKG_SOURCE_URL:=https://static.rust-lang.org/dist/ -PKG_HASH:=eaf4d8b19f23a232a4770fb53ab5e7acdedec11da1d02b0e5d491ca92ca96d62 +PKG_HASH:=ccb051df5701d4c588e3d0558f83e73e7eea0a9b165dab3e39dd2db8a6a25d03 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/rustc-$(PKG_VERSION)-src PKG_MAINTAINER:=Luca Barbato diff --git a/lang/rust/rust-package.mk b/lang/rust/rust-package.mk index 4e39009cc..6ab0e2399 100644 --- a/lang/rust/rust-package.mk +++ b/lang/rust/rust-package.mk @@ -27,7 +27,8 @@ define Build/Compile/Cargo CARGO_HOME=$(CARGO_HOME) \ TARGET_CFLAGS="$(TARGET_CFLAGS) $(RUST_CFLAGS)" \ TARGET_CC=$(TARGET_CC_NOCACHE) \ - CC=$(HOSTCC) \ + CC=$(HOSTCC_NOCACHE) \ + $(CARGO_VARS) \ cargo install -v \ --profile stripped \ --target $(RUSTC_TARGET_ARCH) \ diff --git a/lang/rust/rust-values.mk b/lang/rust/rust-values.mk index c9eb26f08..daebec2d6 100644 --- a/lang/rust/rust-values.mk +++ b/lang/rust/rust-values.mk @@ -6,6 +6,7 @@ CONFIG_HOST_SUFFIX:=$(word 4, $(subst -, ,$(GNU_HOST_NAME))) RUSTC_HOST_ARCH:=$(HOST_ARCH)-unknown-linux-$(CONFIG_HOST_SUFFIX) CARGO_HOME:=$(STAGING_DIR_HOSTPKG)/cargo +CARGO_VARS:= ifeq ($(CONFIG_USE_MUSL),y) # Force linking of the SSP library for musl diff --git a/libs/libdmapsharing/Makefile b/libs/libdmapsharing/Makefile index 84031cc8d..b56515ab4 100644 --- a/libs/libdmapsharing/Makefile +++ b/libs/libdmapsharing/Makefile @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libdmapsharing -PKG_VERSION:=3.9.10 +PKG_VERSION:=3.9.12 PKG_RELEASE:=1 PKG_SOURCE:=libdmapsharing-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.flyn.org/projects/libdmapsharing/ -PKG_HASH:=e216425d61a109f08f0ac93065f4603d1e61ebd85c09802c03a9ecce5bb35094 +PKG_HASH:=aa47e405c5059ff35ff6fc447e497dc1ff15558859a57710a664350314abf750 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=LGPL-2.1-or-later @@ -32,7 +32,7 @@ include $(INCLUDE_DIR)/nls.mk define Package/libdmapsharing SECTION:=libs CATEGORY:=Libraries - DEPENDS:=+libsoup +mdnsresponder +gstreamer1-plugins-base +gst1-mod-app + DEPENDS:=+libsoup3 +mdnsresponder +gstreamer1-plugins-base +gst1-mod-app TITLE:=libdmapsharing URL:=https://www.flyn.org/projects/libdmapsharing/ endef diff --git a/libs/libdmapsharing/patches/001-disable_pixbuf.patch b/libs/libdmapsharing/patches/001-disable_pixbuf.patch index 47d4a0c31..11b2567ff 100644 --- a/libs/libdmapsharing/patches/001-disable_pixbuf.patch +++ b/libs/libdmapsharing/patches/001-disable_pixbuf.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -125,15 +125,7 @@ fi +@@ -126,15 +126,7 @@ fi AC_SUBST(GOBJECT_CFLAGS) AC_SUBST(GOBJECT_LIBS) diff --git a/net/banip/Makefile b/net/banip/Makefile index 38df1fcf4..65fa9e270 100644 --- a/net/banip/Makefile +++ b/net/banip/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=banip PKG_VERSION:=0.8.2 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_LICENSE:=GPL-3.0-or-later PKG_MAINTAINER:=Dirk Brenken diff --git a/net/banip/files/banip.init b/net/banip/files/banip.init index 6c7628033..d8faafdaa 100755 --- a/net/banip/files/banip.init +++ b/net/banip/files/banip.init @@ -74,8 +74,10 @@ status() { } status_service() { + local actual="${1}" + [ -z "$(command -v "f_system")" ] && . "${ban_funlib}" - f_getstatus + [ -n "${actual}" ] && f_actual || f_getstatus } report() { diff --git a/net/dmapd/Makefile b/net/dmapd/Makefile index b5d6d1844..f073bcce3 100644 --- a/net/dmapd/Makefile +++ b/net/dmapd/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dmapd -PKG_VERSION:=0.0.91 -PKG_RELEASE:=$(AUTORELEASE) +PKG_VERSION:=0.0.95 +PKG_RELEASE:=1 PKG_MAINTAINER:=W. Michael Petullo @@ -18,7 +18,7 @@ PKG_LICENSE_FILES:=COPYING PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.flyn.org/projects/dmapd -PKG_HASH:=494647918e15ef1b6b9aa1e3bff35fad26d0c17e13c65ab87a7b0d3f8ceced02 +PKG_HASH:=c2c387518ee012e2f2613770c1e7e7eeb5e58fb4605ed645f1db2aced1585a52 PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 diff --git a/net/onionshare-cli/Makefile b/net/onionshare-cli/Makefile index 60e7b3b12..9acbec99f 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 a77a17b80..f812d2a2e 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 8b1b2eb8b..2e6d3f915 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