From f4395c5d3128e5982b5cf192c0e841a3cda28221 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Tue, 21 Oct 2025 23:42:45 +0200 Subject: [PATCH] python-uci: drop patches due to newer setuptools These patches were required with older setuptools version, but in Python 3.11.4 is bundled setuptools updated, thus we can remove these patches. Signed-off-by: Josef Schlehofer --- lang/python/python-uci/Makefile | 2 +- ...py-removed-and-testing-updates-in-CI.patch | 75 ------------------- ....toml-remove-it-in-favor-of-setup.py.patch | 63 ---------------- 3 files changed, 1 insertion(+), 139 deletions(-) delete mode 100644 lang/python/python-uci/patches/0001-Revert-CI-setup.py-removed-and-testing-updates-in-CI.patch delete mode 100644 lang/python/python-uci/patches/0001-pyproject.toml-remove-it-in-favor-of-setup.py.patch diff --git a/lang/python/python-uci/Makefile b/lang/python/python-uci/Makefile index 4476281055..0a539e3237 100644 --- a/lang/python/python-uci/Makefile +++ b/lang/python/python-uci/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-uci PKG_VERSION:=0.10.3 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pyuci PKG_HASH:=3b0f72ea81ed7a7999b2eb73f57a93019c0d359efaa9efb44fdf377fa09c1da6 diff --git a/lang/python/python-uci/patches/0001-Revert-CI-setup.py-removed-and-testing-updates-in-CI.patch b/lang/python/python-uci/patches/0001-Revert-CI-setup.py-removed-and-testing-updates-in-CI.patch deleted file mode 100644 index de7ff24a86..0000000000 --- a/lang/python/python-uci/patches/0001-Revert-CI-setup.py-removed-and-testing-updates-in-CI.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 24dd211a0a99e95e79f5a6b2054e60dae878410d Mon Sep 17 00:00:00 2001 -From: Josef Schlehofer -Date: Tue, 15 Jul 2025 10:18:19 +0200 -Subject: [PATCH] Revert "CI: setup.py removed and testing updates in CI" - -This commit adds setup.py back to be compatible with OpenWrt. -OpenWrt ships Python 3.11 and that version is using bundled -setuptools and pip. These versions for py-uci are kinda outdated, -because in the latest release Stepan is using ext-modules -via pyproject.toml, which is experimental [1] and thus this -is not present in Python 3.11. - -Newer Python versions such as 3.12 and 3.13 are not shipping -bunled setuptools anymore. This needs to be reworked to -be working with OpenWrt build system. - -How it is implemented right now, Python packages -can be compiled with pyproject.toml with OpenWrt. See this PR [2], -but as said earlier newest features from setuptools are missing. - -[1] https://setuptools.pypa.io/en/stable/history.html#v74-1-0 -[2] https://github.com/openwrt/packages/pull/20801 - -This reverts commit 8a1e5c3218f16f46a25379dc2e9651fa74a7d349. ---- - setup.py | 43 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - create mode 100644 setup.py - ---- /dev/null -+++ b/setup.py -@@ -0,0 +1,43 @@ -+import os -+from setuptools import setup -+from setuptools.extension import Extension -+ -+ext_compile_args = None -+ext_link_args = None -+ -+if 'COVERAGE' in os.environ: -+ ext_compile_args = ["-fprofile-arcs", "-ftest-coverage"] -+ ext_link_args = ["-fprofile-arcs"] -+ -+ -+with open("README.md", "r") as fh: -+ long_description = fh.read() -+ -+ -+setup( -+ name='pyuci', -+ version='0.10.3', -+ author='CZ.NIC z.s.p.o', -+ author_email='karel.koci@nic.cz', -+ description='Python UCI bindings', -+ long_description=long_description, -+ long_description_content_type="text/markdown", -+ url="https://gitlab.nic.cz/turris/pyuci", -+ license="MIT", -+ -+ packages=['euci'], -+ ext_modules=[ -+ Extension("uci", ["ucimodule.c", "pyuci.c", "pyhelper.c"], -+ libraries=["uci"], language="c", -+ extra_compile_args=ext_compile_args, -+ extra_link_args=ext_link_args) -+ ], -+ -+ classifiers=[ -+ "Development Status :: 5 - Production/Stable", -+ "License :: OSI Approved :: MIT License", -+ "Operating System :: POSIX :: Linux", -+ "Programming Language :: Python :: 3", -+ ], -+ python_requires='>=3.7', -+) diff --git a/lang/python/python-uci/patches/0001-pyproject.toml-remove-it-in-favor-of-setup.py.patch b/lang/python/python-uci/patches/0001-pyproject.toml-remove-it-in-favor-of-setup.py.patch deleted file mode 100644 index 4fee997f0f..0000000000 --- a/lang/python/python-uci/patches/0001-pyproject.toml-remove-it-in-favor-of-setup.py.patch +++ /dev/null @@ -1,63 +0,0 @@ -From a480a4223639766f4f0625434a28204b014fd882 Mon Sep 17 00:00:00 2001 -From: Josef Schlehofer -Date: Tue, 15 Jul 2025 10:31:08 +0200 -Subject: [PATCH] pyproject.toml: remove it in favor of setup.py - -This patch is I would say kinda hacky. OpenWrt -can compile Python packages with pyproject.toml, -but this pyproject.toml requires the latest -setuptools, which is shipped separately these days. - -But Python 3.11, which is used in OpenWrt -is using bundled setuptools together with pip -and the version of setuptools does not support -ext-modules [1]. - -[1] https://github.com/pypa/setuptools/pull/4568 - -Signed-off-by: Josef Schlehofer ---- - pyproject.toml | 37 ------------------------------------- - 1 file changed, 37 deletions(-) - delete mode 100644 pyproject.toml - ---- a/pyproject.toml -+++ /dev/null -@@ -1,37 +0,0 @@ --[build-system] --requires = ["setuptools", "wheel"] --build-backend = "setuptools.build_meta" -- --[project] --name = "pyuci" --dynamic = [] --description = "Python UCI bindings" --readme = "README.md" --license = {file = "LICENSE"} --version = "0.10.3" --requires-python = ">=3.7" --authors = [ -- { name = "CZ.NIC z.s.p.o", email = "karel.koci@nic.cz" }, --] --classifiers = [ -- "Development Status :: 5 - Production/Stable", -- "License :: OSI Approved :: MIT License", -- "Operating System :: POSIX :: Linux", -- "Programming Language :: Python :: 3", --] -- --[project.urls] --Homepage = "https://gitlab.nic.cz/turris/pyuci" -- --[tool.setuptools] --packages = ["euci"] -- --[[tool.setuptools.ext-modules]] --name = "uci" --sources = ["ucimodule.c", "pyuci.c", "pyhelper.c"] --language = "c" --libraries = ["uci"] -- --# Uncomment to enable coverage measurement --#extra-compile-args = ["-fprofile-arcs", "-ftest-coverage"] --#extra-link-args = ["-fprofile-arcs"] -- 2.30.2