Blob Blame History Raw
# Generated by rust2rpm 26
%bcond_without check
%global debug_package %{nil}

%global crate pyo3-ffi

Name:           rust-pyo3-ffi
Version:        0.21.2
Release:        %autorelease
Summary:        Python-API bindings for the PyO3 ecosystem

License:        MIT OR Apache-2.0
URL:            https://crates.io/crates/pyo3-ffi
Source:         %{crates_source}
# Manually created patch for downstream crate metadata changes
# * drop MSVC- and MinGW-only features
Patch:          pyo3-ffi-fix-metadata.diff

# Downstream-only patch: always allow unsupported versions of Python.
# We constantly attempt to integrate alpha and beta releases of Python
# and need to rebuild all dependent packages in Copr, also those that
# use pyo3-ffi without patching each and every one of them,
# hence we explicitly allow to skip version check when building RPMs.
Patch:          Allow-unsupported-Python-versions-in-RPM-builds.patch

BuildRequires:  cargo-rpm-macros >= 24
BuildRequires:  python3-devel >= 3.7

%global _description %{expand:
Python-API bindings for the PyO3 ecosystem.}

%description %{_description}

%package        devel
Summary:        %{summary}
BuildArch:      noarch
Requires:       python3-devel >= 3.7

%description    devel %{_description}

This package contains library source intended for building other packages which
use the "%{crate}" crate.

%files          devel
%license %{crate_instdir}/LICENSE-APACHE
%license %{crate_instdir}/LICENSE-MIT
%doc %{crate_instdir}/README.md
%{crate_instdir}/

%package     -n %{name}+default-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+default-devel %{_description}

This package contains library source intended for building other packages which
use the "default" feature of the "%{crate}" crate.

%files       -n %{name}+default-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py310-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py310-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py310" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py310-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py311-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py311-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py311" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py311-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py312-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py312-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py312" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py312-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py37-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py37-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py37" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py37-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py38-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py38-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py38" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py38-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+abi3-py39-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+abi3-py39-devel %{_description}

This package contains library source intended for building other packages which
use the "abi3-py39" feature of the "%{crate}" crate.

%files       -n %{name}+abi3-py39-devel
%ghost %{crate_instdir}/Cargo.toml

%package     -n %{name}+extension-module-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+extension-module-devel %{_description}

This package contains library source intended for building other packages which
use the "extension-module" feature of the "%{crate}" crate.

%files       -n %{name}+extension-module-devel
%ghost %{crate_instdir}/Cargo.toml

%prep
%autosetup -n %{crate}-%{version} -p1
%cargo_prep

%generate_buildrequires
%cargo_generate_buildrequires

%build
%cargo_build

%install
%cargo_install

%if %{with check}
%check
%cargo_test
%endif

%changelog
%autochangelog