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

%global crate matrixmultiply

Name:           rust-matrixmultiply
Version:        0.3.8
Release:        %autorelease
Summary:        General matrix multiplication for f32 and f64 matrices

# Upstream license specification: MIT/Apache-2.0
License:        MIT OR Apache-2.0
URL:            https://crates.io/crates/matrixmultiply
Source:         %{crates_source}
# Manually created patch for downstream crate metadata changes
# * exclude extraneous unused source files
Patch:          matrixmultiply-fix-metadata.diff

BuildRequires:  rust-packaging >= 21

%global _description %{expand:
General matrix multiplication for f32 and f64 matrices. Operates on
matrices with general layout (they can use arbitrary row and column
stride). Detects and uses AVX or SSE2 on x86 platforms transparently for
higher performance. Uses a microkernel strategy, so that the
implementation is easy to parallelize and optimize. Supports
multithreading.}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

%files       -n %{name}+once_cell-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}+thread-tree-devel
Summary:        %{summary}
BuildArch:      noarch

%description -n %{name}+thread-tree-devel %{_description}

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

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

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

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

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

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

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

%generate_buildrequires
%cargo_generate_buildrequires

%build
%cargo_build

%install
%cargo_install

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

%changelog
%autochangelog