pyproject-rpm-macros/tests/python-userpath.spec
Miro Hrončok 92ad52e5d4 %pyproject_save_files: Support License-Files installed into the *Root License Directory* from PEP 369
Files still need to be marked as License-File to be considered %license,
but if their path in METADATA is specified relative to dist-info/licenses,
they are correctly recognised.

This makes License-Files specified by hatchling 1.9.0+ marked as %license.
2022-09-19 18:22:03 +02:00

62 lines
1.5 KiB
RPMSpec

Name: python-userpath
Version: 1.8.0
Release: 1%{?dist}
Summary: Cross-platform tool for adding locations to the user PATH
License: MIT
URL: https://github.com/ofek/userpath
Source: %{pypi_source userpath}
BuildArch: noarch
BuildRequires: python3-devel
%description
This package uses hatchling as build backend.
This package is tested because:
- the prepare_metadata_for_build_wheel hook does not exist,
%%pyproject_buildrequires -w is used
https://github.com/ofek/hatch/issues/128
- the licenses are stored in a dist-info subdirectory
https://bugzilla.redhat.com/1985340
(as of hatchling 0.22.0, not yet marked as License-File)
%package -n python3-userpath
Summary: %{summary}
%description -n python3-userpath
...
%prep
%autosetup -p1 -n userpath-%{version}
sed -Ei '/^(coverage)$/d' requirements-dev.txt
%generate_buildrequires
%pyproject_buildrequires requirements-dev.txt -w
## %%pyproject_buildrequires -w makes this redundant:
# %%build
# %%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files userpath
%check
%pytest
%if 0%{?fedora} > 35 || 0%{?rhel} > 9
# Internal check that license file was recognized correctly with hatchling 1.9.0+
grep '^%%license' %{pyproject_files} > tested.license
echo '%%license %{python3_sitelib}/userpath-%{version}.dist-info/licenses/LICENSE.txt' > expected.license
diff tested.license expected.license
%endif
%files -n python3-userpath -f %{pyproject_files}
%{_bindir}/userpath