Port to pyproject-rpm-macros

This commit is contained in:
Benjamin A. Beasley 2021-06-14 16:17:52 -04:00
parent 04c185dbc0
commit 18174a33e0

View File

@ -1,18 +1,9 @@
%global srcname pyrsistent
%global common_description %{expand:
Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are
immutable.
All methods on a data structure that would normally mutate it instead
return a new copy of the structure containing the requested updates. The
original structure is left untouched.}
Name: python-%{srcname}
Summary: Persistent/Functional/Immutable data structures
Version: 0.17.3
Release: 7%{?dist}
Release: 8%{?dist}
# The entire source is MIT, except pyrsistent/_toolz.py which is BSD.
License: MIT and BSD
@ -22,10 +13,19 @@ Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz
# Relax dependencies specified in setup.py (allow newer pytest/hypothesis)
Patch0: 00-relax-dependencies.patch
BuildRequires: gcc
BuildRequires: python3-devel
BuildRequires: pyproject-rpm-macros
BuildRequires: gcc
# For Sphinx documentation
BuildRequires: make
# We need manual BRs since they are generally not available where
# %%pyproject_buildrequires can access them, i.e., outside requirements.txt,
# and even in requirements.txt a number of packages are not actually required
# for the RPM build.
# ============================================================================
# From requirements.txt:
@ -57,8 +57,10 @@ BuildRequires: python3dist(sphinx-rtd-theme)
# ----------------------------------------------------------------------------
# tox
# ----------------------------------------------------------------------------
# We do not need this, since it is implied by pyproject-rpm-macros.
# ----------------------------------------------------------------------------
# setuptools>=0.16.1
BuildRequires: python3dist(setuptools) >= 0.16.1
# ----------------------------------------------------------------------------
# We do not need these for the RPM build either.
@ -73,9 +75,22 @@ BuildRequires: python3dist(pytest-runner)
# Note that pyrsistent/_toolz.py contains a bit of code ported from toolz, but
# not enough to constitute a bundled dependency.
%global common_description %{expand:
Pyrsistent is a number of persistent collections (by some referred to as
functional data structures). Persistent in the sense that they are
immutable.
All methods on a data structure that would normally mutate it instead
return a new copy of the structure containing the requested updates. The
original structure is left untouched.}
%description %{common_description}
%generate_buildrequires
%pyproject_buildrequires -r
%package -n python3-%{srcname}
Summary: %{summary}
@ -95,7 +110,7 @@ BuildArch: noarch
%build
%py3_build
%pyproject_wheel
# Default SPHINXOPTS are '-W -n', but -W turns warnings into errors and there
# are some warnings. We want to build the documentation as best we can anyway.
@ -105,7 +120,8 @@ rm -f docs/build/html/.buildinfo
%install
%py3_install
%pyproject_install
%pyproject_save_files %{srcname} _%{srcname}_version pvectorc
%check
@ -114,15 +130,9 @@ rm -f docs/build/html/.buildinfo
env PYTHONHASHSEED=0 %pytest --doctest-modules %{srcname}
%files -n python3-%{srcname}
%files -n python3-%{srcname} -f %{pyproject_files}
%license LICENCE.mit
%pycached %{python3_sitearch}/_pyrsistent_version.py
%{python3_sitearch}/%{srcname}/
%{python3_sitearch}/pvectorc.cpython-3*.so
%{python3_sitearch}/%{srcname}-%{version}-py%{python3_version}.egg-info/
%files doc
%license LICENCE.mit
@ -132,6 +142,9 @@ env PYTHONHASHSEED=0 %pytest --doctest-modules %{srcname}
%changelog
* Mon Jun 14 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17.3-8
- Port to pyproject-rpm-macros
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.17.3-7
- Rebuilt for Python 3.10