revert python2 and python3, 2 is option now

This commit is contained in:
Alexander Stefanov 2020-02-09 21:20:48 +00:00
parent 0fbbb00238
commit 68ef283f30

View file

@ -1,23 +1,27 @@
# Python module not linking to libpython
%global _disable_ld_no_undefined 1
%bcond_without python2
%bcond_with check
%define tarname cython
%define py2dir python2
# Force python3 build - required by new hplip
# % {?build_python3}%{?!build_python3:%bcond_without python3}
%bcond_without python3
%global optflags %optflags -O3
Summary: Language for writing C extensions to Python
Name: python-cython
License: Apache License
Group: Development/Python
Url: http://www.cython.org
Summary: Language for writing C extensions to Python
Name: python-cython
Version: 0.29.14
Release: 3
Source0: https://github.com/cython/cython/archive/%{version}%{?rctag:%{rctag}}/%{tarname}-%{version}%{?rctag:%{rctag}}.tar.gz
Source100: %{name}.rpmlintrc
BuildRequires: python-devel
BuildRequires: dos2unix
BuildRequires: python-distribute
%if %{with python3}
BuildRequires: python3-distribute
Release: 4
License: Python
Group: Development/Python
Url: http://www.cython.org
Source0: https://github.com/cython/cython/archive/%{version}.tar.gz
Source1: %{name}.rpmlintrc
BuildRequires: dos2unix
%if %{with check}
BuildRequires: gdb
BuildRequires: gomp-devel
BuildRequires: python-numpy-devel
%endif
%description
@ -25,78 +29,94 @@ Cython is a language that facilitates the writing of C extensions for
the Python language. It is based on Pyrex, but provides more cutting
edge functionality and optimizations.
%if %{with python3}
%package -n python3-cython
Summary: Language for writing C extensions to Python
Group: Development/Python
BuildRequires: python3-devel
Summary: Language for writing C extensions to Python
Group: Development/Python
BuildRequires: pkgconfig(python3)
BuildRequires: python3-setuptools
Provides: python-cython = %{version}-%{release}
%description -n python3-cython
Cython is a language that facilitates the writing of C extensions for
the Python language. It is based on Pyrex, but provides more cutting
edge functionality and optimizations.
%if %{with python2}
%package -n python2-cython
Summary: Language for writing C extensions to Python
Group: Development/Python
BuildRequires: pkgconfig(python2)
BuildRequires: python2-setuptools
%description -n python2-cython
Cython is a language that facilitates the writing of C extensions for
the Python language. It is based on Pyrex, but provides more cutting
edge functionality and optimizations.
%endif
%prep
%setup -q -c
%autosetup -p1 -n %{tarname}-%{version}
mv %{tarname}-%{version} python2
%if %{with python3}
cp -r python2 python3
%endif
%if %{with python2}
rm -rf %{py2dir}
mkdir %{py2dir}
tar -xvf %{SOURCE0} -C %{py2dir}
find %{py2dir} -name '*.py' | xargs sed -i '1s|^#!python|#!python2|'
%endif # with_python2
find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python}|'
%build
pushd python2
python setup.py build
popd
%if %{with python3}
pushd python3
python3 setup.py build
popd
%endif
%setup_compile_flags
CFLAGS="%{optflags}" %{__python3} setup.py build
%if %{with python2}
cd %{py2dir}/%{tarname}-%{version}
CFLAGS="%{optflags}" %{__python2} setup.py build
cd -
%endif # with_python2
%install
pushd python2
find -name .*DS_Store* | xargs rm -rf
PYTHONDONTWRITEBYTECODE= python setup.py install --root %{buildroot}
# Must do the python2 install first because the scripts in /usr/bin are
# overwritten with every setup.py install (and we want the python3 version
# to be the default).
%if %{with python2}
cd %{py2dir}/%{tarname}-%{version}
%{__python2} setup.py install --skip-build --root %{buildroot}
mv %{buildroot}/usr/bin/cython %{buildroot}/usr/bin/cython2
mv %{buildroot}/usr/bin/cygdb %{buildroot}/usr/bin/cygdb2
mv %{buildroot}/usr/bin/cythonize %{buildroot}/usr/bin/cythonize2
pushd Tools
dos2unix cython-mode.el
install -m 755 -d %{buildroot}%{_sysconfdir}/emacs/site-start.d
install -m 644 *.el* %{buildroot}%{_sysconfdir}/emacs/site-start.d
popd
popd
%if %{with python3}
pushd python3
PYTHONDONTWRITEBYTECODE= python3 setup.py install --root %{buildroot}
popd
rm -rf %{buildroot}%{python2_sitelib}/setuptools/tests
cd -
%endif
#%%check
#PYTHONPATH=`pwd`/../build/lib make test clean
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests
rm -rf %{buildroot}/%{python3_sitearch}/__pycache__/
%files
%{_sysconfdir}/emacs/site-start.d/*.el*
%{_bindir}/cython2
%{_bindir}/cygdb2
%{_bindir}/cythonize2
%{py_platsitedir}/Cython*
%{py_platsitedir}/cython*
%{py_platsitedir}/pyximport*
%if %{with check}
%check
python runtests.py
%if %{with python2}
cd %{py2dir}/%{tarname}-%{version}
python2 setup.py test
cd -
%endif # with_python2
%endif
%if %{with python3}
%files -n python3-cython
%{_bindir}/cython
%{_bindir}/cygdb
%{_bindir}/cythonize
%{py3_platsitedir}/__pycache__/*
%{py3_platsitedir}/Cython*
%{_bindir}/cygdb
%{py3_platsitedir}/Cython
%{py3_platsitedir}/Cython-%{version}-*.egg-info
%{py3_platsitedir}/cython*
%{py3_platsitedir}/pyximport*
%{py3_platsitedir}/pyximport
%{py3_platsitedir}/__pycache__/*.py?
%if %{with python2}
%files -n python2-cython
%{_bindir}/cython2
%{_bindir}/cygdb2
%{py2_platsitedir}/Cython
%{py2_platsitedir}/Cython-%{version}-*.egg-info
%{py2_platsitedir}/cython*
%{py2_platsitedir}/pyximport
%endif