[python-pycparser] Add Python 3 support.
Eric Smith
brouhaha at fedoraproject.org
Tue Jul 23 22:13:55 UTC 2013
commit 89d533d9628bb14e128da538589afbe40928300b
Author: Eric Smith <brouhaha at fedoraproject.org>
Date: Tue Jul 23 16:13:17 2013 -0600
Add Python 3 support.
python-pycparser.spec | 75 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 68 insertions(+), 7 deletions(-)
---
diff --git a/python-pycparser.spec b/python-pycparser.spec
index 5686903..fc061a9 100644
--- a/python-pycparser.spec
+++ b/python-pycparser.spec
@@ -1,9 +1,15 @@
+%if 0%{?fedora} > 12 || 0%{?rhel} > 6
+%global with_python3 1
+%else
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
+%endif
+
Name: python-pycparser
-Version: 2.09.1
-Release: 5%{?dist}
Summary: C parser and AST generator written in Python
-
+Version: 2.09.1
+Release: 6%{?dist}
License: BSD
+Group: System Environment/Libraries
URL: http://github.com/eliben/pycparser
Source0: http://github.com/eliben/pycparser/archive/release_v%{version}.tar.gz
Source1: pycparser-0.91.1-remove-relative-sys-path.py
@@ -23,19 +29,37 @@ Patch100: pycparser-0.91.1-disable-embedded-ply.patch
BuildArch: noarch
-BuildRequires: python2-devel
+BuildRequires: python2-devel python-setuptools
# for unit tests
-BuildRequires: python-ply
BuildRequires: dos2unix
+BuildRequires: python-ply
+
+%if 0%{?with_python3}
+BuildRequires: python3-devel python3-setuptools
+# for unit tests
+BuildRequires: python3-ply
+%endif # if with_python3
-Requires: python-ply
+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.
+%if 0%{?with_python3}
+%package -n python3-pycparser
+Summary: C parser and AST generator written in Python
+Group: System Environment/Libraries
+Requires: python3-ply
+
+%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 -b .unittests-sys-path
@@ -49,23 +73,60 @@ rm -rf pycparser/ply
%{__python} %{SOURCE1} examples
dos2unix LICENSE
+%if 0%{?with_python3}
+rm -rf %{py3dir}
+cp -a . %{py3dir}
+find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!/usr/bin/python|#!%{__python3}|'
+%endif # with_python3
+
%build
%{__python} setup.py build
-cd build/lib/pycparser
+pushd build/lib/pycparser
%{__python} _build_tables.py
+popd
+
+%if 0%{?with_python3}
+pushd %{py3dir}
+%{__python3} setup.py build
+pushd build/lib/pycparser
+%{__python3} _build_tables.py
+popd
+popd
+%endif # with_python3
%install
%{__python} setup.py install --skip-build --root %{buildroot}
+%if 0%{?with_python3}
+pushd %{py3dir}
+%{__python3} setup.py install --skip-build --root %{buildroot}
+popd
+%endif # with_python3
+
%check
%{__python} tests/all_tests.py
+
+%if 0%{?with_python3}
+%{__python3} tests/all_tests.py
+pushd %{py3dir}
+popd
+%endif # with_python3
%files
%doc examples LICENSE
%{python_sitelib}/pycparser/
%{python_sitelib}/pycparser-*.egg-info
+%if 0%{?with_python3}
+%files -n python3-pycparser
+%{python3_sitelib}/pycparser/
+%{python3_sitelib}/pycparser-*.egg-info
+%endif # with_python3
+
%changelog
+* Tue Jul 23 2013 Eric Smith <brouhaha at fedoraproject.org> 2.09.1-6
+- Added Python 3 support.
+
* Mon Jul 22 2013 Eric Smith <brouhaha at fedoraproject.org> 2.09.1-5
- Renumbered Fedora-specific Patch1 to Patch100
- Added new Patch1 to fix table generation when the build system
More information about the scm-commits
mailing list