diff --git a/lang/python/borgbackup/Makefile b/lang/python/borgbackup/Makefile index a8629deef1..95fd7eaffd 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:=2 +PKG_RELEASE:=3 PYPI_NAME:=borgbackup PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8 @@ -57,16 +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 -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 -# available in the python package feed, and has a myriad of deps -PYTHON3_PKG_SETUP_VARS:= \ - BORG_OPENSSL_PREFIX="/usr/lib" \ - BORG_LIBLZ4_PREFIX="/usr/lib" \ - BORG_LIBZSTD_PREFIX="/usr/lib" \ - BORG_LIBXXHASH_PREFIX="/usr/lib" +PKG_BUILD_DEPENDS:=python-cython/host python-pkgconfig/host python-setuptools-scm/host $(eval $(call Py3Package,borgbackup)) $(eval $(call BuildPackage,borgbackup)) diff --git a/lang/python/pillow/Makefile b/lang/python/pillow/Makefile index bcf793697a..941f28f4e3 100644 --- a/lang/python/pillow/Makefile +++ b/lang/python/pillow/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pillow PKG_VERSION:=9.5.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=Pillow PKG_HASH:=bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1 @@ -36,17 +36,18 @@ define Package/python3-pillow/description The friendly PIL fork endef -PYTHON3_PKG_SETUP_GLOBAL_ARGS += build_ext \ - --enable-zlib \ - --enable-jpeg \ - --enable-webp \ - --enable-webpmux \ - --enable-tiff \ - --enable-freetype \ - --disable-lcms \ - --disable-jpeg2000 \ - --disable-imagequant \ - --disable-platform-guessing +PYTHON3_PKG_BUILD_CONFIG_SETTINGS += \ + --global-option=build_ext \ + --global-option=--enable-zlib \ + --global-option=--enable-jpeg \ + --global-option=--enable-webp \ + --global-option=--enable-webpmux \ + --global-option=--enable-tiff \ + --global-option=--enable-freetype \ + --global-option=--disable-lcms \ + --global-option=--disable-jpeg2000 \ + --global-option=--disable-imagequant \ + --global-option=--disable-platform-guessing $(eval $(call Py3Package,python3-pillow)) $(eval $(call BuildPackage,python3-pillow)) diff --git a/lang/python/python-astral/Makefile b/lang/python/python-astral/Makefile index 5f009fce17..9d24576ccb 100644 --- a/lang/python/python-astral/Makefile +++ b/lang/python/python-astral/Makefile @@ -8,16 +8,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-astral -PKG_VERSION:=2.2 +PKG_VERSION:=3.2 PKG_RELEASE:=1 PYPI_NAME:=astral -PKG_HASH:=e41d9967d5c48be421346552f0f4dedad43ff39a83574f5ff2ad32b6627b6fbe +PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Josef Schlehofer +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -29,8 +31,7 @@ define Package/python3-astral TITLE:=Calculations for the position of the sun and moon URL:=https://github.com/sffjunkie/astral DEPENDS+= \ - +python3-light \ - +python3-pytz + +python3-light endef define Package/python3-astral/description diff --git a/lang/python/python-automat/Makefile b/lang/python/python-automat/Makefile index 248f7b7055..7802168aae 100644 --- a/lang/python/python-automat/Makefile +++ b/lang/python/python-automat/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-automat PKG_VERSION:=20.2.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=Automat PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33 @@ -22,7 +22,7 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_VARS:= \ +PYTHON3_PKG_BUILD_VARS:= \ PKG_VERSION="$(PKG_VERSION)" define Package/python3-automat diff --git a/lang/python/python-bleak/Makefile b/lang/python/python-bleak/Makefile index 696b0b4bcf..2878bb2eac 100644 --- a/lang/python/python-bleak/Makefile +++ b/lang/python/python-bleak/Makefile @@ -17,6 +17,8 @@ PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-cached-property/Makefile b/lang/python/python-cached-property/Makefile index 63685ba9c3..a95d298aaa 100644 --- a/lang/python/python-cached-property/Makefile +++ b/lang/python/python-cached-property/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cached-property PKG_VERSION:=1.5.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=cached-property PKG_HASH:=9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130 @@ -15,8 +15,6 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-cached-property SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-crcmod/Makefile b/lang/python/python-crcmod/Makefile index bd9d606b07..de59e612d1 100644 --- a/lang/python/python-crcmod/Makefile +++ b/lang/python/python-crcmod/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-crcmod PKG_VERSION:=1.7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=crcmod PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e @@ -13,8 +13,6 @@ PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e PKG_LICENSE:=MIT PKG_MAINTAINER:=David Bauer -PYTHON3_PKG_SETUP_ARGS:= - include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-cryptodome/Makefile b/lang/python/python-cryptodome/Makefile index 037ff861df..0f256628eb 100644 --- a/lang/python/python-cryptodome/Makefile +++ b/lang/python/python-cryptodome/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cryptodome PKG_VERSION:=3.9.7 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PYPI_NAME:=pycryptodome PKG_HASH:=f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2 @@ -20,8 +20,7 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= -PYTHON3_PKG_SETUP_VARS:= \ +PYTHON3_PKG_BUILD_VARS:= \ CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)" define Package/python3-cryptodome diff --git a/lang/python/python-cryptodomex/Makefile b/lang/python/python-cryptodomex/Makefile index 7cc4c530fb..9847db5832 100644 --- a/lang/python/python-cryptodomex/Makefile +++ b/lang/python/python-cryptodomex/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cryptodomex PKG_VERSION:=3.10.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pycryptodomex PKG_HASH:=541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62 @@ -19,8 +19,7 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= -PYTHON3_PKG_SETUP_VARS:= \ +PYTHON3_PKG_BUILD_VARS:= \ CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)" define Package/python3-cryptodomex diff --git a/lang/python/python-cryptography/patches/0004-disable-rust.patch b/lang/python/python-cryptography/patches/0004-disable-rust.patch index 81c45a44df..bf3010bb03 100644 --- a/lang/python/python-cryptography/patches/0004-disable-rust.patch +++ b/lang/python/python-cryptography/patches/0004-disable-rust.patch @@ -1,3 +1,13 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -6,7 +6,6 @@ requires = [ + "wheel", + # Must be kept in sync with the `setup_requirements` in `setup.py` + "cffi>=1.12; platform_python_implementation != 'PyPy'", +- "setuptools-rust>=0.11.4", + ] + build-backend = "setuptools.build_meta" + --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ import sys diff --git a/lang/python/python-curl/Makefile b/lang/python/python-curl/Makefile index 4f46dc5fc7..b239efd3a0 100644 --- a/lang/python/python-curl/Makefile +++ b/lang/python/python-curl/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pycurl PKG_VERSION:=7.45.2 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca @@ -32,22 +32,20 @@ define Package/python3-curl/description PycURL is a Python interface to libcurl, the multiprotocol file transfer library. endef -PYTHON3_PKG_SETUP_ARGS:= - ifdef CONFIG_LIBCURL_OPENSSL - PYTHON3_PKG_SETUP_ARGS+=--with-openssl + PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=openssl endif ifdef CONFIG_LIBCURL_GNUTLS - PYTHON3_PKG_SETUP_ARGS+=--with-gnutls + PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=gnutls endif ifdef CONFIG_LIBCURL_MBEDTLS - PYTHON3_PKG_SETUP_ARGS+=--with-mbedtls + PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=mbedtls endif ifdef CONFIG_LIBCURL_WOLFSSL - PYTHON3_PKG_SETUP_ARGS+=--with-wolfssl + PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=wolfssl endif $(eval $(call Py3Package,python3-curl)) diff --git a/lang/python/python-dbus-fast/Makefile b/lang/python/python-dbus-fast/Makefile index ad6b0b40b3..8579e13a45 100644 --- a/lang/python/python-dbus-fast/Makefile +++ b/lang/python/python-dbus-fast/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dbus-fast PKG_VERSION:=1.84.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=dbus-fast PYPI_SOURCE_NAME:=dbus_fast @@ -18,6 +18,8 @@ PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_DEPENDS:=python-poetry-core/host python-cython/host python-wheel/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch b/lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch new file mode 100644 index 0000000000..327f0e74da --- /dev/null +++ b/lang/python/python-dbus-fast/patches/001-unpin-setuptools.patch @@ -0,0 +1,9 @@ +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -97,5 +97,5 @@ module = "docs.*" + ignore_errors = true + + [build-system] +-requires = ['setuptools>=65.4.1', 'wheel', 'Cython', "poetry-core>=1.0.0"] ++requires = ['setuptools', 'wheel', 'Cython', "poetry-core>=1.0.0"] + build-backend = "poetry.core.masonry.api" diff --git a/lang/python/python-dns/Makefile b/lang/python/python-dns/Makefile index 75833fa853..f303733b65 100644 --- a/lang/python/python-dns/Makefile +++ b/lang/python/python-dns/Makefile @@ -8,16 +8,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dns -PKG_VERSION:=2.2.0 +PKG_VERSION:=2.3.0 PKG_RELEASE:=1 PYPI_NAME:=dnspython -PKG_HASH:=e79351e032d0b606b98d38a4b0e6e2275b31a5b85c873e587cc11b73aca026d6 +PKG_HASH:=224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Josef Schlehofer +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-docker/Makefile b/lang/python/python-docker/Makefile index cb23ea0104..de278aac61 100644 --- a/lang/python/python-docker/Makefile +++ b/lang/python/python-docker/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-docker PKG_VERSION:=6.0.1 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PYPI_NAME:=docker PKG_HASH:=896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97 @@ -11,12 +11,12 @@ PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_DEPENDS:=python-setuptools-scm/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-docker SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-dockerpty/Makefile b/lang/python/python-dockerpty/Makefile index 662e4c5529..8addc132ce 100644 --- a/lang/python/python-dockerpty/Makefile +++ b/lang/python/python-dockerpty/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dockerpty PKG_VERSION:=0.4.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PYPI_NAME:=dockerpty PKG_HASH:=69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce @@ -15,8 +15,6 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-dockerpty SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-docopt/Makefile b/lang/python/python-docopt/Makefile index cba2394584..fa6e982494 100644 --- a/lang/python/python-docopt/Makefile +++ b/lang/python/python-docopt/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-docopt PKG_VERSION:=0.6.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PYPI_NAME:=docopt PKG_HASH:=49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491 @@ -15,8 +15,6 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-docopt SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-docutils/Makefile b/lang/python/python-docutils/Makefile index 23fcd4c829..50875051f4 100644 --- a/lang/python/python-docutils/Makefile +++ b/lang/python/python-docutils/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=docutils PKG_VERSION:=0.19 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=$(PKG_NAME) PKG_HASH:=33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6 @@ -29,8 +29,6 @@ such as HTML, XML, and LaTeX. For input Docutils supports reStructuredText, an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax. endef -PYTHON3_PKG_SETUP_ARGS:= - $(eval $(call Py3Package,python3-docutils)) $(eval $(call BuildPackage,python3-docutils)) $(eval $(call BuildPackage,python3-docutils-src)) diff --git a/lang/python/python-evdev/Makefile b/lang/python/python-evdev/Makefile index bc26068a6e..bab726b54e 100644 --- a/lang/python/python-evdev/Makefile +++ b/lang/python/python-evdev/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=python-evdev PKG_VERSION:=1.6.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=BSD-3-Clause PKG_MAINTAINER:=Paulo Costa , Alexandru Ardelean @@ -39,10 +39,11 @@ endef LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h" -PYTHON3_PKG_SETUP_GLOBAL_ARGS:= \ - build build_ecodes \ - --evdev-headers="$(LINUX_EVDEV_HEADERS)" \ - build_ext +PYTHON3_PKG_BUILD_CONFIG_SETTINGS:= \ + --global-option=build \ + --global-option=build_ecodes \ + --global-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \ + --global-option=build_ext $(eval $(call Py3Package,python3-evdev)) $(eval $(call BuildPackage,python3-evdev)) diff --git a/lang/python/python-exceptiongroup/Makefile b/lang/python/python-exceptiongroup/Makefile index 7c096dc5e5..80be44b2ef 100644 --- a/lang/python/python-exceptiongroup/Makefile +++ b/lang/python/python-exceptiongroup/Makefile @@ -8,16 +8,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-exceptiongroup -PKG_VERSION:=1.1.0 -PKG_RELEASE:=1 +PKG_VERSION:=1.1.1 +PKG_RELEASE:=2 PYPI_NAME:=exceptiongroup -PKG_HASH:=bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23 +PKG_HASH:=d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785 PKG_LICENSE:=MIT,Python-2.0 PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Julien Malik +PKG_BUILD_DEPENDS:=python-flit-scm/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -28,9 +30,7 @@ define Package/python3-exceptiongroup SUBMENU:=Python TITLE:=Backport of PEP 654 (exception groups) URL:=https://github.com/agronholm/exceptiongroup - DEPENDS:= \ - +python3-light \ - +python3-attrs + DEPENDS:=+python3-light endef define Package/python3-exceptiongroup/description diff --git a/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch b/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch deleted file mode 100644 index 5c6cf25199..0000000000 --- a/lang/python/python-exceptiongroup/patches/0001-add-setup.py-to-avoid-depending-on-flit-for-building.patch +++ /dev/null @@ -1,31 +0,0 @@ -From d6a0c3045598597023ee2423144b134fc87f4b6f Mon Sep 17 00:00:00 2001 -From: Julien Malik -Date: Sat, 26 Nov 2022 13:05:20 +0100 -Subject: [PATCH] add setup.py to avoid depending on flit for building - ---- - setup.py | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - create mode 100644 setup.py - ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,18 @@ -+#!/usr/bin/env python -+ -+import setuptools -+ -+setuptools.setup( -+ name='exceptiongroup', -+ version='1.1.0', -+ description='Backport of PEP 654 (exception groups)', -+ author='Alex Grönholm', -+ author_email='Alex Grönholm ', -+ url='https://github.com/agronholm/exceptiongroup', -+ packages=['exceptiongroup'], -+ package_data={'': ['*']}, -+ package_dir={'': 'src'}, -+ extras_require={'test': ['pytest >= 6']}, -+ python_requires='>=3.7', -+) -+ diff --git a/lang/python/python-gmpy2/Makefile b/lang/python/python-gmpy2/Makefile index 46c49d7f3e..899f67d1f9 100644 --- a/lang/python/python-gmpy2/Makefile +++ b/lang/python/python-gmpy2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-gmpy2 PKG_VERSION:=2.0.8 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PYPI_NAME:=gmpy2 PYPI_SOURCE_EXT:=zip @@ -23,7 +23,7 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:=--nompfr +PYTHON3_PKG_BUILD_CONFIG_SETTINGS:=--global-option=--nompfr define Package/python3-gmpy2 SECTION:=lang diff --git a/lang/python/python-incremental/Makefile b/lang/python/python-incremental/Makefile index e3fa8efcb2..31d88c9df2 100644 --- a/lang/python/python-incremental/Makefile +++ b/lang/python/python-incremental/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2018 OpenWrt.org +# Copyright (C) 2018, 2021, 2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-incremental -PKG_VERSION:=21.3.0 +PKG_VERSION:=22.10.0 PKG_RELEASE:=1 PYPI_NAME:=incremental -PKG_HASH:=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57 +PKG_HASH:=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE @@ -20,7 +20,9 @@ PKG_MAINTAINER:=Jeffery To 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-incremental SECTION:=lang @@ -28,7 +30,7 @@ define Package/python3-incremental SUBMENU:=Python TITLE:=Versions your Python projects URL:=https://github.com/twisted/incremental - DEPENDS:=+python3-light + DEPENDS:=+python3-light +python3-distutils +python3-pkg-resources endef define Package/python3-incremental/description @@ -38,3 +40,4 @@ endef $(eval $(call Py3Package,python3-incremental)) $(eval $(call BuildPackage,python3-incremental)) $(eval $(call BuildPackage,python3-incremental-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-incremental/patches/001-omit-tests.patch b/lang/python/python-incremental/patches/001-omit-tests.patch index 5c228c004d..b71c6e35f7 100644 --- a/lang/python/python-incremental/patches/001-omit-tests.patch +++ b/lang/python/python-incremental/patches/001-omit-tests.patch @@ -1,11 +1,14 @@ ---- a/setup.py -+++ b/setup.py -@@ -31,7 +31,7 @@ setup( - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - ], -- packages=find_packages("src", exclude=("exampleproj",)), -+ packages=find_packages("src", exclude=("exampleproj", "*.tests", "*.tests.*")), - package_dir={"": "src"}, - extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]}, - license="MIT", +--- a/setup.cfg ++++ b/setup.cfg +@@ -30,7 +30,10 @@ zip_safe = False + + [options.packages.find] + where = src +-exclude = exampleproj ++exclude = ++ exampleproj ++ *.tests ++ *.tests.* + + [options.package_data] + incremental = py.typed diff --git a/lang/python/python-intelhex/Makefile b/lang/python/python-intelhex/Makefile index a7cfb785e4..8e0abd7391 100644 --- a/lang/python/python-intelhex/Makefile +++ b/lang/python/python-intelhex/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-intelhex PKG_VERSION:=2.2.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PYPI_NAME:=IntelHex PYPI_SOURCE_NAME:=intelhex @@ -34,8 +34,6 @@ define Package/python3-intelhex/description scratch and manipulate data from Intel HEX file format. endef -PYTHON3_PKG_SETUP_ARGS:= - $(eval $(call Py3Package,python3-intelhex)) $(eval $(call BuildPackage,python3-intelhex)) $(eval $(call BuildPackage,python3-intelhex-src)) diff --git a/lang/python/python-jsonschema/Makefile b/lang/python/python-jsonschema/Makefile index 67121c7a5d..4c6e44d468 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:=2 +PKG_RELEASE:=3 PYPI_NAME:=jsonschema PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d @@ -11,7 +11,7 @@ PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING -PKG_BUILD_DEPENDS:=python-setuptools-scm/host +PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host python-hatch-fancy-pypi-readme/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-jsonschema/patches/001-setup.patch b/lang/python/python-jsonschema/patches/001-setup.patch deleted file mode 100644 index 0451315df7..0000000000 --- a/lang/python/python-jsonschema/patches/001-setup.patch +++ /dev/null @@ -1,104 +0,0 @@ ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,2 @@ -+from setuptools import setup -+setup(use_scm_version=True) ---- /dev/null -+++ b/setup.cfg -@@ -0,0 +1,96 @@ -+[metadata] -+name = jsonschema -+url = https://github.com/python-jsonschema/jsonschema -+project_urls = -+ Funding = https://github.com/sponsors/Julian -+ Tidelift = https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link -+ Documentation = https://python-jsonschema.readthedocs.io/ -+ Changelog = https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst -+ Source = https://github.com/python-jsonschema/jsonschema -+ Issues = https://github.com/python-jsonschema/jsonschema/issues/ -+description = An implementation of JSON Schema validation for Python -+long_description = file: README.rst -+long_description_content_type = text/x-rst -+author = Julian Berman -+author_email = Julian+jsonschema@GrayVines.com -+license = MIT -+classifiers = -+ Development Status :: 5 - Production/Stable -+ Intended Audience :: Developers -+ License :: OSI Approved :: MIT License -+ Operating System :: OS Independent -+ Programming Language :: Python -+ Programming Language :: Python :: 3.7 -+ Programming Language :: Python :: 3.8 -+ Programming Language :: Python :: 3.9 -+ Programming Language :: Python :: 3.10 -+ Programming Language :: Python :: 3.11 -+ Programming Language :: Python :: Implementation :: CPython -+ Programming Language :: Python :: Implementation :: PyPy -+ -+[options] -+packages = find: -+python_requires = >=3.7 -+install_requires = -+ attrs>=17.4.0 -+ importlib_metadata;python_version<'3.8' -+ importlib_resources>=1.4.0;python_version<'3.9' -+ pyrsistent>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2 -+ typing_extensions;python_version<'3.8' -+ -+[options.extras_require] -+format = -+ fqdn -+ idna -+ isoduration -+ jsonpointer>1.13 -+ rfc3339-validator -+ rfc3987 -+ uri_template -+ webcolors>=1.11 -+format_nongpl = -+ fqdn -+ idna -+ isoduration -+ jsonpointer>1.13 -+ rfc3339-validator -+ rfc3986-validator>0.1.0 -+ uri_template -+ webcolors>=1.11 -+ -+[options.entry_points] -+console_scripts = -+ jsonschema = jsonschema.cli:main -+ -+[options.package_data] -+jsonschema = schemas/*.json, schemas/*/*.json -+ -+[flake8] -+ban-relative-imports = true -+inline-quotes = " -+exclude = -+ jsonschema/__init__.py -+ jsonschema/_reflect.py -+ignore = -+ B008, # Barring function calls in default args. Ha, no. -+ B306, # See https://github.com/PyCQA/flake8-bugbear/issues/131 -+ W503, # (flake8 default) old PEP8 boolean operator line breaks -+ -+[mypy] -+ignore_missing_imports = true -+ -+[pydocstyle] -+match = (?!(test_|_|compat|cli)).*\.py # see PyCQA/pydocstyle#323 -+add-select = -+ D410, # Trailing whitespace plz -+add-ignore = -+ D107, # Hah, no -+ D200, # 1-line docstrings don't need to be on one line -+ D202, # One line is fine. -+ D412, # Trailing whitespace plz -+ D413, # No trailing whitespace plz -+ -+[egg_info] -+tag_build = -+tag_date = 0 -+ diff --git a/lang/python/python-packaging/Makefile b/lang/python/python-packaging/Makefile index c727c20aab..6348bbdc75 100644 --- a/lang/python/python-packaging/Makefile +++ b/lang/python/python-packaging/Makefile @@ -32,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-logging +python3-urllib @BROKEN + DEPENDS:=+python3-light +python3-logging +python3-urllib endef define Package/python3-packaging/description diff --git a/lang/python/python-paramiko/Makefile b/lang/python/python-paramiko/Makefile index 7cf7146047..03531ff9b2 100644 --- a/lang/python/python-paramiko/Makefile +++ b/lang/python/python-paramiko/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-paramiko PKG_VERSION:=2.12.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=paramiko PKG_HASH:=376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49 @@ -15,8 +15,6 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-paramiko SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-parsley/Makefile b/lang/python/python-parsley/Makefile index 7eaf15e101..cff3d3ed64 100644 --- a/lang/python/python-parsley/Makefile +++ b/lang/python/python-parsley/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-parsley PKG_VERSION:=1.3 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PYPI_NAME:=Parsley PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41 @@ -22,8 +22,6 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_SETUP_ARGS:= - define Package/python3-parsley SECTION:=lang CATEGORY:=Languages diff --git a/lang/python/python-pkgconfig/Makefile b/lang/python/python-pkgconfig/Makefile new file mode 100644 index 0000000000..d20210363d --- /dev/null +++ b/lang/python/python-pkgconfig/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-pkgconfig +PKG_VERSION:=1.5.5 +PKG_RELEASE:=1 + +PYPI_NAME:=pkgconfig +PKG_HASH:=deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899 + +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-poetry-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-pkgconfig + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Interface Python with pkg-config + URL:=https://github.com/matze/pkgconfig + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-pkgconfig/description +pkgconfig is a Python module to interface with the pkg-config command +line tool for Python 3.3+. +endef + +$(eval $(call Py3Package,python3-pkgconfig)) +$(eval $(call BuildPackage,python3-pkgconfig)) +$(eval $(call BuildPackage,python3-pkgconfig-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-pycrate/Makefile b/lang/python/python-pycrate/Makefile index c9ae8d95e1..5717cf74f2 100644 --- a/lang/python/python-pycrate/Makefile +++ b/lang/python/python-pycrate/Makefile @@ -4,16 +4,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pycrate -PKG_VERSION:=0.5.5 +PKG_VERSION:=0.6.0 PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/P1sec/pycrate/archive/refs/tags/$(PKG_VERSION).tar.gz? -PKG_HASH:=73072234359cdc11d7c6790c367d5565fdaea284a07df882b8b5295f2a4f83d1 +PYPI_NAME:=pycrate +PKG_HASH:=b49738c02a3f93ba9f76c0dac82b689a5341882814b36c714e9600e9f560daf7 -PKG_BUILD_DIR:=$(BUILD_DIR)/pycrate-$(PKG_VERSION) - -PKG_LICENSE:=LGPL-2.1 +PKG_LICENSE:=LGPL-2.1-or-later +PKG_LICENSE_FILES:=license.txt PKG_MAINTAINER:=David Bauer include ../pypi.mk @@ -21,10 +19,10 @@ include $(INCLUDE_DIR)/package.mk include ../python3-package.mk define Package/python3-pycrate - SECTION:=lang-python + SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=python3-pycrate + TITLE:=A software suite to handle various data formats URL:=https://github.com/P1sec/pycrate DEPENDS:=+python3-light endef diff --git a/lang/python/python-pynacl/Makefile b/lang/python/python-pynacl/Makefile index d3469cc43d..72d8debcb5 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:=2 +PKG_RELEASE:=3 PYPI_NAME:=PyNaCl PKG_HASH:=8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba @@ -13,7 +13,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.4.1 -PYTHON3_PKG_SETUP_VARS:= SODIUM_INSTALL=system +PYTHON3_PKG_BUILD_VARS:=SODIUM_INSTALL=system include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pytest-forked/Makefile b/lang/python/python-pytest-forked/Makefile index 55edae8f59..2b464337db 100644 --- a/lang/python/python-pytest-forked/Makefile +++ b/lang/python/python-pytest-forked/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest-forked -PKG_VERSION:=1.3.0 -PKG_RELEASE:=3 +PKG_VERSION:=1.6.0 +PKG_RELEASE:=1 PYPI_NAME:=pytest-forked -PKG_HASH:=6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca +PKG_HASH:=4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT diff --git a/lang/python/python-pytest/Makefile b/lang/python/python-pytest/Makefile index bbd8f8819b..dd978d248f 100644 --- a/lang/python/python-pytest/Makefile +++ b/lang/python/python-pytest/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest -PKG_VERSION:=6.2.3 -PKG_RELEASE:=2 +PKG_VERSION:=7.3.0 +PKG_RELEASE:=1 PYPI_NAME:=pytest -PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634 +PKG_HASH:=58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT @@ -32,14 +32,11 @@ define Package/python3-pytest URL:=https://docs.pytest.org/en/latest/ DEPENDS:= \ +python3 \ - +python3-more-itertools \ - +python3-py \ - +python3-attrs \ +python3-pluggy \ +python3-packaging \ - +python3-toml \ - +python3-iniconfig \ - @BROKEN + +python3-tomli \ + +python3-exceptiongroup \ + +python3-iniconfig endef define Package/python3-pytest/description diff --git a/lang/python/python-stem/Makefile b/lang/python/python-stem/Makefile index e1b486afed..03ef35633b 100644 --- a/lang/python/python-stem/Makefile +++ b/lang/python/python-stem/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-stem PKG_VERSION:=1.8.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=stem PKG_HASH:=81d43a7c668ba9d7bc1103b2e7a911e9d148294b373d27a59ae8da79ef7a3e2f @@ -11,8 +11,6 @@ PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=LGPL-3.0-only PKG_LICENSE_FILES:=LICENSE -PYTHON3_PKG_SETUP_ARGS:= - include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-twisted/Makefile b/lang/python/python-twisted/Makefile index 8c78b02845..1b54cb0c47 100644 --- a/lang/python/python-twisted/Makefile +++ b/lang/python/python-twisted/Makefile @@ -1,5 +1,6 @@ # -# Copyright (C) 2006-2011, 2015-2018 OpenWrt.org +# Copyright (C) 2006-2011 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. @@ -8,11 +9,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-twisted -PKG_VERSION:=22.4.0 +PKG_VERSION:=22.10.0 PKG_RELEASE:=1 PYPI_NAME:=Twisted -PKG_HASH:=a047990f57dfae1e0bd2b7df2526d4f16dcdc843774dc108b78c52f2a5f13680 +PKG_HASH:=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31 PKG_BUILD_DEPENDS:=libtirpc @@ -21,6 +22,8 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jeffery To PKG_CPE_ID:=cpe:/a:twistedmatrix:twisted +PKG_BUILD_DEPENDS:=python-incremental/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -39,9 +42,9 @@ define Package/python3-twisted +python3-bcrypt \ +python3-constantly \ +python3-cryptography \ + +python3-hyperlink \ +python3-idna \ +python3-incremental \ - +python3-hyperlink \ +python3-pkg-resources \ +python3-pyasn1 \ +python3-pyopenssl \ diff --git a/lang/python/python-twisted/patches/001-omit-tkconch.patch b/lang/python/python-twisted/patches/001-omit-tkconch.patch index 2a913ece9d..a1a37771b2 100644 --- a/lang/python/python-twisted/patches/001-omit-tkconch.patch +++ b/lang/python/python-twisted/patches/001-omit-tkconch.patch @@ -1,6 +1,6 @@ --- a/setup.cfg +++ b/setup.cfg -@@ -112,7 +112,6 @@ console_scripts = +@@ -115,7 +115,6 @@ console_scripts = conch = twisted.conch.scripts.conch:run mailmail = twisted.mail.scripts.mailmail:run pyhtmlizer = twisted.scripts.htmlizer:run diff --git a/lang/python/python-twisted/patches/002-omit-tests.patch b/lang/python/python-twisted/patches/002-omit-tests.patch index 08507c3909..3ec59fd484 100644 --- a/lang/python/python-twisted/patches/002-omit-tests.patch +++ b/lang/python/python-twisted/patches/002-omit-tests.patch @@ -1,6 +1,6 @@ --- a/setup.cfg +++ b/setup.cfg -@@ -104,6 +104,9 @@ mypy = +@@ -107,6 +107,9 @@ mypy = [options.packages.find] where = src @@ -10,7 +10,7 @@ [options.entry_points] console_scripts = -@@ -123,6 +126,7 @@ console_scripts = +@@ -126,6 +129,7 @@ console_scripts = *.pxi *.pyx build.bat diff --git a/lang/python/python-typing-extensions/Makefile b/lang/python/python-typing-extensions/Makefile index 5f511d54bb..5bf3273aec 100644 --- a/lang/python/python-typing-extensions/Makefile +++ b/lang/python/python-typing-extensions/Makefile @@ -8,18 +8,19 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-typing-extensions -PKG_VERSION:=3.10.0.0 +PKG_VERSION:=4.5.0 PKG_RELEASE:=1 PYPI_NAME:=typing-extensions PYPI_SOURCE_NAME:=typing_extensions -PKG_HASH:=50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342 +PKG_HASH:=5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb -PKG_MAINTAINER:=Jan Pavlinec +PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=PSF-2.0 PKG_LICENSE_FILES:=LICENSE -HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host +PKG_BUILD_DEPENDS:=python-flit-core/host +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-ubus/Makefile b/lang/python/python-ubus/Makefile index 161440a04f..0e96da20c8 100644 --- a/lang/python/python-ubus/Makefile +++ b/lang/python/python-ubus/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-ubus PKG_VERSION:=0.1.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=ubus PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a @@ -18,6 +18,8 @@ PKG_MAINTAINER:=Erik Larsson PKG_LICENSE:=LGPL-2.1-or-later PKG_LICENSE_FILES:=LICENSE +PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile index 4c2cbd7be4..1731b33fc0 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:=2 +PKG_RELEASE:=4 PYPI_NAME:=PyYAML PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 @@ -38,8 +38,7 @@ define Package/python3-yaml/description PyYAML is a YAML parser and emitter for the Python programming language. endef -PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml -PYTHON3_PKG_SETUP_ARGS:= +PYTHON3_PKG_BUILD_VARS:=PYYAML_FORCE_LIBYAML=1 $(eval $(call Py3Package,python3-yaml)) $(eval $(call BuildPackage,python3-yaml)) diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index 54f9bde1e1..b272c28ca1 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -98,12 +98,6 @@ HOST_PYTHON3_PIP_VARS:= \ 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 ; \ - fi -endef - # Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361 # $(1) => packages to install define HostPython3/PipInstall diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index f2336b8fcf..d5d4f8a0f8 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -56,18 +56,6 @@ define Python3/Run $(HOST_PYTHON3_BIN) $(2) endef -# $(1) => build subdir -# $(2) => additional arguments to setup.py -# $(3) => additional variables -define Python3/ModSetup - $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR) - $(call SetupPyShim,$(PKG_BUILD_DIR)/$(strip $(1))) - $(call Python3/Run, \ - $(PKG_BUILD_DIR)/$(strip $(1)), \ - setup.py $(2), \ - $(3) PY_PKG_VERSION=$(PKG_VERSION)) -endef - define Python3/FixShebang $(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1) endef @@ -189,10 +177,26 @@ endef # Py3Build -PYTHON3_PKG_SETUP_DIR ?= -PYTHON3_PKG_SETUP_GLOBAL_ARGS ?= -PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed -PYTHON3_PKG_SETUP_VARS ?= +PYTHON3_PKG_BUILD?=1 +PYTHON3_PKG_FORCE_DISTUTILS_SETUP?= + +PYTHON3_PKG_SETUP_DIR?= +PYTHON3_PKG_SETUP_GLOBAL_ARGS?= +PYTHON3_PKG_SETUP_ARGS?=--single-version-externally-managed +PYTHON3_PKG_SETUP_VARS?= + +PYTHON3_PKG_BUILD_CONFIG_SETTINGS?= +PYTHON3_PKG_BUILD_VARS?=$(PYTHON3_PKG_SETUP_VARS) +PYTHON3_PKG_BUILD_ARGS?= +PYTHON3_PKG_BUILD_PATH?=$(PYTHON3_PKG_SETUP_DIR) + +PYTHON3_PKG_INSTALL_VARS?= + +PYTHON3_PKG_WHEEL_NAME?=$(subst -,_,$(if $(PYPI_SOURCE_NAME),$(PYPI_SOURCE_NAME),$(PKG_NAME))) +PYTHON3_PKG_WHEEL_VERSION?=$(PKG_VERSION) + +PYTHON3_PKG_BUILD_DIR?=$(PKG_BUILD_DIR)/$(PYTHON3_PKG_BUILD_PATH) + PYTHON3_PKG_HOST_PIP_INSTALL_ARGS = \ $(foreach req,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), \ @@ -224,21 +228,58 @@ define Py3Build/InstallBuildDepends ) endef -define Py3Build/Compile/Default +define Py3Build/Compile/Distutils $(call Py3Build/InstallBuildDepends) - $(call Python3/ModSetup, \ - $(PYTHON3_PKG_SETUP_DIR), \ - $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \ - install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \ - $(PYTHON3_PKG_SETUP_ARGS), \ + $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR) + $(call Python3/Run, \ + $(PKG_BUILD_DIR)/$(strip $(PYTHON3_PKG_SETUP_DIR)), \ + setup.py \ + $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \ + install \ + --prefix="/usr" \ + --root="$(PKG_INSTALL_DIR)" \ + $(PYTHON3_PKG_SETUP_ARGS) \ + , \ $(PYTHON3_PKG_SETUP_VARS) \ ) endef -Py3Build/Configure=$(Py3Build/Configure/Default) -Py3Build/Compile=$(Py3Build/Compile/Default) +define Py3Build/Compile/Default + $(call Py3Build/InstallBuildDepends) + $(call Python3/Run, \ + $(PKG_BUILD_DIR), \ + -m build \ + --no-isolation \ + --outdir "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build \ + --wheel \ + $(foreach setting,$(PYTHON3_PKG_BUILD_CONFIG_SETTINGS),--config-setting=$(setting)) \ + $(PYTHON3_PKG_BUILD_ARGS) \ + "$(PYTHON3_PKG_BUILD_DIR)" \ + , \ + $(PYTHON3_PKG_BUILD_VARS) \ + ) +endef -PYTHON3_PKG_BUILD ?= 1 +define Py3Build/Install/Default + $(call Python3/Run, \ + $(PKG_BUILD_DIR), \ + -m installer \ + --destdir "$(PKG_INSTALL_DIR)" \ + --no-compile-bytecode \ + --prefix /usr \ + "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build/$(PYTHON3_PKG_WHEEL_NAME)-$(PYTHON3_PKG_WHEEL_VERSION)-*.whl \ + , \ + $(PYTHON3_PKG_INSTALL_VARS) \ + ) +endef + +Py3Build/Compile=$(Py3Build/Compile/Default) +Py3Build/Install=$(Py3Build/Install/Default) + +ifeq ($(strip $(PYTHON3_PKG_FORCE_DISTUTILS_SETUP)),1) + Py3Build/Compile=$(Py3Build/Compile/Distutils) + Py3Build/Install:=: +endif ifeq ($(strip $(PYTHON3_PKG_BUILD)),1) ifeq ($(PY3),stdlib) @@ -246,4 +287,5 @@ ifeq ($(strip $(PYTHON3_PKG_BUILD)),1) endif Hooks/Configure/Post+=Py3Build/CheckHostPipVersionMatch Build/Compile=$(Py3Build/Compile) + Build/Install=$(Py3Build/Install) endif diff --git a/lang/python/python3-pyroute2/Makefile b/lang/python/python3-pyroute2/Makefile index 1f8cf55e65..e6edfd8470 100644 --- a/lang/python/python3-pyroute2/Makefile +++ b/lang/python/python3-pyroute2/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python3-pyroute2 PKG_VERSION:=0.5.16 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pyroute2 PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989 @@ -43,8 +43,6 @@ define Package/python3-pyroute2/description but now it supports many netlink protocols. endef -PYTHON3_PKG_SETUP_ARGS:= - $(eval $(call Py3Package,python3-pyroute2)) $(eval $(call BuildPackage,python3-pyroute2)) $(eval $(call BuildPackage,python3-pyroute2-src)) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 611e4c12d1..1fd8f43d1f 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk include ../python3-version.mk PKG_NAME:=python3 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz @@ -45,7 +45,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_python3-pkg-resources \ CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip -PKG_BUILD_DEPENDS:=bluez python3/host +PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host HOST_BUILD_DEPENDS:=bzip2/host libffi/host include $(INCLUDE_DIR)/host-build.mk diff --git a/lang/python/setup.py.shim b/lang/python/setup.py.shim deleted file mode 100644 index b309abc024..0000000000 --- a/lang/python/setup.py.shim +++ /dev/null @@ -1,6 +0,0 @@ -import os -import setuptools - -# FIXME: see about getting rid of PY_PKG_VERSION asap when setuptools handles this correctly -if __name__ == "__main__": - setuptools.setup(version=os.environ['PY_PKG_VERSION']) diff --git a/net/fail2ban/Makefile b/net/fail2ban/Makefile index 1d36a36d22..77568e9083 100644 --- a/net/fail2ban/Makefile +++ b/net/fail2ban/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=fail2ban PKG_VERSION:=0.11.2 -PKG_RELEASE:=7 +PKG_RELEASE:=8 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)? @@ -48,6 +48,11 @@ define Package/fail2ban/conffiles /etc/config/fail2ban endef +define Build/Compile + cd $(PKG_BUILD_DIR) && ./fail2ban-2to3 + $(call Py3Build/Compile) +endef + define Py3Package/fail2ban/filespec +|$(PYTHON3_PKG_DIR) -|$(PYTHON3_PKG_DIR)/fail2ban/tests @@ -77,11 +82,6 @@ define Py3Package/fail2ban/install $(INSTALL_BIN) ./files/fail2ban.defaults $(1)/etc/uci-defaults/99_fail2ban endef -define Py3Build/Compile - cd $(PKG_BUILD_DIR) && ./fail2ban-2to3 - $(call Py3Build/Compile/Default) -endef - $(eval $(call Py3Package,fail2ban)) $(eval $(call BuildPackage,fail2ban)) $(eval $(call BuildPackage,fail2ban-src)) diff --git a/net/nmap/Makefile b/net/nmap/Makefile index 7e097e13b6..b84b2ccd84 100644 --- a/net/nmap/Makefile +++ b/net/nmap/Makefile @@ -14,7 +14,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nmap PKG_VERSION:=7.93 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Nuno Gonçalves PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 @@ -27,6 +27,7 @@ PKG_CPE_ID:=cpe:/a:nmap:nmap PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 PYTHON3_PKG_BUILD:=0 +PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 include $(INCLUDE_DIR)/package.mk include ../../lang/python/python3-package.mk @@ -150,6 +151,11 @@ define Build/Compile $(call Py3Build/Compile) endef +define Build/Install + $(call Build/Install/Default,) + $(call Py3Build/Install) +endef + define Package/nmap/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/ diff --git a/net/onionshare-cli/Makefile b/net/onionshare-cli/Makefile index 9acbec99fc..42afb80fd1 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:=2 +PKG_RELEASE:=3 PYPI_NAME:=onionshare-cli PYPI_SOURCE_NAME:=onionshare_cli @@ -21,6 +21,8 @@ PKG_LICENSE_FILES:=LICENSE PKG_BUILD_DEPENDS:=python-setuptools-scm/host +PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 + include ../../lang/python/pypi.mk include $(INCLUDE_DIR)/package.mk include ../../lang/python/python3-package.mk diff --git a/utils/i2c-tools/Makefile b/utils/i2c-tools/Makefile index 8b1563c2ef..cdae0d4eb2 100644 --- a/utils/i2c-tools/Makefile +++ b/utils/i2c-tools/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=i2c-tools PKG_VERSION:=4.3 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/utils/i2c-tools @@ -67,8 +67,9 @@ define Package/python3-smbus/description This package contain the Python3 bindings for Linux SMBus access through i2c-dev. endef -PYTHON3_PKG_SETUP_ARGS:= -PYTHON3_PKG_SETUP_DIR:=py-smbus +PYTHON3_PKG_BUILD_PATH:=py-smbus +PYTHON3_PKG_WHEEL_NAME:=smbus +PYTHON3_PKG_WHEEL_VERSION:=1.1 define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ @@ -86,6 +87,10 @@ define Build/InstallDev $(CP) $(PKG_BUILD_DIR)/lib/libi2c.{a,so*} $(1)/usr/lib/ endef +define Build/Install + $(call Py3Build/Install) +endef + define Package/libi2c/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/lib/libi2c.so* $(1)/usr/lib/ diff --git a/utils/xxhash/Makefile b/utils/xxhash/Makefile index 04924b750f..ff29be1de8 100644 --- a/utils/xxhash/Makefile +++ b/utils/xxhash/Makefile @@ -12,7 +12,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xxhash PKG_VERSION:=0.8.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Cyan4973/xxHash/archive/v$(PKG_VERSION) @@ -24,8 +24,12 @@ PKG_LICENSE:=BSD-2-Clause,GPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE,cli/COPYING PKG_MAINTAINER:=Julien Malik +PKG_INSTALL:=1 + include $(INCLUDE_DIR)/package.mk +PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)" + define Package/xxhash/Default TITLE:=Extremely fast hash algorithm URL:=https://cyan4973.github.io/xxHash/ @@ -64,29 +68,25 @@ define Package/xxhash/description This package contains the executables. endef -define Build/Prepare - rm -rf $(PKG_BUILD_DIR)/ - mkdir -p $(PKG_BUILD_DIR)/ - $(TAR) -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip 1 -endef +MAKE_FLAGS += PREFIX=/usr define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libxxhash.so* $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.{a,so*} $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig - $(CP) $(PKG_BUILD_DIR)/libxxhash.pc.in $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxxhash.pc $(1)/usr/lib/pkgconfig/ endef define Package/libxxhash/install $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_BUILD_DIR)/libxxhash.so.* $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.so.* $(1)/usr/lib/ endef define Package/xxhash/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/xxh*sum $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xxh*sum $(1)/usr/bin/ endef $(eval $(call BuildPackage,libxxhash))