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

%global crate ahash

Name:           rust-ahash
Version:        0.8.11
Release:        %autorelease
Summary:        Non-cryptographic hash function using AES-NI for high performance

License:        MIT OR Apache-2.0
URL:            https://crates.io/crates/ahash
Source:         %{crates_source}
# Manually created patch for downstream crate metadata changes
# * drop unused benchmarks and benchmark-only criterion dev-dependency
Patch:          ahash-fix-metadata.diff

BuildRequires:  cargo-rpm-macros >= 24

%global _description %{expand:
A non-cryptographic hash function using AES-NI for high performance.}

%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}/FAQ.md
%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}+atomic-polyfill-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+atomic-polyfill-devel %{_description}

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

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

%package     -n %{name}+compile-time-rng-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+compile-time-rng-devel %{_description}

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

%files       -n %{name}+compile-time-rng-devel
%ghost %{crate_instdir}/Cargo.toml

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

%description -n %{name}+const-random-devel %{_description}

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

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

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

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

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

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

%package     -n %{name}+nightly-arm-aes-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+nightly-arm-aes-devel %{_description}

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

%files       -n %{name}+nightly-arm-aes-devel
%ghost %{crate_instdir}/Cargo.toml

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

%description -n %{name}+no-rng-devel %{_description}

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

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

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

%description -n %{name}+runtime-rng-devel %{_description}

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

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

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

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

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

%files       -n %{name}+serde-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

%prep
%autosetup -n %{crate}-%{version} -p1
%cargo_prep
# remove benchmark sources from non-standard path in tests/
rm tests/{bench.rs,map_tests.rs}

%generate_buildrequires
%cargo_generate_buildrequires

%build
%cargo_build

%install
%cargo_install

%if %{with check}
%check
%ifarch x86_64 aarch64 ppc64le
%cargo_test
%endif
%ifarch %{ix86}
# * skip tests that cannot allocate enough memory
%cargo_test -- -- --skip hash_quality_test::fallback_tests::fallback_test_no_full_collisions
%endif
%ifarch s390x
# * one test fails only on s390x:
#   https://github.com/tkaitchuck/aHash/issues/152
%cargo_test -- -- --skip operations::test::test_add_length
%endif
%endif

%changelog
%autochangelog