Compare commits

...
Sign in to create a new pull request.

32 commits

Author SHA1 Message Date
Python Maint
6f3d2e3007 Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 14:04:01 +02:00
Python Maint
34c9453d0d Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 14:28:21 +02:00
Fedora Release Engineering
df3e77868a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 09:33:32 +00:00
Python Maint
f745d05edd Rebuilt for Python 3.14 2025-06-02 20:49:09 +02:00
Matthieu Saulnier
c93909460d Update to 2.22
- Fixes: rhbz#2020936

Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
2025-03-19 18:55:10 +01:00
Miro Hrončok
849fc51169 Convert to pyproject RPM macros
[skip changelog]
2025-03-19 18:47:36 +01:00
Fedora Release Engineering
7ad90ebb67 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 17:38:18 +00:00
Fedora Release Engineering
deaf34f909 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 14:23:37 +00:00
Python Maint
4b38e6263c Rebuilt for Python 3.13 2024-06-07 09:50:29 +02:00
Miro Hrončok
2ee397e71f Convert to %autorelease and %autochangelog
[skip changelog]
2024-01-29 15:39:00 +01:00
Fedora Release Engineering
34b6c1f4e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 08:26:26 +00:00
Fedora Release Engineering
a5b45a4086 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 05:26:52 +00:00
Tomáš Hrnčiar
a4b36b2441 Fix typo 2024-01-12 12:16:59 +01:00
Rob Crittenden
dd1d7427d9 migrated to SPDX license
I used the FF addon SPDX License Diff to help identify the variant
2023-08-22 13:29:10 -04:00
Fedora Release Engineering
3bbf1df6e8 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 12:38:03 +00:00
Python Maint
d9ec9c2d38 Rebuilt for Python 3.12 2023-06-13 21:36:58 +02:00
Fedora Release Engineering
8e619c259d Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 15:59:19 +00:00
Fedora Release Engineering
4ad5dc46de Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 21:09:53 +00:00
Python Maint
bb234880a3 Rebuilt for Python 3.11 2022-06-13 16:02:12 +02:00
Fedora Release Engineering
1723ac39b5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 14:26:58 +00:00
Fedora Release Engineering
e42f21961c - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-27 08:20:31 +00:00
Python Maint
9803c41abb Rebuilt for Python 3.10 2021-06-03 00:39:39 +02:00
Fedora Release Engineering
f7ddb34525 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 12:31:05 +00:00
Fedora Release Engineering
f36507af64 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 03:00:50 +00:00
Miro Hrončok
564c924f13 Update to 2.20
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1810349

Avoid calling `rpm` to get ply version info:

  https://pagure.io/packaging-committee/pull-request/954

Drop no longer needed dos2unix.
Switch to %autosetup.
Switch to %python3.
2020-06-05 22:54:23 +02:00
Miro Hrončok
6277a86fb0 Rebuilt for Python 3.9 2020-05-23 04:38:10 +02:00
Fedora Release Engineering
21f812765c - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 14:19:13 +00:00
Miro Hrončok
ae7888d603 Remove unused patch 2019-12-16 12:57:45 +01:00
Lumir Balhar
7895b807ad New usptream version 2.19 2019-11-08 09:13:35 +01:00
Miro Hrončok
61e907b722 Subpackage python2-ply has been removed
See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
2019-10-20 14:27:07 +02:00
Miro Hrončok
c2f4912b62 Rebuilt for Python 3.8.0rc1 (#1748018) 2019-10-03 14:24:30 +02:00
Miro Hrončok
c4e8e3e8bf Rebuilt for Python 3.8 2019-08-16 01:57:56 +02:00
7 changed files with 251 additions and 283 deletions

3
.gitignore vendored
View file

@ -1,3 +1,6 @@
/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 Normal file
View file

@ -0,0 +1,163 @@
* 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

@ -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']},
)

View file

@ -1,61 +0,0 @@
From 2129f5fb1ec2d06000f10c96510874c5303d9f8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Skytt=C3=A4?= <ville.skytta@iki.fi>
Date: Sun, 5 Mar 2017 04:52:22 +0200
Subject: [PATCH] Python 3.6 invalid escape sequence deprecation fixes (#177)
https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior
---
pycparser/c_lexer.py | 4 ++--
tests/test_c_lexer.py | 8 ++++----
tests/test_c_parser.py | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/pycparser/c_lexer.py b/pycparser/c_lexer.py
index 00dcd97..d9941c1 100644
--- a/pycparser/c_lexer.py
+++ b/pycparser/c_lexer.py
@@ -52,8 +52,8 @@ def __init__(self, error_func, on_lbrace_func, on_rbrace_func,
# Allow either "# line" or "# <num>" to support GCC's
# cpp output
#
- self.line_pattern = re.compile('([ \t]*line\W)|([ \t]*\d+)')
- self.pragma_pattern = re.compile('[ \t]*pragma\W')
+ self.line_pattern = re.compile(r'([ \t]*line\W)|([ \t]*\d+)')
+ self.pragma_pattern = re.compile(r'[ \t]*pragma\W')
def build(self, **kwargs):
""" Builds the lexer from the specification. Must be
diff --git a/tests/test_c_lexer.py b/tests/test_c_lexer.py
index f965b24..11c7b26 100644
--- a/tests/test_c_lexer.py
+++ b/tests/test_c_lexer.py
@@ -430,12 +430,12 @@ def test_char_constants(self):
self.assertLexerError("'b\n", ERR_UNMATCHED_QUOTE)
self.assertLexerError("'jx'", ERR_INVALID_CCONST)
- self.assertLexerError("'\*'", ERR_INVALID_CCONST)
+ self.assertLexerError(r"'\*'", ERR_INVALID_CCONST)
def test_string_literals(self):
- self.assertLexerError('"jx\9"', ERR_STRING_ESCAPE)
- self.assertLexerError('"hekllo\* on ix"', ERR_STRING_ESCAPE)
- self.assertLexerError('L"hekllo\* on ix"', ERR_STRING_ESCAPE)
+ self.assertLexerError(r'"jx\9"', ERR_STRING_ESCAPE)
+ self.assertLexerError(r'"hekllo\* on ix"', ERR_STRING_ESCAPE)
+ self.assertLexerError(r'L"hekllo\* on ix"', ERR_STRING_ESCAPE)
def test_preprocessor(self):
self.assertLexerError('#line "ka"', ERR_FILENAME_BEFORE_LINE)
diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py
index 95ae865..0835013 100755
--- a/tests/test_c_parser.py
+++ b/tests/test_c_parser.py
@@ -1718,7 +1718,7 @@ def test_whole_file_with_stdio(self):
self.assertTrue(isinstance(p.ext[0], Typedef))
self.assertEqual(p.ext[0].coord.line, 213)
- self.assertEqual(p.ext[0].coord.file, "D:\eli\cpp_stuff\libc_include/stddef.h")
+ self.assertEqual(p.ext[0].coord.file, r"D:\eli\cpp_stuff\libc_include/stddef.h")
self.assertTrue(isinstance(p.ext[-1], FuncDef))
self.assertEqual(p.ext[-1].coord.line, 15)

View file

@ -0,0 +1,51 @@
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,224 +1,74 @@
%if 0%{?fedora} || 0%{?rhel} >= 8
%global with_python3 1
%endif
# 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.14
Release: 20%{?dist}
License: BSD
Version: 2.22
Release: %autorelease
License: BSD-3-Clause
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
# Python no longer accepts certain escape sequences, because they get treated as
# unicode escape sequences.
# https://github.com/eliben/pycparser/commit/2129f5fb1ec2d06000f10c96510874c5303d9f8c
Patch0: pycparser-2.14-rstring_fix.patch
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
# remove embedded libraries from their distribution, 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: python2-devel python2-setuptools
BuildRequires: python3-devel
BuildRequires: python3-ply
# for unit tests
BuildRequires: dos2unix
BuildRequires: python2-ply >= 3.6
BuildRequires: cpp
%if 0%{?with_python3}
BuildRequires: python3-devel python3-setuptools
# for unit tests
BuildRequires: python3-ply
%endif # if with_python3
%if %{with tests}
BuildRequires: gcc
%endif
%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 python2-pycparser
Summary: C parser and AST generator written in Python
Requires: python2-ply = %{ply_version}
%{?python_provide:%python_provide python2-pycparser}
%description -n python2-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.
%if 0%{?with_python3}
%package -n python3-pycparser
Summary: C parser and AST generator written in Python
Requires: python3-ply = %{ply_version}
%{?python_provide:%python_provide 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.
%endif # if with_python3
%prep
%setup -q -n pycparser-release_v%{version}
%patch0 -p1
%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
%{__python2} %{SOURCE1} examples
dos2unix LICENSE
# Remove relative sys.path from the examples
%{python3} %{SOURCE1} examples
%generate_buildrequires
%pyproject_buildrequires
%build
%py2_build
pushd build/lib/pycparser
%{__python2} _build_tables.py
pushd pycparser
%{python3} _build_tables.py
popd
%if 0%{?with_python3}
%py3_build
pushd build/lib/pycparser
%{__python3} _build_tables.py
popd
%endif # with_python3
%pyproject_wheel
%install
%py2_install
%if 0%{?with_python3}
%py3_install
%endif # with_python3
%pyproject_install
%pyproject_save_files -l pycparser
%check
%{__python2} tests/all_tests.py
%if 0%{?with_python3}
%{__python3} tests/all_tests.py
%endif # with_python3
%pyproject_check_import
%if %{with tests}
%py3_test_envvars %{python3} -m unittest discover
%endif
%files -n python2-pycparser
%license LICENSE
%files -n python3-pycparser -f %{pyproject_files}
%doc examples
%{python2_sitelib}/pycparser/
%{python2_sitelib}/pycparser-*.egg-info
%if 0%{?with_python3}
%files -n python3-pycparser
%license LICENSE
%doc examples
%{python3_sitelib}/pycparser/
%{python3_sitelib}/pycparser-*.egg-info
%endif # with_python3
%changelog
* 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
%autochangelog

View file

@ -1 +1 @@
dfa652c012a97ed0168889797873b73f release_v2.14.tar.gz
SHA512 (release_v2.22.tar.gz) = 1c5be2b83c0a892cafa55a2595942d7048994772dc0fc71d2943004b4198d939c0bf2a164d763d94fe11d532e49371c59c1cf4037c32dab8d3cf0c553a8de64a