python-rpds-py/python-rpds-py.spec
Yaakov Selkowitz bc31ffa85d Revendor
Also, minimize diff from rawhide where possible.
2023-11-26 19:51:39 -05:00

78 lines
1.6 KiB
RPMSpec

%global srcname rpds-py
%global modname rpds_py
Name: python-rpds-py
Version: 0.13.1
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
Source: %{pypi_source %{modname}}
# To create the vendor tarball:
# tar xf %%{modname}-%%{version}.tar.gz ; pushd %%{modname}-%%{version} ; \
# cargo vendor && tar Jcvf ../%%{modname}-%%{version}-vendor.tar.xz vendor/ ; pushd
Source: %{modname}-%{version}-vendor.tar.xz
%if 0%{?rhel}
BuildRequires: rust-toolset
%else
BuildRequires: cargo-rpm-macros
%endif
BuildRequires: dos2unix
BuildRequires: python3-devel
BuildRequires: python3-pytest
%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
%cargo_prep %{?rhel:-V 1}
rm -f Cargo.lock
%generate_buildrequires
%pyproject_buildrequires tests/requirements.in
%if %{undefined rhel}
%cargo_generate_buildrequires
%endif
%build
export RUSTFLAGS='%{build_rustflags}'
%cargo_license_summary
%{cargo_license} > LICENSES.dependencies
%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