Toshaan Bharvani
2 months ago
commit
2d318d36fe
2 changed files with 149 additions and 0 deletions
@ -0,0 +1,149 @@
@@ -0,0 +1,149 @@
|
||||
%global __python3 /usr/bin/python3.11 |
||||
%global python3_pkgversion 3.11 |
||||
|
||||
# The function of bootstrap is that it disables the wheel subpackage |
||||
%bcond_with bootstrap |
||||
|
||||
# Default: when bootstrapping -> disable tests |
||||
%if %{with bootstrap} |
||||
%bcond_with tests |
||||
%else |
||||
%bcond_without tests |
||||
%endif |
||||
|
||||
# Similar to what we have in pythonX.Y.spec files. |
||||
# If enabled, provides unversioned executables and other stuff. |
||||
# Disable it if you build this package in an alternative stack. |
||||
%bcond_with main_python |
||||
|
||||
%global pypi_name wheel |
||||
%global python_wheel_name %{pypi_name}-%{version}-py3-none-any.whl |
||||
|
||||
Name: python%{python3_pkgversion}-%{pypi_name} |
||||
Version: 0.38.4 |
||||
Release: 3%{?dist} |
||||
Summary: Built-package format for Python |
||||
|
||||
# packaging is ASL 2.0 or BSD |
||||
License: MIT and (ASL 2.0 or BSD) |
||||
URL: https://github.com/pypa/wheel |
||||
Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz |
||||
BuildArch: noarch |
||||
|
||||
BuildRequires: python%{python3_pkgversion}-devel |
||||
BuildRequires: python%{python3_pkgversion}-rpm-macros |
||||
BuildRequires: python%{python3_pkgversion}-setuptools |
||||
|
||||
# python3 bootstrap: this is rebuilt before the final build of python3, which |
||||
# adds the dependency on python3-rpm-generators, so we require it manually |
||||
BuildRequires: python3-rpm-generators |
||||
|
||||
%if %{with tests} |
||||
BuildRequires: python%{python3_pkgversion}-pytest |
||||
# several tests compile extensions |
||||
# those tests are skipped if gcc is not found |
||||
BuildRequires: gcc |
||||
%endif |
||||
|
||||
# Virtual provides for the packages bundled by wheel. |
||||
# Actual version can be found in git history: |
||||
# https://github.com/pypa/wheel/commits/master/src/wheel/vendored/packaging/tags.py |
||||
%global bundled %{expand: |
||||
Provides: bundled(python%{python3_version}dist(packaging)) = 21.3 |
||||
} |
||||
|
||||
%{bundled} |
||||
|
||||
%global _description %{expand: |
||||
Wheel is the reference implementation of the Python wheel packaging standard, |
||||
as defined in PEP 427. |
||||
|
||||
It has two different roles: |
||||
|
||||
1. A setuptools extension for building wheels that provides the bdist_wheel |
||||
setuptools command. |
||||
2. A command line tool for working with wheel files.} |
||||
|
||||
%description %{_description} |
||||
|
||||
%if %{without bootstrap} |
||||
%package -n %{python_wheel_pkg_prefix}-%{pypi_name}-wheel |
||||
Summary: The Python wheel module packaged as a wheel |
||||
%{bundled} |
||||
|
||||
%description -n %{python_wheel_pkg_prefix}-%{pypi_name}-wheel |
||||
A Python wheel of wheel to use with virtualenv. |
||||
%endif |
||||
|
||||
|
||||
%prep |
||||
%autosetup -n %{pypi_name}-%{version} -p1 |
||||
|
||||
|
||||
%build |
||||
%py3_build |
||||
|
||||
|
||||
%install |
||||
%py3_install |
||||
mv %{buildroot}%{_bindir}/%{pypi_name}{,-%{python3_version}} |
||||
%if %{with main_python} |
||||
ln -s %{pypi_name}-%{python3_version} %{buildroot}%{_bindir}/%{pypi_name}-3 |
||||
ln -s %{pypi_name}-3 %{buildroot}%{_bindir}/%{pypi_name} |
||||
%endif |
||||
|
||||
%if %{without bootstrap} |
||||
# We can only use bdist_wheel when wheel is installed, hence we don't build the wheel in %%build |
||||
export PYTHONPATH=%{buildroot}%{python3_sitelib} |
||||
%py3_build_wheel |
||||
mkdir -p %{buildroot}%{python_wheel_dir} |
||||
install -p dist/%{python_wheel_name} -t %{buildroot}%{python_wheel_dir} |
||||
%endif |
||||
|
||||
|
||||
%if %{with tests} |
||||
%check |
||||
rm setup.cfg # to drop pytest coverage options configured there |
||||
%pytest -v --ignore build |
||||
%endif |
||||
|
||||
%files -n python%{python3_pkgversion}-%{pypi_name} |
||||
%license LICENSE.txt |
||||
%doc README.rst |
||||
%{_bindir}/%{pypi_name}-%{python3_version} |
||||
%if %{with main_python} |
||||
%{_bindir}/%{pypi_name} |
||||
%{_bindir}/%{pypi_name}-3 |
||||
%endif |
||||
%{python3_sitelib}/%{pypi_name}*/ |
||||
|
||||
%if %{without bootstrap} |
||||
%files -n %{python_wheel_pkg_prefix}-%{pypi_name}-wheel |
||||
%license LICENSE.txt |
||||
# we own the dir for simplicity |
||||
%dir %{python_wheel_dir}/ |
||||
%{python_wheel_dir}/%{python_wheel_name} |
||||
%endif |
||||
|
||||
%changelog |
||||
* Wed Feb 01 2023 Charalampos Stratakis <cstratak@redhat.com> - 0.38.4-3 |
||||
- Explicitly require the python3.11-rpm-macros |
||||
|
||||
* Wed Feb 01 2023 Charalampos Stratakis <cstratak@redhat.com> - 0.38.4-2 |
||||
- Disable bootstrap |
||||
|
||||
* Tue Dec 13 2022 Charalampos Stratakis <cstratak@redhat.com> - 0.38.4-1 |
||||
- Initial package |
||||
- Fedora contributions by: |
||||
Charalampos Stratakis <cstratak@redhat.com> |
||||
Dennis Gilmore <dennis@ausil.us> |
||||
Haikel Guemar <hguemar@fedoraproject.org> |
||||
Igor Gnatenko <ignatenkobrain@fedoraproject.org> |
||||
Karolina Surma <ksurma@redhat.com> |
||||
Lumir Balhar <lbalhar@redhat.com> |
||||
Matej Stuchlik <mstuchli@redhat.com> |
||||
Miro Hrončok <miro@hroncok.cz> |
||||
Robert Kuska <rkuska@redhat.com> |
||||
Slavek Kabrda <bkabrda@redhat.com> |
||||
Tomas Hrnciar <thrnciar@redhat.com> |
||||
Tomas Orsava <torsava@redhat.com> |
Loading…
Reference in new issue