You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-rkyv/rust-rkyv.spec

202 lines
5.6 KiB

# Generated by rust2rpm 27
%bcond check 1
%global debug_package %{nil}
%global crate rkyv
Name: rust-rkyv
Version: 0.8.9
Release: %autorelease
Summary: Zero-copy deserialization framework for Rust
License: MIT
URL: https://crates.io/crates/rkyv
Source: %{crates_source}
# Manually created patch for downstream crate metadata changes
# * Where possible, patch out "support for common crates" features. Many of
# these have satisfiable dependencies and could be packaged if something
# specifically requires them. Upstream plans to remove these crate-integration
# features in 1.0:
# https://github.com/rkyv/rkyv/blob/89a1bc48229ca6ac5ee620964d778293270257d0/rkyv/Cargo.toml#L29-L32
# * Patch out the ui test, which seems to require *all* integrations, even the
# patched-out ones
Patch: rkyv-fix-metadata.diff
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: dos2unix
BuildRequires: tomcli
%global _description %{expand:
Zero-copy deserialization framework 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
%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}+aligned-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+aligned-devel %{_description}
This package contains library source intended for building other packages which
use the "aligned" feature of the "%{crate}" crate.
%files -n %{name}+aligned-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+alloc-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+alloc-devel %{_description}
This package contains library source intended for building other packages which
use the "alloc" feature of the "%{crate}" crate.
%files -n %{name}+alloc-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+big_endian-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+big_endian-devel %{_description}
This package contains library source intended for building other packages which
use the "big_endian" feature of the "%{crate}" crate.
%files -n %{name}+big_endian-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+bytecheck-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+bytecheck-devel %{_description}
This package contains library source intended for building other packages which
use the "bytecheck" feature of the "%{crate}" crate.
%files -n %{name}+bytecheck-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+little_endian-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+little_endian-devel %{_description}
This package contains library source intended for building other packages which
use the "little_endian" feature of the "%{crate}" crate.
%files -n %{name}+little_endian-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+pointer_width_16-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+pointer_width_16-devel %{_description}
This package contains library source intended for building other packages which
use the "pointer_width_16" feature of the "%{crate}" crate.
%files -n %{name}+pointer_width_16-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+pointer_width_32-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+pointer_width_32-devel %{_description}
This package contains library source intended for building other packages which
use the "pointer_width_32" feature of the "%{crate}" crate.
%files -n %{name}+pointer_width_32-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+pointer_width_64-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+pointer_width_64-devel %{_description}
This package contains library source intended for building other packages which
use the "pointer_width_64" feature of the "%{crate}" crate.
%files -n %{name}+pointer_width_64-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+std-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+std-devel %{_description}
This package contains library source intended for building other packages which
use the "std" feature of the "%{crate}" crate.
%files -n %{name}+std-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+unaligned-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+unaligned-devel %{_description}
This package contains library source intended for building other packages which
use the "unaligned" feature of the "%{crate}" crate.
%files -n %{name}+unaligned-devel
%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version} -p1
# Do not depend on divan; it is needed only for benchmarks.
tomcli set Cargo.toml del dev-dependencies.divan
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
%build
%cargo_build
%install
%cargo_install
%if %{with check}
%check
%cargo_test
%endif
%changelog
%autochangelog