%if 0%{?_with_python27_module} %undefine _without_python3 %endif # Note that the function of bootstrap is that it disables the test suite and whl # bcond_with bootstrap = tests enabled, package with whl created %bcond_with bootstrap %bcond_with python36_module %bcond_with python2 %bcond_without python3 %global pypi_name wheel %global python_wheelname %{pypi_name}-%{version}-py2.py3-none-any.whl %if %{with python2} %global python2_wheeldir %{_datadir}/python2-wheels %global python2_wheelname %python_wheelname %endif # with python2 %if %{with python3} %global python3_wheeldir %{_datadir}/python3-wheels %global python3_wheelname %python_wheelname %endif # with python3 Name: python-%{pypi_name} Version: 0.31.1 Release: 3%{?dist} Epoch: 1 Summary: Built-package format for Python License: MIT URL: https://github.com/pypa/wheel Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch # We need to remove wheel's own implementation of crypto due to FIPS concerns. # See more: https://bugzilla.redhat.com/show_bug.cgi?id=1731526 # Upstream commit: https://github.com/pypa/wheel/commit/d3f5918ccbb1c79e2fc42b7766626a0aa20dc438 Patch0: removed-wheel-signing-and-verifying-features.patch %global _description \ A built-package format for Python.\ \ A wheel is a ZIP-format archive with a specially formatted filename and the\ .whl extension. It is designed to contain all the files for a PEP 376\ compatible install in a way that is very close to the on-disk format. %description %{_description} %if %{with python2} %package -n python2-%{pypi_name} Summary: %{summary} BuildRequires: python2-devel BuildRequires: python2-setuptools %if ! %{with bootstrap} BuildRequires: python2-pytest %endif %{?python_provide:%python_provide python2-%{pypi_name}} %description -n python2-%{pypi_name} %{_description} Python 2 version. %endif # with python2 %if %{with python3} %package -n python3-%{pypi_name} Summary: %{summary} %if %{with python36_module} BuildRequires: python36-devel BuildRequires: python36-rpm-macros %else BuildRequires: python3-devel %endif BuildRequires: python3-setuptools %if %{without bootstrap} BuildRequires: python3-pytest %endif # without bootstrap # Require alternatives version that implements the --keep-foreign flag Requires(postun): alternatives >= 1.19.1-1 # For alternatives Requires: python36 Requires(post): python36 Requires(postun): python36 %{?python_provide:%python_provide python3-%{pypi_name}} %description -n python3-%{pypi_name} %{_description} Python 3 version. %endif # with python3 %if %{without bootstrap} %if %{with python2} %package -n python2-%{pypi_name}-wheel Summary: The Python wheel module packaged as a wheel %description -n python2-%{pypi_name}-wheel A Python wheel of wheel to use with virtualenv. %endif %if %{with python3} %package -n python3-%{pypi_name}-wheel Summary: The Python wheel module packaged as a wheel %description -n python3-%{pypi_name}-wheel A Python wheel of wheel to use with virtualenv. %endif %endif %prep %autosetup -n %{pypi_name}-%{version} -p1 # remove unneeded shebangs sed -ie '1d' %{pypi_name}/{egg2wheel,wininst2wheel}.py %build %if %{with python2} export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 %py2_build %if %{without bootstrap} %py2_build_wheel %endif # without bootstrap %endif # with python2 %if %{with python3} %py3_build %if %{without bootstrap} %py3_build_wheel %endif # without bootstrap %endif # with python3 %install %if %{with python3} %py3_install mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python3_version}} # Create an empty file to be used by `alternatives` touch %{buildroot}%{_bindir}/%{pypi_name}-3 %endif %if %{with python2} export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 %py2_install mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python2_version}} ln -s %{pypi_name}-%{python2_version} %{buildroot}%{_bindir}/%{pypi_name}-2 %endif %if %{without bootstrap} %if %{with python2} mkdir -p %{buildroot}%{python2_wheeldir} install -p dist/%{python2_wheelname} -t %{buildroot}%{python2_wheeldir} %endif %if %{with python3} mkdir -p %{buildroot}%{python3_wheeldir} install -p dist/%{python3_wheelname} -t %{buildroot}%{python3_wheeldir} %endif %check rm setup.cfg # Remove part of the test that uses the "jsonschema" package sed -i '/jsonschema/d' tests/test_bdist_wheel.py export LC_ALL=C.UTF-8 %if %{with python2} export RHEL_ALLOW_PYTHON2_FOR_BUILD=1 PYTHONPATH=%{buildroot}%{python2_sitelib} py.test-2 -v --ignore build %endif # with python2 %if %{with python3} PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-3 -v --ignore build %endif # with python3 %endif # without bootstrap %if %{with python3} %post -n python3-%{pypi_name} alternatives --add-slave python3 %{_bindir}/python%{python3_version} \ %{_bindir}/%{pypi_name}-3 \ %{pypi_name}-3 \ %{_bindir}/%{pypi_name}-%{python3_version} %postun -n python3-%{pypi_name} # Do this only during uninstall process (not during update) if [ $1 -eq 0 ]; then alternatives --keep-foreign --remove-slave python3 %{_bindir}/python%{python3_version} \ %{pypi_name}-3 fi %endif %if %{with python2} %files -n python2-%{pypi_name} %license LICENSE.txt %doc CHANGES.txt README.rst %{_bindir}/%{pypi_name}-2 %{_bindir}/%{pypi_name}-%{python2_version} %{python2_sitelib}/%{pypi_name}* %endif %if %{with python3} %files -n python3-%{pypi_name} %license LICENSE.txt %doc CHANGES.txt README.rst %ghost %{_bindir}/%{pypi_name}-3 %{_bindir}/%{pypi_name}-%{python3_version} %{python3_sitelib}/%{pypi_name}* %endif %if %{without bootstrap} %if %{with python2} %files -n python2-%{pypi_name}-wheel %license LICENSE.txt # we own the dir for simplicity %dir %{python2_wheeldir}/ %{python2_wheeldir}/%{python2_wheelname} %endif %if %{with python3} %files -n python3-%{pypi_name}-wheel %license LICENSE.txt # we own the dir for simplicity %dir %{python3_wheeldir}/ %{python3_wheeldir}/%{python3_wheelname} %endif %endif %changelog * Thu Jul 29 2021 Tomas Orsava - 1:0.31.1-3 - Adjusted the postun scriptlets to enable upgrading to RHEL 9 - Resolves: rhbz#1933055 * Mon Jul 22 2019 Tomas Orsava - 1:0.31.1-2 - Removed wheel's own implementation of crypto due to FIPS concerns Resolves: rhbz#1731526 * Fri Jun 21 2019 Charalampos Stratakis - 1:0.31.1-1 - Update to 0.31.1 Resolves: rhbz#1671681 * Thu Jun 20 2019 Miro Hrončok - 1:0.30.0-14 - Create python{2,3}-wheel-wheel packages with the wheel of wheel Resolves: rhbz#1659550 * Thu Apr 25 2019 Tomas Orsava - 1:0.30.0-13 - Bumping due to problems with modular RPM upgrade path - Resolves: rhbz#1695587 * Thu Oct 04 2018 Lumír Balhar - 1:0.30.0-12 - Fix alternatives - post and postun sections only with python3 - Resolves: rhbz#1633534 * Mon Oct 01 2018 Lumír Balhar - 1:0.30.0-11 - Fix update of alternatives for wheel-3 - Resolves: rhbz#1633534 * Mon Oct 01 2018 Lumír Balhar - 1:0.30.0-10 - Add alternatives for wheel-3 - Resolves: rhbz#1633534 * Fri Aug 17 2018 Lumír Balhar - 1:0.30.0-9 - Remove python3 executables without full version suffix - Resolves: rhbz#1615727 * Fri Aug 17 2018 Lumír Balhar - 1:0.30.0-8 - Different BR for python36 module build - Resolves: rhbz#1615727 * Wed Aug 08 2018 Lumír Balhar - 1:0.30.0-7 - Remove unversioned binaries from python2 subpackage - Resolves: rhbz#1613343 * Tue Aug 07 2018 Lumír Balhar - 1:0.30.0-6 - Disable tests (enable bootstrap) - Build Python 3 version in python27 module * Tue Jul 03 2018 Tomas Orsava - 1:0.30.0-5 - This package might be built with the non-modular python2 package from RHEL8 buildroot and thus we need to enable it * Tue Jun 12 2018 Petr Viktorin - 1:0.30.0-4 - Also remove test dependency on python3-jsonschema * Wed May 30 2018 Petr Viktorin - 1:0.30.0-3 - Remove test dependency on python2-jsonschema https://bugzilla.redhat.com/show_bug.cgi?id=1584189 * Tue Apr 10 2018 Petr Viktorin - 1:0.30.0-2 - Remove build-time (test) dependency on python-keyring * Fri Feb 23 2018 Igor Gnatenko - 1:0.30.0-1 - Update to 0.30.0 * Fri Feb 09 2018 Fedora Release Engineering - 0.30.0a0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Tue Aug 29 2017 Tomas Orsava - 0.30.0a0-8 - Switch macros to bcond's and make Python 2 optional to facilitate building the Python 2 and Python 3 modules * Thu Jul 27 2017 Fedora Release Engineering - 0.30.0a0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sat Feb 11 2017 Fedora Release Engineering - 0.30.0a0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Tue Jan 03 2017 Charalampos Stratakis - 0.30.0a0-5 - Enable tests * Fri Dec 09 2016 Charalampos Stratakis - 0.30.0a0-4 - Rebuild for Python 3.6 without tests * Tue Dec 06 2016 Igor Gnatenko - 0.30.0a0-3 - Add bootstrap method * Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-2 - Use the python_provide macro * Mon Sep 19 2016 Charalampos Stratakis - 0.30.0a0-1 - Update to 0.30.0a0 - Added patch to remove keyrings.alt dependency * Wed Aug 10 2016 Igor Gnatenko - 0.29.0-1 - Update to 0.29.0 - Cleanups and fixes * Tue Jul 19 2016 Fedora Release Engineering - 0.26.0-3 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages * Thu Feb 04 2016 Fedora Release Engineering - 0.26.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Oct 13 2015 Robert Kuska - 0.26.0-1 - Update to 0.26.0 - Rebuilt for Python3.5 rebuild * Thu Jun 18 2015 Fedora Release Engineering - 0.24.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Jan 13 2015 Slavek Kabrda - 0.24.0-3 - Make spec buildable in EPEL 6, too. - Remove additional sources added to upstream tarball. * Sat Jan 03 2015 Matej Cepl - 0.24.0-2 - Make python3 conditional (switched off for RHEL-7; fixes #1131111). * Mon Nov 10 2014 Slavek Kabrda - 0.24.0-1 - Update to 0.24.0 - Remove patches merged upstream * Sun Jun 08 2014 Fedora Release Engineering - 0.22.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri Apr 25 2014 Matej Stuchlik - 0.22.0-3 - Another rebuild with python 3.4 * Fri Apr 18 2014 Matej Stuchlik - 0.22.0-2 - Rebuild with python 3.4 * Thu Nov 28 2013 Bohuslav Kabrda - 0.22.0-1 - Initial package.