Add a switch to build setuptools as wheel
This commit is contained in:
parent
b3dd72b5ba
commit
ce1bf68c4a
@ -1,14 +1,26 @@
|
|||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
%global with_python3 1
|
%global with_python3 1
|
||||||
|
|
||||||
|
# This controls whether setuptools is build as a wheel or not,
|
||||||
|
# simplifying Python 3.4 bootstraping process
|
||||||
|
%global build_wheel 0
|
||||||
%else
|
%else
|
||||||
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
|
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global srcname setuptools
|
%global srcname setuptools
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
%global python2_wheelname %{srcname}-%{version}-py2.py3-none-any.whl
|
||||||
|
%global python2_record %{python2_sitelib}/%{srcname}-%{version}.dist-info/RECORD
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
%global python3_wheelname %python2_wheelname
|
||||||
|
%global python3_record %{python3_sitelib}/%{srcname}-%{version}.dist-info/RECORD
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: python-setuptools
|
Name: python-setuptools
|
||||||
Version: 2.0
|
Version: 2.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Easily build and distribute Python packages
|
Summary: Easily build and distribute Python packages
|
||||||
|
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -25,8 +37,16 @@ BuildArch: noarch
|
|||||||
Requires: python-backports-ssl_match_hostname
|
Requires: python-backports-ssl_match_hostname
|
||||||
BuildRequires: python-backports-ssl_match_hostname
|
BuildRequires: python-backports-ssl_match_hostname
|
||||||
BuildRequires: python2-devel
|
BuildRequires: python2-devel
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
BuildRequires: python-pip
|
||||||
|
BuildRequires: python-wheel
|
||||||
|
%endif
|
||||||
%if 0%{?with_python3}
|
%if 0%{?with_python3}
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
BuildRequires: python3-pip
|
||||||
|
BuildRequires: python3-wheel
|
||||||
|
%endif
|
||||||
%endif # if with_python3
|
%endif # if with_python3
|
||||||
# For unittests
|
# For unittests
|
||||||
BuildRequires: subversion
|
BuildRequires: subversion
|
||||||
@ -92,12 +112,19 @@ for file in setuptools/command/easy_install.py ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
%{__python} setup.py bdist_wheel
|
||||||
|
%else
|
||||||
CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
|
CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?with_python3}
|
%if 0%{?with_python3}
|
||||||
pushd %{py3dir}
|
pushd %{py3dir}
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
%{__python3} setup.py bdist_wheel
|
||||||
|
%else
|
||||||
CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build
|
CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build
|
||||||
|
%endif
|
||||||
popd
|
popd
|
||||||
%endif # with_python3
|
%endif # with_python3
|
||||||
|
|
||||||
@ -110,9 +137,22 @@ rm -rf %{buildroot}
|
|||||||
# Change to defaulting to python3 version in F22
|
# Change to defaulting to python3 version in F22
|
||||||
%if 0%{?with_python3}
|
%if 0%{?with_python3}
|
||||||
pushd %{py3dir}
|
pushd %{py3dir}
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
pip3 install -I dist/%{python3_wheelname} --root %{buildroot} --strip-file-prefix %{buildroot}
|
||||||
|
|
||||||
|
# TODO: we have to remove this by hand now, but it'd be nice if we wouldn't have to
|
||||||
|
# (pip install wheel doesn't overwrite)
|
||||||
|
rm %{buildroot}%{_bindir}/easy_install
|
||||||
|
|
||||||
|
sed -i '/\/usr\/bin\/easy_install,/d' %{buildroot}%{python3_record}
|
||||||
|
%else
|
||||||
%{__python3} setup.py install --skip-build --root %{buildroot}
|
%{__python3} setup.py install --skip-build --root %{buildroot}
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests
|
rm -rf %{buildroot}%{python3_sitelib}/setuptools/tests
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
sed -i '/^setuptools\/tests\//d' %{buildroot}%{python3_record}
|
||||||
|
%endif
|
||||||
|
|
||||||
install -p -m 0644 %{SOURCE1} %{SOURCE2} %{py3dir}
|
install -p -m 0644 %{SOURCE1} %{SOURCE2} %{py3dir}
|
||||||
find %{buildroot}%{python3_sitelib} -name '*.exe' | xargs rm -f
|
find %{buildroot}%{python3_sitelib} -name '*.exe' | xargs rm -f
|
||||||
@ -120,9 +160,16 @@ chmod +x %{buildroot}%{python3_sitelib}/setuptools/command/easy_install.py
|
|||||||
popd
|
popd
|
||||||
%endif # with_python3
|
%endif # with_python3
|
||||||
|
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
pip2 install -I dist/%{python2_wheelname} --root %{buildroot} --strip-file-prefix %{buildroot}
|
||||||
|
%else
|
||||||
%{__python} setup.py install --skip-build --root %{buildroot}
|
%{__python} setup.py install --skip-build --root %{buildroot}
|
||||||
|
%endif
|
||||||
|
|
||||||
rm -rf %{buildroot}%{python_sitelib}/setuptools/tests
|
rm -rf %{buildroot}%{python_sitelib}/setuptools/tests
|
||||||
|
%if 0%{?build_wheel}
|
||||||
|
sed -i '/^setuptools\/tests\//d' %{buildroot}%{python2_record}
|
||||||
|
%endif
|
||||||
|
|
||||||
install -p -m 0644 %{SOURCE1} %{SOURCE2} .
|
install -p -m 0644 %{SOURCE1} %{SOURCE2} .
|
||||||
find %{buildroot}%{python_sitelib} -name '*.exe' | xargs rm -f
|
find %{buildroot}%{python_sitelib} -name '*.exe' | xargs rm -f
|
||||||
@ -157,6 +204,9 @@ rm -rf %{buildroot}
|
|||||||
%endif # with_python3
|
%endif # with_python3
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 23 2014 Matej Stuchlik <mstuchli@redhat.com> - 2.0-2
|
||||||
|
- Add a switch to build setuptools as wheel
|
||||||
|
|
||||||
* Mon Dec 9 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 2.0-1
|
* Mon Dec 9 2013 Toshio Kuratomi <toshio@fedoraproject.org> - 2.0-1
|
||||||
- Update to new upstream release with a few things removed from the API:
|
- Update to new upstream release with a few things removed from the API:
|
||||||
Changelog: https://pypi.python.org/pypi/setuptools#id139
|
Changelog: https://pypi.python.org/pypi/setuptools#id139
|
||||||
|
Loading…
Reference in New Issue
Block a user