Sync from SUSE:ALP:Source:Standard:1.0 saltbundlepy-pycparser revision fa287a6b5da08e08e29779b6124b7ecd

This commit is contained in:
Adrian Schröter 2024-07-15 12:56:53 +02:00
commit c39636a64c
6 changed files with 308 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

43
fix-lexer-build.patch Normal file
View File

@ -0,0 +1,43 @@
Index: pycparser-2.21/setup.py
===================================================================
--- pycparser-2.21.orig/setup.py
+++ pycparser-2.21/setup.py
@@ -1,11 +1,11 @@
import os, sys
try:
from setuptools import setup
- from setuptools.command.install import install as _install
+ from setuptools.command.build import build as _build
from setuptools.command.sdist import sdist as _sdist
except ImportError:
from distutils.core import setup
- from distutils.command.install import install as _install
+ from distutils.command.build import build as _build
from distutils.command.sdist import sdist as _sdist
@@ -18,10 +18,10 @@ def _run_build_tables(dir):
cwd=os.path.join(dir, 'pycparser'))
-class install(_install):
+class build(_build):
def run(self):
- _install.run(self)
- self.execute(_run_build_tables, (self.install_lib,),
+ _build.run(self)
+ self.execute(_run_build_tables, (self.build_lib,),
msg="Build the lexing/parsing tables")
@@ -64,7 +64,7 @@ setup(
'Programming Language :: Python :: 3.10',
],
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
- packages=['pycparser', 'pycparser.ply'],
- package_data={'pycparser': ['*.cfg']},
- cmdclass={'install': install, 'sdist': sdist},
+ packages=['pycparser', 'pycparser.ply', 'utils.fake_libc_include'],
+ package_data={'pycparser': ['*.cfg'], 'utils.fake_libc_include': ['*.h', 'xcb/*']},
+ cmdclass={'build': build, 'sdist': sdist},
)

BIN
pycparser-2.21.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
addFilter("E: devel-file-in-non-devel-package .*site-packages.*fake_libc_include.*")

View File

@ -0,0 +1,165 @@
-------------------------------------------------------------------
Wed Dec 13 16:01:23 UTC 2023 - Victor Zhestkov <vzhestkov@suse.com>
- Update to 2.21:
* Much improved support for C11 (multiple PRs)
* Support for parehthesized compount statements (#423)
* Support for modern Python versions (3.9 and 3.10)
* Fix support for structs with nested enums (#387)
* Multiple small bug fixes
- Update to 2.20:
* #61: Fix slow backtracking when parsing strings.
* #99: Parser for FuncDecl incorrectly sets declname attribute on return type.
* #310: Fix crash when file starts with a semicolon.
* #313: Fix array type generation.
* #314: Fix failed parsing of unnamed function parameters with array dim
qualifiers.
* #315: Fix pointer type generation.
* #324: Fixes for u/l constant integer suffix.
* #346: Fix error transforming an empty switch.
* #350: Recognize integer multicharacter constants like 'ABCD'.
* #363: Fix incorrect AST when parsing offsetof.
- Update to 2.19:
* #277: Fix parsing of floating point literals
* #254: Add support for parsing empty structs
* #240: Fix enum formatting in generated C code (also #216)
* #222: Add support for #pragma in struct declarations
- Update to 2.18:
- #161 & #184: Update bundled PLY version to 3.10
- #158: Add support for the __int128 type.
- #169: Handle more tricky TYPEID in declarators.
- #178: Add columns to the coord of each node
- Rebase fix-lexer-build.patch
-------------------------------------------------------------------
Wed Aug 2 10:36:48 UTC 2023 - Victor Zhestkov <vzhestkov@suse.com>
- Adding missing file reference:
* saltbundlepy-pycparser-rpmlintrc
-------------------------------------------------------------------
Mon Apr 4 12:52:53 UTC 2022 - Victor Zhestkov <victor.zhestkov@suse.com>
- Strictly require Python 3.10 with saltbundlepy requrement
-------------------------------------------------------------------
Fri Mar 24 17:09:01 UTC 2017 - jmatejek@suse.com
- sort out duplicate rpmlintrc
-------------------------------------------------------------------
Thu Mar 16 16:15:40 UTC 2017 - jmatejek@suse.com
- update to 2.17
- PR #121: Update bundled PLY version to 3.8
- Issue #117: Fix parsing of extra semi-colons inside structure declarations.
- PR #109: Update c_generator to add {} around nested named initializers.
- PR #101: Added support for parsing pragmas into the AST.
- Additional fake headers and typedefs, manifest fixes (#97, #106, #111).
- Testing with Python 3.5 instead of 3.3 now (3.4 and 3.5 are the 3.x versions
tested).
- PR #145: More complete support for offsetof()
- Issue #116: Fix line numbers recorded for empty and compound statements.
- Minor performance improvement to the invalid string literal regex.
- drop upstreamed 0002-Add-missing-typedef-sa_family_t-from-sys-socket.h.patch
- move source url to pypi
-------------------------------------------------------------------
Thu Dec 8 16:40:11 UTC 2016 - jmatejek@suse.com
- update for multipython build
- move fake_libc to site-packages, where it can be found by pkg_resources
* this also prevents file conflict between python2 and python3
- fix-lexer-build.patch: fix build process to better generate parser/lexer
files
-------------------------------------------------------------------
Sat Jan 16 14:31:31 UTC 2016 - p.drouand@gmail.com
- Add python-pycparser-rpmlintrc to sources
-------------------------------------------------------------------
Thu Jan 7 20:52:41 UTC 2016 - mvyskocil@opensuse.org
- Tag added patch better
-------------------------------------------------------------------
Mon Nov 30 12:56:14 UTC 2015 - mvyskocil@opensuse.org
- Update to version 2.14
* Added CParser parameter to specify output directory for generated parsing
tables (#84).
* Removed lcc's cpp and its license from the distribution. Using lcc's cpp
is no longer recommended, now that Clang has binary builds available for
Windows.
2.13:
* Added support for offsetof() the way gcc implements it (special builtin
that takes a type as an argument).
* Added faked va_* macros (these are expected to come from stdarg.h)
* Added a bunch more fake headers and typedefs to support parsing C projects
like Git and SQLite without modifications to pycparser.
* Added support for empty initializer lists (#79).
- Package fake_libc_include
* switch to github release as pypi tarball don't contains all files
- Add 0002-Add-missing-typedef-sa_family_t-from-sys-socket.h.patch
* upstream patch enhancing the fake_libc_include
-------------------------------------------------------------------
Mon May 11 14:59:40 UTC 2015 - benoit.monin@gmx.fr
- update to version 2.12:
* This is a fix release for 2.11; the memory optimization with
__slots__ on Coord and AST nodes didn't take weakrefs into
account, which broke cffi and its many dependents (issue #76).
Fixed by adding __weakref__ to __slots__.
- additional changes from version 2.11:
* Add support for C99 6.5.3.7 p7 - qualifiers within array
dimensions in function declarations. Started with issue #21
(reported with initial patch by Robin Martinjak).
* Issue #27: bug in handling of unified wstring literals.
* Issue #28: fix coord reporting for 'for' loops.
* Added ``examples/using_gcc_E_libc.py`` to demonstrate how ``gcc
-E`` can be used instead of ``cpp`` for preprocessing.
* Pull request #64: support keywords like const, volatile,
restrict and static in dimensions in array declarations.
* Reduce memory usage of AST nodes (issue #72).
* Parsing order of nested pointer declarations fixed (issue #68).
- update project URL
- fix end of line encoding of LICENSE
-------------------------------------------------------------------
Mon Aug 12 08:45:29 UTC 2013 - speilicke@suse.com
- Update to version 2.10:
- A number of improvements in the handling of typedef-name ambiguities,
contributed by Sye van der Veen in GitHub issue #1:
* Allow shadowing of types by identifiers in inner scopes.
* Allow struct field names to reside in a separate namespace and have
the same names as types.
* Allow duplicate typedefs in some cases to mimic real compiler behavior.
- c_generator error for ExprList in expression context.
- Assume default int type for functions whose argument or return types were
not specified.
- Relax the lexer a bit w.r.t. some integer suffixes and $ in identifier names
(which is supported by some other compilers).
- Package LICENSE
-------------------------------------------------------------------
Sat Apr 13 10:11:29 UTC 2013 - toddrme2178@gmail.com
- Remove pre_checkin.sh since the two packages are not the same
-------------------------------------------------------------------
Wed Feb 27 15:22:33 UTC 2013 - p.drouand@gmail.com
- Initial python3 support
-------------------------------------------------------------------
Sun Feb 10 09:48:07 UTC 2013 - saschpe@suse.de
- Initial version

View File

@ -0,0 +1,73 @@
#
# spec file for package saltbundlepy-pycparser
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!saltbundlepy_module:%define saltbundlepy_module() saltbundlepy-%{**}}
%define pythons saltbundlepy
# Disable python bytecompile for all distros
# It's called explicitly in the spec
%global __brp_python_bytecompile %{nil}
Name: saltbundlepy-pycparser
Version: 2.21
Release: 0
Summary: C parser in Python
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/eliben/pycparser
Source0: https://files.pythonhosted.org/packages/source/p/pycparser/pycparser-%{version}.tar.gz
Source99: %{name}-rpmlintrc
Patch1: fix-lexer-build.patch
BuildRequires: %{saltbundlepy_module devel >= 3.10}
BuildRequires: %{saltbundlepy_module setuptools}
BuildRequires: %{saltbundlepy_module pytest}
BuildRequires: fdupes
BuildRequires: saltbundlepy-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Requires: saltbundlepy-base
%python_subpackages
%description
pycparser is a complete parser of the C language, written in pure Python using
the PLY parsing library. It parses C code into an AST and can serve as a
front-end for C compilers or analysis tools.
%prep
%setup -q -n pycparser-%{version}
%autopatch -p1
# fix end of line
sed -i 's/\r//' LICENSE
%build
%python_build
%install
%python_install
%{python_expand %fdupes %{buildroot}%{$python_sitelib}}
%check
%pytest
%files %{python_files}
%defattr(-,root,root,-)
%doc LICENSE README.rst examples
%{python_sitelib}/*
%changelog