python-rpds-py/python-rpds-py.spec

88 lines
2.0 KiB
RPMSpec
Raw Normal View History

2023-07-20 18:42:27 +00:00
%global srcname rpds-py
%global modname rpds_py
Name: python-rpds-py
Version: 0.9.2
Release: %autorelease
Summary: Python bindings to the Rust rpds crate
# Full license breakdown in LICENSES.dependencies
License: MIT AND Apache-2.0 AND (MIT OR Apache-2.0) AND MPL-2.0
URL: https://github.com/crate-py/rpds
Source0: %{pypi_source %{modname}}
# To create the vendor tarball:
# tar xf %%{name}-%%{version}.crate ; pushd %%{name}-%%{version} ; \
# patch -p1 < ../bump-dependencies.patch && \
# cargo vendor && tar Jcvf ../%%{name}-%%{version}-vendor.tar.xz vendor/ ; pushd
Source1: %{modname}-%{version}-vendor.tar.xz
2023-07-20 18:42:27 +00:00
# Bump archery and rpds dependencies to v1.0.0
Patch: bump-dependencies.patch
%if 0%{?rhel}
BuildRequires: rust-toolset
%else
2023-07-20 18:42:27 +00:00
BuildRequires: cargo-rpm-macros
%endif
2023-07-20 18:42:27 +00:00
BuildRequires: dos2unix
BuildRequires: python3-devel
BuildRequires: python3-pytest
2023-07-20 18:42:27 +00:00
%global _description %{expand:
Python bindings to the Rust rpds crate.}
%description %_description
%package -n python3-%{srcname}
Summary: %{summary}
%description -n python3-%{srcname} %_description
%prep
%autosetup -p1 -n %{modname}-%{version}
# Fix line terminations
dos2unix README* LICENSE* *.pyi
# Remove an unused test dependency on hypothesis
# Namely to avoid pulling it in RHEL,
# but also to avoid an unnecessary build dependency in general
# Proposed upstream as https://github.com/crate-py/rpds/pull/25
# The patch does not apply cleanly, we sed it out instead
sed -i '/hypothesis/d' tests/requirements.in
%cargo_prep %{?rhel:-V 1}
2023-07-20 18:42:27 +00:00
%generate_buildrequires
%pyproject_buildrequires tests/requirements.in
%if %{undefined rhel}
2023-07-20 18:42:27 +00:00
%cargo_generate_buildrequires
%endif
2023-07-20 18:42:27 +00:00
%build
export RUSTFLAGS='%{build_rustflags}'
%{?cargo_license_summary}
%{?cargo_license} > LICENSES.dependencies
2023-07-20 18:42:27 +00:00
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files rpds
%check
%pytest -vv
%files -n python3-%{srcname} -f %{pyproject_files}
%license LICENSE LICENSES.dependencies
%doc README.rst
%changelog
%autochangelog