#
# Conditional build:
-%bcond_without python2 # CPython 2.x module
-%bcond_without python3 # CPython 3.x module
-%bcond_without doc # sphinx based documentation
+%bcond_without python2 # CPython 2.x module
+%bcond_without python3 # CPython 3.x module
+%bcond_without doc # Sphinx based documentation
+%bcond_without tests # unit tests
#
Summary: Foreign Function Interface for Python 2 calling C code
Summary(pl.UTF-8): Interfejs funkcji obcych (FFI) dla Pythona 2 wywołującego kod w C
Name: python-cffi
-Version: 1.6.0
-Release: 1
+Version: 1.14.4
+Release: 4
License: MIT
Group: Libraries/Python
-#Source0Download: https://pypi.python.org/pypi/cffi
-Source0: https://pypi.python.org/packages/b6/98/11feff87072e2e640fb8320712b781eccdef05d588618915236b32289d5a/cffi-%{version}.tar.gz
-# Source0-md5: 2fae9160991afefb20ff0fbde3b14faf
+#Source0Download: https://pypi.org/simple/cffi/
+Source0: https://files.pythonhosted.org/packages/source/c/cffi/cffi-%{version}.tar.gz
+# Source0-md5: ad3d8537b1516bad6bcdc36c458788be
URL: http://cffi.readthedocs.org/
BuildRequires: libffi-devel >= 3
BuildRequires: pkgconfig
%if %{with python2}
BuildRequires: python >= 1:2.6
BuildRequires: python-devel >= 1:2.6
+%if %{with tests}
+BuildRequires: python-pycparser
+BuildRequires: python-pytest
+%endif
%endif
%if %{with python3}
BuildRequires: python3 >= 1:3.2
BuildRequires: python3-devel >= 1:3.2
+%if %{with tests}
+BuildRequires: python3-pycparser
+BuildRequires: python3-pytest
+%endif
%endif
BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.710
+BuildRequires: rpmbuild(macros) >= 1.714
%{?with_doc:BuildRequires: sphinx-pdg}
-Requires: python-modules
+Requires: python-modules >= 1:2.6
Requires: python-pycparser
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: Foreign Function Interface for Python 3 calling C code
Summary(pl.UTF-8): Interfejs funkcji obcych (FFI) dla Pythona 3 wywołującego kod w C
Group: Libraries/Python
-Requires: python3-modules
+Requires: python3-modules >= 1:3.2
Requires: python3-pycparser
%description -n python3-cffi
Ten pakiet zawiera moduł Pythona 3.
+%package apidocs
+Summary: API documentation for Python CFFI module
+Summary(pl.UTF-8): Dokumentacja API modułu Pythona CFFI
+Group: Documentation
+BuildArch: noarch
+
+%description apidocs
+API documentation for Python CFFI module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu Pythona CFFI.
+
%prep
%setup -q -n cffi-%{version}
%build
%if %{with python2}
%py_build
+
+%if %{with tests}
+PYTHONPATH=$(pwd):$(echo $(pwd)/build-2/lib.linux-*) \
+py.test-2 c testing
+%endif
%endif
+
%if %{with python3}
%py3_build
+
+%if %{with tests}
+PYTHONPATH=$(pwd):$(echo $(pwd)/build-3/lib.linux-*) \
+py.test-3 c testing
+%endif
%endif
%if %{with doc}
%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc LICENSE %{?with_doc:doc/build/html/{*.html,*.js,_static}}
+%doc AUTHORS LICENSE README.md
%attr(755,root,root) %{py_sitedir}/_cffi_backend.so
%dir %{py_sitedir}/cffi
+%{py_sitedir}/cffi/_cffi_errors.h
%{py_sitedir}/cffi/_cffi_include.h
%{py_sitedir}/cffi/_embedding.h
%{py_sitedir}/cffi/parse_c_type.h
%if %{with python3}
%files -n python3-cffi
%defattr(644,root,root,755)
-%doc LICENSE %{?with_doc:doc/build/html/{*.html,*.js,_static}}
+%doc AUTHORS LICENSE README.md
%attr(755,root,root) %{py3_sitedir}/_cffi_backend.cpython-*.so
%dir %{py3_sitedir}/cffi
+%{py3_sitedir}/cffi/_cffi_errors.h
%{py3_sitedir}/cffi/_cffi_include.h
%{py3_sitedir}/cffi/_embedding.h
%{py3_sitedir}/cffi/parse_c_type.h
%{py3_sitedir}/cffi/__pycache__
%{py3_sitedir}/cffi-%{version}-py*.egg-info
%endif
+
+%if %{with doc}
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/build/html/{_static,*.html,*.js}
+%endif