85 lines
2.3 KiB
RPMSpec
85 lines
2.3 KiB
RPMSpec
|
Name: python-hatchling
|
|||
|
Version: 0.11.3
|
|||
|
Release: %autorelease
|
|||
|
Summary: The build backend used by Hatch
|
|||
|
|
|||
|
License: MIT
|
|||
|
URL: https://pypi.org/project/hatchling
|
|||
|
Source0: %{pypi_source hatchling}
|
|||
|
# Man page in groff_man(7) format, written for Fedora based on package metadata
|
|||
|
# and --help output
|
|||
|
Source1: hatchling.1
|
|||
|
|
|||
|
# Based on https://github.com/hukkin/tomli/blob/2.0.0/CHANGELOG.md#200, we
|
|||
|
# should be able to use tomli 1.2.2 until
|
|||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2032020 is closed.
|
|||
|
#
|
|||
|
# It doesn’t make sense to upstream this, as it really would be better to use a
|
|||
|
# current release.
|
|||
|
Patch: hatchling-0.11.0-allow-tomli-1.2.2.patch
|
|||
|
|
|||
|
BuildArch: noarch
|
|||
|
|
|||
|
BuildRequires: python3-devel
|
|||
|
|
|||
|
%global common_description %{expand:
|
|||
|
This is the extensible, standards compliant build backend used by Hatch.}
|
|||
|
|
|||
|
%description %{common_description}
|
|||
|
|
|||
|
|
|||
|
%package -n python3-hatchling
|
|||
|
Summary: %{summary}
|
|||
|
|
|||
|
%description -n python3-hatchling %{common_description}
|
|||
|
|
|||
|
|
|||
|
%prep
|
|||
|
%autosetup -n hatchling-%{version} -p1
|
|||
|
cp -p '%{SOURCE1}' .
|
|||
|
|
|||
|
|
|||
|
%generate_buildrequires
|
|||
|
# Cannot use -r (the default) with hatchling: “ValueError: build backend cannot
|
|||
|
# provide build metadata (incl. runtime requirements) before build”. We work
|
|||
|
# around this by writing the dependencies from src/hatchling/ourobororos.py
|
|||
|
# into a text file.
|
|||
|
PYTHONPATH="${PWD}/src" '%{python3}' <<EOF
|
|||
|
from hatchling.ouroboros import CONFIG
|
|||
|
|
|||
|
deps = CONFIG['project']['dependencies']
|
|||
|
with open('requirements.ouroboros.txt', 'w') as reqfile:
|
|||
|
reqfile.writelines(f'{dep}\n' for dep in deps)
|
|||
|
EOF
|
|||
|
%pyproject_buildrequires -R requirements.ouroboros.txt
|
|||
|
|
|||
|
|
|||
|
%build
|
|||
|
%pyproject_wheel
|
|||
|
|
|||
|
|
|||
|
%install
|
|||
|
%pyproject_install
|
|||
|
%pyproject_save_files hatchling
|
|||
|
install -t '%{buildroot}/%{_mandir}/man1' -D -p -m 0644 hatchling.1
|
|||
|
|
|||
|
|
|||
|
%check
|
|||
|
# It’s not yet clear how, or if, we can run the upstream tests.
|
|||
|
# https://github.com/ofek/hatch/issues/120
|
|||
|
%pyproject_check_import
|
|||
|
|
|||
|
|
|||
|
%files -n python3-hatchling -f %{pyproject_files}
|
|||
|
# The license file is installed in an unusual subdirectory:
|
|||
|
%dir %{python3_sitelib}/hatchling-%{version}.dist-info/license_files
|
|||
|
%license %{python3_sitelib}/hatchling-%{version}.dist-info/license_files/LICENSE.txt
|
|||
|
%doc README.md
|
|||
|
|
|||
|
%{_bindir}/hatchling
|
|||
|
%{_mandir}/man1/hatchling.1*
|
|||
|
|
|||
|
|
|||
|
%changelog
|
|||
|
%autochangelog
|