added python3 support (rhbz #1010302)

This commit is contained in:
Tim Lauridsen 2013-10-02 19:02:43 +02:00
parent 1b7eda09c1
commit 22ba0882dd

View File

@ -1,22 +1,33 @@
%global with_python3 1
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Name: python-iniparse
Version: 0.4
Release: 8%{?dist}
Release: 9%{?dist}
Summary: Python Module for Accessing and Modifying Configuration Data in INI files
Group: Development/Libraries
License: MIT
URL: http://code.google.com/p/iniparse/
Source0: http://iniparse.googlecode.com/files/iniparse-%{version}.tar.gz
Patch0: fix-issue-28.patch
# The patch upstream (http://code.google.com/p/iniparse/issues/detail?id=22)
# is Python3-only. The patch below uses python-six to create a version that works
# with both Python major versions and is more error-prone.
Patch1: %{name}-python3-compat.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if 0%{?fedora} >= 8
BuildRequires: python-setuptools-devel
%else
BuildRequires: python-setuptools
BuildRequires: python-setuptools
BuildRequires: python-six
BuildRequires: python2-devel
Requires: python-six
%if 0%{?with_python3}
BuildRequires: python3-setuptools
BuildRequires: python3-six
BuildRequires: python3-devel
%endif
BuildArch: noarch
@ -28,16 +39,51 @@ files (order of sections & options, indentation, comments, and blank
lines are preserved when data is updated), and is more convenient to
use.
%if 0%{?with_python3}
%package -n python3-iniparse
Summary: Python 3 Module for Accessing and Modifying Configuration Data in INI files
Group: Development/Libraries
Requires: python3-six
%description -n python3-iniparse
iniparse is an INI parser for Python 3 which is API compatible
with the standard library's configparser, preserves structure of INI
files (order of sections & options, indentation, comments, and blank
lines are preserved when data is updated), and is more convenient to
use.
%endif
%prep
%setup -q -n iniparse-%{version}
%patch0 -p1
%patch1 -p0
chmod -c -x html/index.html
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
%endif
%build
%{__python} setup.py build
%{__python2} setup.py build
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py build
popd
%endif
%install
rm -rf $RPM_BUILD_ROOT
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
mv $RPM_BUILD_ROOT/usr/share/doc/iniparse-%{version} $RPM_BUILD_ROOT/%{_docdir}/python3-iniparse
popd
%endif
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
mv $RPM_BUILD_ROOT/usr/share/doc/iniparse-%{version} $RPM_BUILD_ROOT%{_pkgdocdir}
@ -50,9 +96,19 @@ rm -rf $RPM_BUILD_ROOT
%doc %{_pkgdocdir}
%{python_sitelib}/*
%if 0%{?with_python3}
%files -n python3-iniparse
%defattr(-,root,root,-)
%doc %{_docdir}/python3-iniparse
%{python3_sitelib}/*
%endif
%changelog
* Fri Sep 20 2013 Bohuslav Kabrda <bkabrda@redhat.com> - 0.4-9
- Introduce python3 subpackage.
- Use %%__python2 instead of %%__python.
* Mon Jul 29 2013 Ville Skyttä <ville.skytta@iki.fi> - 0.4-8
- Install docs to %%{_pkgdocdir} where available.