# Generated by rust2rpm 21
%bcond_without check

%global crate krunvm

Name:           rust-%{crate}
Version:        0.1.6
Release:        1%{?dist}
Summary:        Create microVMs from OCI images

# Upstream license specification: Apache-2.0
License:        ASL 2.0
URL:            https://crates.io/crates/krunvm
Source:         %{crates_source}
# Remove dependency on text_io crate, as it's only used on macOS
Patch0:         krunvm-remove-text_io.diff

# This crate depends on libkrun and it's only available on x86_64 and aarch64
ExclusiveArch:  x86_64 aarch64

BuildRequires:  rust-packaging >= 21
BuildRequires:  libkrun-devel
BuildRequires:  asciidoctor

%global _description %{expand:
Create microVMs from OCI images.}

%description %{_description}

%package     -n %{crate}
Summary:        %{summary}
# ASL 2.0: krunvm
# MIT or ASL 2.0: rust-bitflags 1.3.2
# MIT or ASL 2.0: rust-directories 3.0.2
# MIT or ASL 2.0: rust-dirs-sys 0.3.7
# MIT or ASL 2.0: rust-libc 0.2.126
# MIT or ASL 2.0: rust-proc-macro2 1.0.40
# MIT or ASL 2.0: rust-quote 1.0.18
# MIT or ASL 2.0: rust-serde 1.0.137
# MIT or ASL 2.0: rust-serde_derive 1.0.137
# MIT or ASL 2.0: rust-syn 1.0.98
# MIT or ASL 2.0: rust-toml 0.5.9
# MIT or ASL 2.0: rust-unicode-ident 1.0.1
# MIT or ASL 2.0: rust-unicode-width 0.1.9
# MIT or ASL 2.0: rust-vec_map 0.8.2
# MIT or MIT or ASL 2.0: rust-confy 0.4.0
# MIT: rust-ansi_term 0.12.1
# MIT: rust-atty 0.2.14
# MIT: rust-clap2 2.34.0
# MIT: rust-strsim 0.10.0
# MIT: rust-textwrap0.11 0.11.0
License:        ASL 2.0 and MIT
Requires:       buildah

%description -n %{crate} %{_description}

%files       -n %{crate}
%license LICENSE
%doc CODE-OF-CONDUCT.md README.md SECURITY.md
%{_bindir}/krunvm
%{_mandir}/man1/krunvm*.1*

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

%generate_buildrequires
%cargo_generate_buildrequires

%build
%cargo_build

%install
%cargo_install
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-changevm.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-config.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-create.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-delete.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-list.1
install -Dpm0644 -t %{buildroot}%{_mandir}/man1 \
  target/release/build/%{crate}-*/out/krunvm-start.1

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

%changelog
* Mon Jul 18 2022 Sergio Lopez <slp@redhat.com> - 0.1.6-1
- Initial package