# Conditional build:
%bcond_without python2 # CPython 2.x module
%bcond_without python3 # CPython 3.x module
+%bcond_without apidocs # Sphinx documentation
+%bcond_with tests # test suite (SLOOOOW)
%define module Cython
Summary: Language for writing Python Extension Modules (Python 2.x version)
Summary(pl.UTF-8): Język służący do pisania modułów rozszerzających Pythona (wersja dla Pythona 2.x)
Name: python-%{module}
-Version: 0.21
-Release: 1
+Version: 0.29.21
+Release: 3
License: Apache v2.0
Group: Libraries/Python
-Source0: http://www.cython.org/release/%{module}-%{version}.tar.gz
-# Source0-md5: 6c9c4d19ba485fe8cd88e23b57ac7886
-URL: http://www.cython.org/
+#Source0Download: https://pypi.org/simple/cython/
+Source0: https://files.pythonhosted.org/packages/source/c/cython/%{module}-%{version}.tar.gz
+# Source0-md5: 12c5e45af71dcc6dff28cdcbcbef6f39
+Patch0: %{name}-sphinx.patch
+URL: http://cython.org/
+BuildRequires: rpmbuild(macros) >= 1.714
%if %{with python2}
BuildRequires: python >= 1:2.6
BuildRequires: python-devel >= 1:2.6
+BuildRequires: python-setuptools
%endif
%if %{with python3}
-BuildRequires: python3 >= 1:3.2
-BuildRequires: python3-2to3 >= 1:3.2
-BuildRequires: python3-devel >= 1:3.2
-BuildRequires: python3-distribute
-BuildRequires: python3-modules >= 1:3.2
+BuildRequires: python3 >= 1:3.3
+BuildRequires: python3-devel >= 1:3.3
+BuildRequires: python3-setuptools
%endif
BuildRequires: rpm-pythonprov
+%{?with_apidocs:BuildRequires: sphinx-pdg-3 >= 1.8}
Requires: python-devel >= 1:2.6
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: Language for writing Python Extension Modules (Python 3.x version)
Summary(pl.UTF-8): Język służący do pisania modułów rozszerzających Pythona (wersja dla Pythona 3.x)
Group: Libraries/Python
-Requires: python3-devel >= 1:3.2
+Requires: python3-devel >= 1:3.3
%description -n python3-Cython
Cython lets you write code that mixes Python and C data types any way
Ten pakiet zawiera moduł Cython dla Pythona 3.x.
+%package apidocs
+Summary: API documentation for Cython module
+Summary(pl.UTF-8): Dokumentacja API modułu Cython
+Group: Documentation
+
+%description apidocs
+API documentation for Cython module.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API modułu Cython.
+
%package examples
Summary: Examples for Cython language
Summary(pl.UTF-8): Przykłady programów w języku Cython
%prep
%setup -q -n %{module}-%{version}
+%patch0 -p1
%build
%if %{with python2}
-CC="%{__cc}" \
-CFLAGS="%{rpmcflags}" \
-%{__python} setup.py build \
- --build-base build-2
+%py_build
+
+%if %{with tests}
+%{__python} runtests.py
+%endif
%endif
%if %{with python3}
-CC="%{__cc}" \
-CFLAGS="%{rpmcflags}" \
-%{__python3} setup.py build \
- --build-base build-3
+%py3_build
+
+%if %{with tests}
+%{__python3} runtests.py \
+ SPHINXBUILD=sphinx-build-3
+%endif
+%endif
+
+%if %{with apidocs}
+%{__make} -C docs html
%endif
%install
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%if %{with python3}
-%{__python3} setup.py \
- build \
- --build-base build-3 \
- install \
- --optimize=2 \
- --skip-build \
- --root=$RPM_BUILD_ROOT
+%py3_install
%{__mv} $RPM_BUILD_ROOT%{_bindir}/cython{,3}
%{__mv} $RPM_BUILD_ROOT%{_bindir}/cythonize{,3}
%endif
%if %{with python2}
-%{__python} setup.py \
- build \
- --build-base build-2 \
- install \
- --optimize=2 \
- --skip-build \
- --root=$RPM_BUILD_ROOT
+%py_install
find $RPM_BUILD_ROOT%{py_sitedir} -name "*.py" -a ! -name 'Lexicon.py' -exec rm -f {} \;
%endif
%if %{with python2}
%files
%defattr(644,root,root,755)
-%doc COPYING.txt README.txt ToDo.txt USAGE.txt Doc/*.html Doc/*.c
+%doc CHANGES.rst COPYING.txt README.rst ToDo.txt USAGE.txt
%attr(755,root,root) %{_bindir}/cython
%attr(755,root,root) %{_bindir}/cythonize
%attr(755,root,root) %{_bindir}/cygdb
%if %{with python3}
%files -n python3-Cython
%defattr(644,root,root,755)
-%doc COPYING.txt README.txt ToDo.txt USAGE.txt Doc/*.html Doc/*.c
+%doc CHANGES.rst COPYING.txt README.rst ToDo.txt USAGE.txt
%attr(755,root,root) %{_bindir}/cython3
%attr(755,root,root) %{_bindir}/cythonize3
%attr(755,root,root) %{_bindir}/cygdb3
%{py3_sitedir}/Cython-%{version}-py*.egg-info
%endif
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%doc docs/build/html/{_images,_static,src,*.html,*.js}
+%endif
+
%files examples
%defattr(644,root,root,755)
%{_examplesdir}/%{name}-%{version}