Compare commits

..

No commits in common. "rawhide" and "el6" have entirely different histories.

8 changed files with 134 additions and 263 deletions

5
.gitignore vendored
View file

@ -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

163
changelog
View file

@ -1,163 +0,0 @@
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Aug 22 2023 Rob Crittenden <rcritten@redhat.com> - 2.20-12
- migrated to SPDX license
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.20-10
- Rebuilt for Python 3.12
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 2.20-7
- Rebuilt for Python 3.11
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jul 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 02 2021 Python Maint <python-maint@redhat.com> - 2.20-4
- Rebuilt for Python 3.10
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 05 2020 Miro Hrončok <mhroncok@redhat.com> - 2.20-1
- Update to 2.20 (#1810349)
* Sat May 23 2020 Miro Hrončok <mhroncok@redhat.com> - 2.19-3
- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.19-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Nov 08 2019 Lumír Balhar <lbalhar@redhat.com> - 2.19-1
- New usptream version 2.19
* Sun Oct 20 2019 Miro Hrončok <mhroncok@redhat.com> - 2.14-23
- Subpackage python2-ply has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 2.14-22
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Thu Aug 15 2019 Miro Hrončok <mhroncok@redhat.com> - 2.14-21
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 10 2019 Marcel Plch <mplch@redhat.com> - 2.14-19
- Avoid invalid unicode escape sequences in Py3.8
* Tue Feb 26 2019 Christian Heimes <cheimes@redhat.com> - 2.14-18
- Add build dependency on cpp for unit tests
- Add dependency on python-ply version to prevent "yacc table file version is out of date"
- Fixes RHBZ#1668230
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 15 2018 Miro Hrončok <mhroncok@redhat.com> - 2.14-15
- Rebuilt for Python 3.7
* Mon Feb 12 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.14-14
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Sep 27 2017 Troy Dawson <tdawson@redhat.com> - 2.14-12
- Cleanup spec file conditionals
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 6 2017 Orion Poplawski <orion@cora.nwra.com> - 2.14-9
- Ship python2-pycparser
- Modernize spec
* Fri Dec 09 2016 Charalampos Stratakis <cstratak@redhat.com> - 2.14-8
- Rebuild for Python 3.6
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.14-7
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Fri Jul 8 2016 Tom Callaway <spot@fedoraproject.org> - 2.14-6
- rebuild to update yacctab.py
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.14-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Oct 13 2015 Robert Kuska <rkuska@redhat.com> - 2.14-4
- Rebuilt for Python3.5 rebuild
* Tue Jul 14 2015 Stephen Gallagher <sgallagh@redhat.com> - 2.14-3
- Rebuild alongside python-ply 3.6
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Jun 09 2015 Nathaniel McCallum <npmccallum@redhat.com> - 2.14-1
- Update to 2.14
* Wed Aug 20 2014 Eric Smith <brouhaha@fedoraproject.org> 2.10-1
- Update to latest upstream.
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.09.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon May 12 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 2.09.1-8
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.09.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 23 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-6
- Added Python 3 support.
* Mon Jul 22 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-5
- Renumbered Fedora-specific Patch1 to Patch100
- Added new Patch1 to fix table generation when the build system
already has a python-pycparser package installed.
- Submitted Patch0 and Patch1 as upstream issues.
- Added comments about patches.
* Sun Jul 21 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-4
- Upstream repository is now on github.
- Fix rpmlint strange-permission complaint.
- Rename patches, Source1 to all start with pycparser-{version}, to
simplify updating patches for future upstream releases.
* Sun Jul 21 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-3
- Run _build_tables.py to build the lextab.py and yacctab.py; otherwise
they have to be regenerated at runtime for no benefit.
* Tue Mar 19 2013 Jos de Kloe <josdekloe@gmail.com> 2.09.1-2
- remove the embedded ply code
* Fri Jan 18 2013 Scott Tsai <scottt.tw@gmail.com> 2.09.1-1
- upstream 2.09.1

View file

@ -0,0 +1,38 @@
diff -Naur eliben-pycparser-82ace14bb612/pycparser/c_lexer.py eliben-pycparser-82ace14bb612.modified/pycparser/c_lexer.py
--- eliben-pycparser-82ace14bb612/pycparser/c_lexer.py 2012-12-29 14:22:23.000000000 +0100
+++ eliben-pycparser-82ace14bb612.modified/pycparser/c_lexer.py 2013-03-19 23:15:05.074797841 +0100
@@ -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 -Naur eliben-pycparser-82ace14bb612/pycparser/c_parser.py eliben-pycparser-82ace14bb612.modified/pycparser/c_parser.py
--- eliben-pycparser-82ace14bb612/pycparser/c_parser.py 2012-12-29 14:22:23.000000000 +0100
+++ eliben-pycparser-82ace14bb612.modified/pycparser/c_parser.py 2013-03-19 23:15:20.338751658 +0100
@@ -8,7 +8,7 @@
#------------------------------------------------------------------------------
import re
-from .ply import yacc
+from ply import yacc
from . import c_ast
from .c_lexer import CLexer
diff -Naur eliben-pycparser-82ace14bb612/setup.py eliben-pycparser-82ace14bb612.modified/setup.py
--- eliben-pycparser-82ace14bb612/setup.py 2012-12-29 14:22:23.000000000 +0100
+++ eliben-pycparser-82ace14bb612.modified/setup.py 2013-03-19 23:14:48.861850227 +0100
@@ -22,7 +22,7 @@
classifiers = [
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 3',],
- packages=['pycparser', 'pycparser.ply'],
+ packages=['pycparser'],
package_data={'pycparser': ['*.cfg']},
)

View file

@ -0,0 +1,12 @@
diff -up pycparser-release_v2.09.1/pycparser/_build_tables.py.tables-sys-path pycparser-release_v2.09.1/pycparser/_build_tables.py
--- pycparser-release_v2.09.1/pycparser/_build_tables.py.tables-sys-path 2013-07-22 13:17:44.950531002 -0600
+++ pycparser-release_v2.09.1/pycparser/_build_tables.py 2013-07-22 13:18:29.188526142 -0600
@@ -17,7 +17,7 @@ ast_gen = ASTCodeGenerator('_c_ast.cfg')
ast_gen.generate(open('c_ast.py', 'w'))
import sys
-sys.path.extend(['.', '..'])
+sys.path[0:0] = ['.', '..']
from pycparser import c_parser
# Generates the tables

View file

@ -0,0 +1,24 @@
# HG changeset patch
# User Scott Tsai <scottt.tw@gmail.com>
# Date 1358446261 -28800
# Node ID 12aa73c5da595a08f587c14a74e84bf72f0bf7a0
# Parent a46039840b0ed8466bebcddae9d4f1df60d3bc98
tests/all_tests.py: add local paths to the front of sys.path
While doing pycparser development on a machine that already has an
older version of pycparser installed, we want unit tests to run against
the local copy instead of the system wide copy of pycparser.
This patch adds '.' and '..' to the front of sys.path instead of the back.
diff --git a/tests/all_tests.py b/tests/all_tests.py
--- a/tests/all_tests.py
+++ b/tests/all_tests.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
import sys
-sys.path.extend(['.', '..'])
+sys.path[0:0] = ['.', '..']
import unittest

View file

@ -1,51 +0,0 @@
diff --git a/pycparser/c_lexer.py b/pycparser/c_lexer.py
index 22c64bc..a97c5d1 100644
--- a/pycparser/c_lexer.py
+++ b/pycparser/c_lexer.py
@@ -8,8 +8,8 @@
#------------------------------------------------------------------------------
import re
-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 d31574a..5fc3544 100644
--- a/pycparser/c_parser.py
+++ b/pycparser/c_parser.py
@@ -6,7 +6,7 @@
# Eli Bendersky [https://eli.thegreenplace.net/]
# License: BSD
#------------------------------------------------------------------------------
-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 f7e89bf..f78f559 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.12',
],
python_requires=">=3.8",
- packages=['pycparser', 'pycparser.ply'],
+ packages=['pycparser'],
+ install_requires=['ply==' + ply.__version__],
package_data={'pycparser': ['*.cfg']},
cmdclass={'install': install, 'sdist': sdist},
)

View file

@ -1,74 +1,90 @@
%bcond_without tests
Name: python-pycparser
Version: 2.09.1
Release: 5%{?dist}
Summary: C parser and AST generator written in Python
Version: 2.22
Release: %autorelease
License: BSD-3-Clause
License: BSD
URL: http://github.com/eliben/pycparser
Source0: %{url}/archive/release_v%{version}.tar.gz
Source0: http://github.com/eliben/pycparser/archive/release_v%{version}.tar.gz
Source1: pycparser-0.91.1-remove-relative-sys-path.py
Patch0: pycparser-0.91.1-unittests-sys-path.patch
# Submitted as upstream issue #11:
# https://github.com/eliben/pycparser/issues/11
Patch1: pycparser-0.91.1-tables-sys-path.patch
# Submitted as upstream issue #12:
# https://github.com/eliben/pycparser/issues/12
Patch100: pycparser-0.91.1-disable-embedded-ply.patch
# This is Fedora-specific; I don't think we should request upstream to
# remove embedded libraries from their distribution, when we can remove
# 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
BuildRequires: python3-ply
BuildRequires: python2-devel
# for unit tests
%if %{with tests}
BuildRequires: gcc
%endif
BuildRequires: python-ply
BuildRequires: dos2unix
Requires: python-ply
%description
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
need to parse C source code.
%package -n python3-pycparser
Summary: %{summary}
%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
need to parse C source code.
%prep
%autosetup -p1 -n pycparser-release_v%{version}
%setup -q -n pycparser-release_v%{version}
%patch0 -p1 -b .unittests-sys-path
%patch1 -p1 -b .tables-sys-path
%patch100 -p1 -b .orig
# remove embedded copy of ply
rm -r pycparser/ply
rm -rf pycparser/ply
# Remove relative sys.path from the examples
%{python3} %{SOURCE1} examples
%generate_buildrequires
%pyproject_buildrequires
# examples
%{__python} %{SOURCE1} examples
dos2unix LICENSE
%build
pushd pycparser
%{python3} _build_tables.py
popd
%pyproject_wheel
%{__python} setup.py build
cd build/lib/pycparser
%{__python} _build_tables.py
%install
%pyproject_install
%pyproject_save_files -l pycparser
%{__python} setup.py install --skip-build --root %{buildroot}
%check
%pyproject_check_import
%if %{with tests}
%py3_test_envvars %{python3} -m unittest discover
%endif
%{__python} tests/all_tests.py
%files -n python3-pycparser -f %{pyproject_files}
%doc examples
%files
%doc examples LICENSE
%{python_sitelib}/pycparser/
%{python_sitelib}/pycparser-*.egg-info
%changelog
%autochangelog
* Mon Jul 22 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-5
- Renumbered Fedora-specific Patch1 to Patch100
- Added new Patch1 to fix table generation when the build system
already has a python-pycparser package installed.
- Submitted Patch0 and Patch1 as upstream issues.
- Added comments about patches.
* Sun Jul 21 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-4
- Upstream repository is now on github.
- Fix rpmlint strange-permission complaint.
- Rename patches, Source1 to all start with pycparser-{version}, to
simplify updating patches for future upstream releases.
* Sun Jul 21 2013 Eric Smith <brouhaha@fedoraproject.org> 2.09.1-3
- Run _build_tables.py to build the lextab.py and yacctab.py; otherwise
they have to be regenerated at runtime for no benefit.
* Tue Mar 19 2013 Jos de Kloe <josdekloe@gmail.com> 2.09.1-2
- remove the embedded ply code
* Fri Jan 18 2013 Scott Tsai <scottt.tw@gmail.com> 2.09.1-1
- upstream 2.09.1

View file

@ -1 +1 @@
SHA512 (release_v2.22.tar.gz) = 1c5be2b83c0a892cafa55a2595942d7048994772dc0fc71d2943004b4198d939c0bf2a164d763d94fe11d532e49371c59c1cf4037c32dab8d3cf0c553a8de64a
b6a3be32513fd0d5d9acce2619abdf98 release_v2.09.1.tar.gz