From 29f08359a866906f76414c06c300569e45c07f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 19 Mar 2026 10:47:33 +0100 Subject: [PATCH 1/4] Update to 3.00 - Removes bundled ply - Fixes: rhbz#2431664 --- .gitignore | 7 +------ ...pycparser-3.00-remove-relative-sys-path.py | 2 +- python-pycparser.spec | 21 ++++++------------- sources | 2 +- 4 files changed, 9 insertions(+), 23 deletions(-) rename pycparser-0.91.1-remove-relative-sys-path.py => pycparser-3.00-remove-relative-sys-path.py (95%) 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/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..f488e60 100644 --- a/python-pycparser.spec +++ b/python-pycparser.spec @@ -2,16 +2,13 @@ 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 BuildArch: noarch @@ -30,12 +27,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 +43,7 @@ need to parse C source code. %build pushd pycparser -%{python3} _build_tables.py +%{python3} _ast_gen.py popd %pyproject_wheel @@ -66,9 +57,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 From e0178728d3a89fd8a541c39b88a0c9a7fe50e51c Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 3 Jun 2026 22:48:29 +0200 Subject: [PATCH 2/4] Rebuilt for Python 3.15 From c365c4ab17fd8880990aaab9917a173d812d38b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 29 Jun 2026 13:52:34 +0200 Subject: [PATCH 3/4] Drop redundant BuildRequires for python3-wheel --- 8c219ec6.patch | 23 +++++++++++++++++++++++ python-pycparser.spec | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 8c219ec6.patch 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/python-pycparser.spec b/python-pycparser.spec index f488e60..d4fde03 100644 --- a/python-pycparser.spec +++ b/python-pycparser.spec @@ -10,6 +10,10 @@ 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 BuildRequires: python3-devel From 549dfe743b7f9933aa27879ec85ac1fbf1e11dee Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jul 2026 21:00:42 +0000 Subject: [PATCH 4/4] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild