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

198 lines
6.0 KiB

# Generated by rust2rpm 25
%bcond_without check
%global crate sequoia-wot
Name: rust-sequoia-wot
Version: 0.9.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 dependencies and normalize metadata
Patch: sequoia-wot-fix-metadata-auto.diff
# Manually created patch for downstream crate metadata changes
# * expose features for crypto backends without setting a default
# * drop support for writing graphs in DOT format
Patch: sequoia-wot-fix-metadata.diff
BuildRequires: cargo-rpm-macros >= 24
%global _description %{expand:
An implementation of OpenPGP's web of trust.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
# (Apache-2.0 OR MIT) AND BSD-3-Clause
# (MIT OR Apache-2.0) AND Unicode-DFS-2016
# Apache-2.0
# Apache-2.0 OR BSL-1.0
# Apache-2.0 OR MIT
# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
# BSD-2-Clause 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
# MIT
# MIT OR Apache-2.0
# MIT OR Apache-2.0 OR Zlib
# MPL-2.0
# Unlicense OR MIT
# Zlib OR Apache-2.0 OR MIT
License: LGPL-2.0-or-later AND Apache-2.0 AND BSD-3-Clause AND BSL-1.0 AND MIT AND MPL-2.0 AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause 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}+clap-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+clap-devel %{_description}
This package contains library source intended for building other packages which
use the "clap" feature of the "%{crate}" crate.
%files -n %{name}+clap-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+clap_complete-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+clap_complete-devel %{_description}
This package contains library source intended for building other packages which
use the "clap_complete" feature of the "%{crate}" crate.
%files -n %{name}+clap_complete-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+clap_mangen-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+clap_mangen-devel %{_description}
This package contains library source intended for building other packages which
use the "clap_mangen" feature of the "%{crate}" crate.
%files -n %{name}+clap_mangen-devel
%ghost %{crate_instdir}/Cargo.toml
%package -n %{name}+cli-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+cli-devel %{_description}
This package contains library source intended for building other packages which
use the "cli" feature of the "%{crate}" crate.
%files -n %{name}+cli-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} -p1
%cargo_prep
# drop tests that use the disabled DOT output format
rm tests/tests.rs
%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