# # spec file for package python-pycparser # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # 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 http://bugs.opensuse.org/ # Name: python-pycparser Version: 2.14 Release: 1.2 Summary: C parser in Python License: BSD-3-Clause Group: Development/Languages/Python Url: https://github.com/eliben/pycparser Source0: https://github.com/eliben/pycparser/archive/release_v%{version}.tar.gz Source99: %{name}-rpmlintrc #PATCH-FIX-UPSTREAM Patch0: 0002-Add-missing-typedef-sa_family_t-from-sys-socket.h.patch BuildRequires: fdupes BuildRequires: python-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} && 0%{?suse_version} <= 1110 %{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %else BuildArch: noarch %endif %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-release_v%{version} %patch0 -p1 # fix end of line sed -i 's/\r//' LICENSE %build python setup.py build %install python setup.py install --prefix=%{_prefix} --root=%{buildroot} mkdir -p %{buildroot}/%{_datadir}/%{name} cp -r utils/fake_libc_include/ %{buildroot}/%{_datadir}/%{name} %fdupes -s %{buildroot}/%{_datadir}/%{name}/fake_libc_include/ %check python tests/all_tests.py %files %defattr(-,root,root,-) %doc LICENSE README.rst examples %{python_sitelib}/* %{_datadir}/%{name} %changelog * Sat Jan 16 2016 p.drouand@gmail.com - Add python-pycparser-rpmlintrc to sources * Thu Jan 7 2016 mvyskocil@opensuse.org - Tag added patch better * Mon Nov 30 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 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 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 2013 toddrme2178@gmail.com - Remove pre_checkin.sh since the two packages are not the same * Wed Feb 27 2013 p.drouand@gmail.com - Initial python3 support * Sun Feb 10 2013 saschpe@suse.de - Initial version