X-Git-Url: http://git.pld-linux.org/?p=packages%2Fpython-Cython.git;a=blobdiff_plain;f=python-Cython.spec;h=c189c5bdb31b081792d39467cd825949794827b3;hp=8475cbae1f51b52e2b44e5b27686b68612558d16;hb=1ff52ece3a2fdac0f2032ed454c9c487c4c8627f;hpb=52da8e1d4578c91fd900cf346742a0cbdfa4df40 diff --git a/python-Cython.spec b/python-Cython.spec index 8475cba..c189c5b 100644 --- a/python-Cython.spec +++ b/python-Cython.spec @@ -1,21 +1,38 @@ +# +# 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 -Summary(pl.UTF-8): Język służący do pisania modułów rozszerzających Pythona +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.14 +Version: 0.29.21 Release: 1 -License: PSF +License: Apache v2.0 Group: Libraries/Python -Source0: http://www.cython.org/release/%{module}-%{version}.tar.gz -# Source0-md5: 27fa072e8282431864543e008fd9a19b -URL: http://www.cython.org/ -BuildRequires: python >= 1:2.5 -BuildRequires: python-devel +#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.3 +BuildRequires: python3-devel >= 1:3.3 +BuildRequires: python3-setuptools +%endif BuildRequires: rpm-pythonprov -%pyrequires_eq python-libs -%pyrequires_eq python-devel +%{?with_apidocs:BuildRequires: sphinx-pdg-3 >= 1.8} +Requires: python-devel >= 1:2.6 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _noautocompressdoc *.c @@ -25,51 +42,139 @@ Cython lets you write code that mixes Python and C data types any way you want, and compiles it into a C extension for Python. Cython is based on Pyrex. +This package contains Cython module for Python 2.x. + %description -l pl.UTF-8 +Cython pozwala pisać kod zawierający dane Pythona i języka C połączone +w jakikolwiek sposób i kompiluje to jako rozszerzenie C dla Pythona. +Cython jest oparty na Pyreksie. + +Ten pakiet zawiera moduł Cython dla Pythona 2.x. + +%package -n python3-Cython +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.3 + +%description -n python3-Cython +Cython lets you write code that mixes Python and C data types any way +you want, and compiles it into a C extension for Python. Cython is +based on Pyrex. + +This package contains Cython module for Python 3.x. + +%description -n python3-Cython -l pl.UTF-8 Pyrex pozwala pisać kod zawierający dane Pythona i języka C połączone w jakikolwiek sposób i kompiluje to jako rozszerzenie C dla Pythona. Cython jest oparty na Pyreksie. +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 Pyrex language -Summary(pl.UTF-8): Przykłady programów w języku Pyrex +Summary: Examples for Cython language +Summary(pl.UTF-8): Przykłady programów w języku Cython Group: Libraries/Python -Requires: %{name} = %{version}-%{release} +Obsoletes: python3-Cython-examples %description examples -This package contains example programs for Pyrex language. +This package contains example programs for Cython language. %description examples -l pl.UTF-8 -Pakiet zawierający przykładowe programy napisane w języku Pyrex. +Pakiet zawierający przykładowe programy napisane w języku Cython. %prep %setup -q -n %{module}-%{version} +%patch0 -p1 + +%build +%if %{with python2} +%py_build + +%if %{with tests} +%{__python} runtests.py +%endif +%endif + +%if %{with python3} +%py3_build + +%if %{with tests} +%{__python3} runtests.py \ + SPHINXBUILD=sphinx-build-3 +%endif +%endif + +%if %{with apidocs} +%{__make} -C docs html +%endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} -%{__python} setup.py install \ - --root=$RPM_BUILD_ROOT \ - --install-purelib=%{py_sitescriptdir} \ - -O2 +%if %{with python3} +%py3_install + +%{__mv} $RPM_BUILD_ROOT%{_bindir}/cython{,3} +%{__mv} $RPM_BUILD_ROOT%{_bindir}/cythonize{,3} +%{__mv} $RPM_BUILD_ROOT%{_bindir}/cygdb{,3} +%endif + +%if %{with python2} +%py_install find $RPM_BUILD_ROOT%{py_sitedir} -name "*.py" -a ! -name 'Lexicon.py' -exec rm -f {} \; +%endif cp -a Demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} %clean rm -rf $RPM_BUILD_ROOT +%if %{with python2} %files %defattr(644,root,root,755) -%doc 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 %{py_sitedir}/cython.py[co] %{py_sitedir}/Cython %{py_sitedir}/pyximport -%{py_sitedir}/Cython-*.egg-info +%{py_sitedir}/Cython-%{version}-py*.egg-info +%endif + +%if %{with python3} +%files -n python3-Cython +%defattr(644,root,root,755) +%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.py +%{py3_sitedir}/__pycache__/cython.* +%{py3_sitedir}/Cython +%{py3_sitedir}/pyximport +%{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)