diff --git a/.gitignore b/.gitignore index fd4950b..5ad9ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1 @@ -/release_v2.09.1.tar.gz -/release_v2.10.tar.gz -/release_v2.14.tar.gz -/release_v2.19.tar.gz -/release_v2.20.tar.gz -/release_v2.22.tar.gz +/pycparser-*.tar.gz diff --git a/8c219ec6.patch b/8c219ec6.patch new file mode 100644 index 0000000..c4d7fb5 --- /dev/null +++ b/8c219ec6.patch @@ -0,0 +1,23 @@ +From 8c219ec62ea3bf835c473954f30ea9b1202069eb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Mon, 23 Mar 2026 14:18:23 +0100 +Subject: [PATCH] Drop an unneeded direct build depndency on wheel (#597) + +- wheel is not needed to build sdists + - with setuptools 71+, wheel is not needed to build wheels either + - older setuptools would communicate the dependency on wheel themselves +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 5b9d7d38..9bc8da7f 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -1,5 +1,5 @@ + [build-system] +-requires = ["setuptools>=69", "wheel"] ++requires = ["setuptools>=69"] + build-backend = "setuptools.build_meta" + + [project] diff --git a/pycparser-0.91.1-remove-relative-sys-path.py b/pycparser-3.00-remove-relative-sys-path.py similarity index 95% rename from pycparser-0.91.1-remove-relative-sys-path.py rename to pycparser-3.00-remove-relative-sys-path.py index 20fcb06..090b517 100644 --- a/pycparser-0.91.1-remove-relative-sys-path.py +++ b/pycparser-3.00-remove-relative-sys-path.py @@ -13,7 +13,7 @@ sys.path.extend(['.', '..']) import sys import os -boiler_plate = "sys.path.extend(['.', '..'])\n" +boiler_plate = 'sys.path.extend([".", ".."])\n' d = sys.argv[1] for (root, dirs, files) in os.walk(d): for i in files: diff --git a/python-pycparser.spec b/python-pycparser.spec index 38973f3..d4fde03 100644 --- a/python-pycparser.spec +++ b/python-pycparser.spec @@ -2,16 +2,17 @@ Name: python-pycparser Summary: C parser and AST generator written in Python -Version: 2.22 +Version: 3.00 Release: %autorelease - -# pycparser: BSD-3-Clause -# bundled ply: BSD-3-Clause License: BSD-3-Clause -URL: http://github.com/eliben/pycparser -Source0: %{url}/archive/release_v%{version}.tar.gz -Source1: pycparser-0.91.1-remove-relative-sys-path.py +URL: https://github.com/eliben/pycparser +Source0: %{url}/archive/release_v%{version}/pycparser-release_v%{version}.tar.gz +Source1: pycparser-3.00-remove-relative-sys-path.py + +# Drop redundant BuildRequires for python3-wheel +# https://github.com/fedora-eln/eln/issues/284 +Patch: https://github.com/eliben/pycparser/commit/8c219ec6.patch BuildArch: noarch @@ -30,12 +31,6 @@ need to parse C source code. %package -n python3-pycparser Summary: %{summary} -# pycaparser bundles ply, -# which is the preferred upstream for both upstreams. -# See https://github.com/eliben/pycparser/pull/589 -%global ply_version 3.9 -Provides: bundled(python3dist(ply)) = %{ply_version} - %description -n python3-pycparser pycparser is a complete parser for the C language, written in pure Python. It is a module designed to be easily integrated into applications that @@ -52,7 +47,7 @@ need to parse C source code. %build pushd pycparser -%{python3} _build_tables.py +%{python3} _ast_gen.py popd %pyproject_wheel @@ -66,9 +61,9 @@ export %{py3_test_envvars} %if %{with tests} %{python3} -m unittest discover %endif -%{python3} -c 'import pycparser; assert pycparser.ply.__version__ == "%{ply_version}"' %files -n python3-pycparser -f %{pyproject_files} +%doc README.rst %doc examples %changelog diff --git a/sources b/sources index 14d685c..35ce47f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (release_v2.22.tar.gz) = 1c5be2b83c0a892cafa55a2595942d7048994772dc0fc71d2943004b4198d939c0bf2a164d763d94fe11d532e49371c59c1cf4037c32dab8d3cf0c553a8de64a +SHA512 (pycparser-release_v3.00.tar.gz) = e3b877aebedd49616f2144812e385de973add7bf358cf908fecd210149e9c2da563ffd27b09e915ebbf0f159fec83de76c7f7c27d0baa1282f75c50beb666590