diff --git a/.gitignore b/.gitignore index 5a7db9d..3b31a6b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /release_v2.10.tar.gz /release_v2.14.tar.gz /release_v2.19.tar.gz +/release_v2.20.tar.gz diff --git a/pycparser-2.10-ply.patch b/pycparser-2.10-ply.patch deleted file mode 100644 index d1e1f53..0000000 --- a/pycparser-2.10-ply.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up pycparser-release_v2.10/pycparser/c_lexer.py.ply pycparser-release_v2.10/pycparser/c_lexer.py ---- pycparser-release_v2.10/pycparser/c_lexer.py.ply 2013-08-03 07:15:32.000000000 -0600 -+++ pycparser-release_v2.10/pycparser/c_lexer.py 2014-08-20 12:40:48.308461164 -0600 -@@ -9,8 +9,8 @@ - import re - import sys - --from .ply import lex --from .ply.lex import TOKEN -+from ply import lex -+from ply.lex import TOKEN - - - class CLexer(object): -diff -up pycparser-release_v2.10/pycparser/c_parser.py.ply pycparser-release_v2.10/pycparser/c_parser.py ---- pycparser-release_v2.10/pycparser/c_parser.py.ply 2013-08-03 07:15:32.000000000 -0600 -+++ pycparser-release_v2.10/pycparser/c_parser.py 2014-08-20 12:40:05.154894980 -0600 -@@ -8,7 +8,7 @@ - #------------------------------------------------------------------------------ - import re - --from .ply import yacc -+from ply import yacc - - from . import c_ast - from .c_lexer import CLexer -diff -up pycparser-release_v2.10/setup.py.ply pycparser-release_v2.10/setup.py ---- pycparser-release_v2.10/setup.py.ply 2013-08-03 07:15:32.000000000 -0600 -+++ pycparser-release_v2.10/setup.py 2014-08-20 12:40:05.154894980 -0600 -@@ -22,7 +22,7 @@ setup( - classifiers = [ - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 3',], -- packages=['pycparser', 'pycparser.ply'], -+ packages=['pycparser'], - package_data={'pycparser': ['*.cfg']}, - ) - diff --git a/pycparser-unbundle-ply.patch b/pycparser-unbundle-ply.patch new file mode 100644 index 0000000..0f0cd6b --- /dev/null +++ b/pycparser-unbundle-ply.patch @@ -0,0 +1,51 @@ +diff --git a/pycparser/c_lexer.py b/pycparser/c_lexer.py +index 045d24e..9b3cbf2 100644 +--- a/pycparser/c_lexer.py ++++ b/pycparser/c_lexer.py +@@ -9,8 +9,8 @@ + import re + import sys + +-from .ply import lex +-from .ply.lex import TOKEN ++from ply import lex ++from ply.lex import TOKEN + + + class CLexer(object): +diff --git a/pycparser/c_parser.py b/pycparser/c_parser.py +index 744ede8..50156a3 100644 +--- a/pycparser/c_parser.py ++++ b/pycparser/c_parser.py +@@ -8,7 +8,7 @@ + #------------------------------------------------------------------------------ + import re + +-from .ply import yacc ++from ply import yacc + + from . import c_ast + from .c_lexer import CLexer +diff --git a/setup.py b/setup.py +index 6dce89c..b3dbfb4 100644 +--- a/setup.py ++++ b/setup.py +@@ -8,6 +8,8 @@ except ImportError: + from distutils.command.install import install as _install + from distutils.command.sdist import sdist as _sdist + ++import ply ++ + + def _run_build_tables(dir): + from subprocess import check_call +@@ -60,7 +62,8 @@ setup( + 'Programming Language :: Python :: 3.6', + ], + python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", +- packages=['pycparser', 'pycparser.ply'], ++ packages=['pycparser'], ++ install_requires=['ply==' + ply.__version__], + package_data={'pycparser': ['*.cfg']}, + cmdclass={'install': install, 'sdist': sdist}, + ) diff --git a/python-pycparser.spec b/python-pycparser.spec index 7431836..32c315d 100644 --- a/python-pycparser.spec +++ b/python-pycparser.spec @@ -1,27 +1,25 @@ -# Ensure that pycparser uses the same YACC __tabversion__ as python-ply -# package to prevent "yacc table file version is out of date" problem. -%define ply_version %(LC_ALL=C rpm -q --qf '%%{VERSION}' python3-ply | grep -Eo '^[^.]+\.[^.]+') - %bcond_without tests Name: python-pycparser Summary: C parser and AST generator written in Python -Version: 2.19 -Release: 3%{?dist} +Version: 2.20 +Release: 1%{?dist} License: BSD URL: http://github.com/eliben/pycparser -Source0: http://github.com/eliben/pycparser/archive/release_v%{version}.tar.gz +Source0: %{url}/archive/release_v%{version}.tar.gz Source1: pycparser-0.91.1-remove-relative-sys-path.py -Patch100: pycparser-2.10-ply.patch # This is Fedora-specific; I don't think we should request upstream to # remove embedded libraries from their distribuution, when we can remove # them during packaging. +# It also ensures that pycparser uses the same YACC __tabversion__ as ply +# package to prevent "yacc table file version is out of date" problem. +Patch100: pycparser-unbundle-ply.patch BuildArch: noarch -BuildRequires: python3-devel python3-setuptools -BuildRequires: dos2unix +BuildRequires: python3-devel +BuildRequires: python3-setuptools BuildRequires: python3-ply # for unit tests @@ -35,8 +33,7 @@ It is a module designed to be easily integrated into applications that need to parse C source code. %package -n python3-pycparser -Summary: C parser and AST generator written in Python -Requires: python3-ply = %{ply_version} +Summary: %{summary} %{?python_provide:%python_provide python3-pycparser} %description -n python3-pycparser @@ -45,20 +42,18 @@ It is a module designed to be easily integrated into applications that need to parse C source code. %prep -%setup -q -n pycparser-release_v%{version} -%patch100 -p1 -F5 -b .ply +%autosetup -p1 -n pycparser-release_v%{version} # remove embedded copy of ply -rm -rf pycparser/ply +rm -r pycparser/ply -# examples -%{__python3} %{SOURCE1} examples -dos2unix LICENSE +# Remove relative sys.path from the examples +%{python3} %{SOURCE1} examples %build %py3_build pushd build/lib/pycparser -%{__python3} _build_tables.py +%{python3} _build_tables.py popd %install @@ -66,7 +61,7 @@ popd %check %if %{with tests} -%{__python3} tests/all_tests.py +%{python3} tests/all_tests.py %endif %files -n python3-pycparser @@ -76,6 +71,9 @@ popd %{python3_sitelib}/pycparser-*.egg-info/ %changelog +* Fri Jun 05 2020 Miro Hrončok - 2.20-1 +- Update to 2.20 (#1810349) + * Sat May 23 2020 Miro Hrončok - 2.19-3 - Rebuilt for Python 3.9 diff --git a/sources b/sources index 9e5ebdb..4789666 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (release_v2.19.tar.gz) = 88fe63c1a7a344c564dfd3b4f99735a4159c8a3f5738bab839943ea7fcbf1f5340f67326550b7e66508ea5862897e5bcdf363c2a8d47eccb50890573a2640a98 +SHA512 (release_v2.20.tar.gz) = d2dc48727750ec0a80d5e3b0c9fba390c3647416a3e18cad59429edb9f55d043c7695c52301b037c93af5d96ffc85fcba7cd54d376abdb89e973759c59fa189d