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-sequoia-wot/rust-sequoia-wot.spec

146 lines
4.4 KiB

# Generated by rust2rpm 24
%bcond_without check
%global crate sequoia-wot
Name: rust-sequoia-wot
Version: 0.5.0
Release: %autorelease
Summary: Implementation of OpenPGP's web of trust
License: LGPL-2.0-or-later
URL: https://crates.io/crates/sequoia-wot
Source: %{crates_source}
# Automatically generated patch to strip foreign dependencies
Patch: sequoia-wot-fix-metadata-auto.diff
# Manually created patch for downstream crate metadata changes
# * bump sequoia-net dependency from 0.26 to 0.27
# * bump sequoia-policy-config dependency from 0.5 to 0.6
# * expose features for crypto backends without setting a default
Patch: sequoia-wot-fix-metadata.diff
BuildRequires: rust-packaging >= 23
%global _description %{expand:
An implementation of OpenPGP's web of trust.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# Apache-2.0
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSL-1.0
# LGPL-2.0-or-later
# LGPL-3.0 OR GPL-2.0 OR GPL-3.0
# LGPL-3.0+
# MIT
# MIT OR Apache-2.0
# MIT OR Apache-2.0 OR Zlib
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
License: LGPL-2.0-or-later AND Apache-2.0 AND BSL-1.0 AND LGPL-3.0+ AND MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (LGPL-3.0 OR GPL-2.0 OR GPL-3.0) AND (MIT OR Apache-2.0 OR Zlib) AND (Unlicense OR MIT)
# LICENSE.dependencies contains a full license breakdown
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE.txt
%license LICENSE.dependencies
%doc CONTRIBUTING.md
%doc README.md
%{_bindir}/sq-wot
%{_mandir}/man1/sq-wot*
%{bash_completions_dir}/sq-wot.bash
%{fish_completions_dir}/sq-wot.fish
%{zsh_completions_dir}/_sq-wot
%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.txt
%doc %{crate_instdir}/CONTRIBUTING.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}+crypto-nettle-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+crypto-nettle-devel %{_description}
This package contains library source intended for building other packages which
use the "crypto-nettle" feature of the "%{crate}" crate.
%files -n %{name}+crypto-nettle-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+crypto-openssl-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+crypto-openssl-devel %{_description}
This package contains library source intended for building other packages which
use the "crypto-openssl" feature of the "%{crate}" crate.
%files -n %{name}+crypto-openssl-devel
%ghost %{crate_instdir}/Cargo.toml
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires -f crypto-nettle,crypto-openssl
%build
%cargo_build -f crypto-nettle
%cargo_license_summary -f crypto-nettle
%{cargo_license -f crypto-nettle} > LICENSE.dependencies
%install
%cargo_install -f crypto-nettle
# install manual pages
mkdir -p %{buildroot}/%{_mandir}/man1
cp -pav target/release/build/%{crate}-*/out/sq-wot*.1 %{buildroot}/%{_mandir}/man1/
# install shell completions
install -Dpm 0644 target/release/build/%{crate}-*/out/sq-wot.bash \
%{buildroot}/%{bash_completions_dir}/sq-wot.bash
install -Dpm 0644 target/release/build/%{crate}-*/out/sq-wot.fish \
%{buildroot}/%{fish_completions_dir}/sq-wot.fish
install -Dpm 0644 target/release/build/%{crate}-*/out/_sq-wot \
%{buildroot}/%{zsh_completions_dir}/_sq-wot
%if %{with check}
%check
# run tests with both cryptographic backends
# skip test that requires a file which is not included in published crates
%cargo_test -f crypto-nettle -- -- --skip gpg_trust_roots
%cargo_test -f crypto-openssl -- -- --skip gpg_trust_roots
%endif
%changelog
%autochangelog