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

87 lines
1.8 KiB
RPMSpec
Raw Permalink Normal View History

2023-07-20 18:42:27 +00:00
%global srcname rpds-py
%global modname rpds_py
Name: python-rpds-py
2024-01-27 17:02:57 +00:00
Version: 0.17.1
2023-07-20 18:42:27 +00:00
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:
2023-10-12 15:49:56 +00:00
# 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
2023-07-20 18:42:27 +00:00
%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} %{?rhel:-a1}
2023-07-20 18:42:27 +00:00
# Fix line terminations
dos2unix README* LICENSE* *.pyi
2023-12-29 19:45:04 +00:00
# Fix for bad requirements dependency
sed -r -i 's/^file:/# &/' tests/requirements.in
%cargo_prep %{?rhel:-v vendor}
rm -f Cargo.lock
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
%if %{defined rhel}
%cargo_vendor_manifest
%endif
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
%if %{defined rhel}
%license cargo-vendor.txt
%endif
2023-07-20 18:42:27 +00:00
%doc README.rst
%changelog
%autochangelog