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

%global crate io-uring

Name:           rust-io-uring
Version:        0.6.4
Release:        %autorelease
Summary:        Low-level io_uring userspace interface for Rust

License:        MIT OR Apache-2.0
URL:            https://crates.io/crates/io-uring
Source:         %{crates_source}
# Manually created patch for downstream crate metadata changes
# * drop feature for making syscalls directly (not available on all arches)
# * drop feature for regenerating bindings at build-time;
#   otherwise kernel header changes frequently break builds of this crate
Patch:          io-uring-fix-metadata.diff

BuildRequires:  cargo-rpm-macros >= 24

%global _description %{expand:
The low-level `io_uring` userspace interface for Rust.}

%description %{_description}

%package        devel
Summary:        %{summary}
BuildArch:      noarch

%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}+io_safety-devel
Summary:        %{summary}
BuildArch:      noarch

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

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

%files       -n %{name}+io_safety-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
%ifnarch %{ix86}
# * hardcoded struct layout / alignment tests from bindgen are broken on i686
%cargo_test
%endif
%endif

%changelog
%autochangelog