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 <pepe.schlehofer@gmail.com>
This commit is contained in:
Josef Schlehofer
2025-10-21 23:42:45 +02:00
committed by Alexandru Ardelean
parent ef509da52b
commit f4395c5d31
3 changed files with 1 additions and 139 deletions

View File

@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=python-uci PKG_NAME:=python-uci
PKG_VERSION:=0.10.3 PKG_VERSION:=0.10.3
PKG_RELEASE:=1 PKG_RELEASE:=2
PYPI_NAME:=pyuci PYPI_NAME:=pyuci
PKG_HASH:=3b0f72ea81ed7a7999b2eb73f57a93019c0d359efaa9efb44fdf377fa09c1da6 PKG_HASH:=3b0f72ea81ed7a7999b2eb73f57a93019c0d359efaa9efb44fdf377fa09c1da6

View File

@@ -1,75 +0,0 @@
From 24dd211a0a99e95e79f5a6b2054e60dae878410d Mon Sep 17 00:00:00 2001
From: Josef Schlehofer <pepe.schlehofer@gmail.com>
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',
+)

View File

@@ -1,63 +0,0 @@
From a480a4223639766f4f0625434a28204b014fd882 Mon Sep 17 00:00:00 2001
From: Josef Schlehofer <pepe.schlehofer@gmail.com>
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 <pepe.schlehofer@gmail.com>
---
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"]