mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 17:04:32 +04:00
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:
committed by
Alexandru Ardelean
parent
ef509da52b
commit
f4395c5d31
@@ -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
|
||||
|
||||
@@ -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',
|
||||
+)
|
||||
@@ -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"]
|
||||
Reference in New Issue
Block a user