%global python3_pkgversion 3.14 %global modname ply %global commit 9d7c40099e23ff78f9d86ef69a26c1e8a83e706a %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global commitdate 20251221 %bcond_without tests Name: python%{python3_pkgversion}-%{modname} Summary: Python Lex-Yacc Version: 3.11^%{commitdate}git%{shortcommit} Release: 1%{?dist} License: BSD-3-Clause URL: http://www.dabeaz.com/ply/ Source0: https://github.com/dabeaz/ply/archive/%{commit}/%{modname}-%{shortcommit}.tar.gz BuildArch: noarch BuildRequires: python%{python3_pkgversion}-devel %description PLY is a straightforward lex/yacc implementation. Here is a list of its essential features: * It is implemented entirely in Python. * It uses LR-parsing which is reasonably efficient and well suited for larger grammars. * PLY provides most of the standard lex/yacc features including support for empty productions, precedence rules, error recovery, and support for ambiguous grammars. * PLY is straightforward to use and provides very extensive error checking. * PLY doesn't try to do anything more or less than provide the basic lex/yacc functionality. In other words, it's not a large parsing framework or a component of some larger system. %prep %autosetup -n %{modname}-%{commit} -p1 # Remove unnecessary wheel build dependency sed -i 's/, "wheel"//' pyproject.toml find example/ -type f -executable -exec chmod -x {} ';' find example/ -type f -name '*.py' -exec sed -i \ -e '1{\@^#!/usr/bin/env python@d}' -e '1{\@^#!/usr/local/bin/python@d}' \ {} ';' # extract license block from src/ply/lex.py sed -n '2,/^# ---/{ /^# ---/d; s/^# \?//p }' src/ply/lex.py > LICENSE %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l %{modname} %if %{with tests} %check export PYTHONPATH=$PWD/src pushd tests ./cleanup.sh %{__python3} testlex.py %{__python3} testyacc.py popd %endif %files -n python%{python3_pkgversion}-%{modname} -f %{pyproject_files} %doc CHANGES README.md %license LICENSE %changelog * Fri Jan 09 2026 Charalampos Stratakis - 3.11^20251221git9d7c400-1 - Update to the latest and last upstream commit - The project won't have any new releases - Use modern pyproject macros Related: RHEL-120807 * Thu Sep 04 2025 Tomáš Hrnčiar - 3.11-29 - Initial package Fedora contributions by: Dennis Gilmore Bill Nottingham Charalampos Stratakis Christian Heimes David Malcolm Ignacio Vazquez-Abrams Igor Gnatenko Jesse Keating Miro Hrončok Orion Poplawski Patrik Kopkan Rob Crittenden Robert Kuska Slavek Kabrda Stephen Gallagher Thomas Spura Tom Callaway Troy Dawson