# python2X and python3X are built form the same module, so we need a conditional # for python[23] bits the state of the conditional is not important in the spec, # it is set in modulemd %bcond_without python2 %bcond_without python3 %global srcname Cython %global upname cython Name: Cython Version: 0.28.1 Release: 7%{?dist} Summary: Language for writing Python extension modules License: ASL 2.0 URL: http://www.cython.org Source: https://github.com/cython/cython/archive/%{version}/%{srcname}-%{version}.tar.gz # Replace GCC's attribute optimize("Os") by the better supported and similar (cold). # We essentially disable again strict aliasing which makes some compiler warnings # go away on python2. # Fixed upstream: https://github.com/cython/cython/commit/9ddac7152091eac62830fea4f38b4d7f9edb6a86 Patch0: replace-gcc-attribute-os-with-cold.patch BuildRequires: gcc %global _description \ This is a development version of Pyrex, a language\ for writing Python extension modules. %description %{_description} %if %{with python2} %package -n python2-%{srcname} Summary: %{summary} %{?python_provide:%python_provide python2-%{srcname}} Obsoletes: Cython < 0.28.1-5 BuildRequires: python2-devel BuildRequires: python2-setuptools %description -n python2-%{srcname} %{_description} Python 2 version. %endif %if %{with python3} %package -n python3-%{srcname} Summary: %{summary} %{?python_provide:%python_provide python3-%{srcname}} BuildRequires: python3-devel BuildRequires: python3-setuptools %description -n python3-%{srcname} %{_description} Python 3 version. %endif %prep %autosetup -n %{upname}-%{version} -p1 %build %{?with_python2:%py2_build} %{?with_python3:%py3_build} %install # Must do the python3 install first because the scripts in /usr/bin are # overwritten with every setup.py install (and we want the python2 version # to be the default for now). %if %{with python3} %py3_install for bin in cython cythonize cygdb; do mv %{buildroot}%{_bindir}/${bin} %{buildroot}%{_bindir}/${bin}3 done rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests %endif %if %{with python2} %py2_install for bin in cython cythonize cygdb; do mv %{buildroot}%{_bindir}/${bin} %{buildroot}%{_bindir}/${bin}-%{python2_version} ln -s ${bin}-%{python2_version} $RPM_BUILD_ROOT%{_bindir}/${bin}-2 done rm -rf %{buildroot}%{python2_sitelib}/setuptools/tests %endif %if %{with python2} %files -n python2-%{srcname} %license LICENSE.txt %doc *.txt Demos Doc Tools %{_bindir}/cython-2 %{_bindir}/cygdb-2 %{_bindir}/cythonize-2 %{_bindir}/cython-%{python2_version} %{_bindir}/cygdb-%{python2_version} %{_bindir}/cythonize-%{python2_version} %{python2_sitearch}/%{srcname}-*.egg-info/ %{python2_sitearch}/%{srcname}/ %{python2_sitearch}/pyximport/ %{python2_sitearch}/%{upname}.py* %endif %if %{with python3} %files -n python3-%{srcname} %license LICENSE.txt %doc *.txt Demos Doc Tools %{_bindir}/cython3 %{_bindir}/cythonize3 %{_bindir}/cygdb3 %{python3_sitearch}/%{srcname}-*.egg-info/ %{python3_sitearch}/%{srcname}/ %{python3_sitearch}/pyximport/ %{python3_sitearch}/%{upname}.py %{python3_sitearch}/__pycache__/%{upname}.* %endif %changelog * Wed Apr 03 2019 Tomas Orsava - 0.28.1-7 - Bumping due to problems with modular RPM upgrade path - Resolves: rhbz#1695587 * Wed Dec 12 2018 Charalampos Stratakis - 0.28.1-6 - Replace GCC's attribute optimize("Os") by the better supported and similar (cold). - Resolves: rhbz#1658621 * Tue Oct 09 2018 Lumír Balhar - 0.28.1-5 - Remove unversioned provides - Resolves: rhbz#1628242 * Wed Aug 08 2018 Lumír Balhar - 0.28.1-4 - Remove unversioned binaries from python2 subpackage - Resolves: rhbz#1613343 * Wed Aug 01 2018 Lumír Balhar - 0.28.1-3 - First version for python27 module