# Generated by rust2rpm 27 %bcond check 1 %global crate rpm-sequoia Name: rust-rpm-sequoia Version: 1.9.0.1 Release: %autorelease Summary: Implementation of the RPM PGP interface using Sequoia License: LGPL-2.0-or-later URL: https://crates.io/crates/rpm-sequoia Source: %{crate}-%{version}.tar.gz # Generated using cargo-vendor-filterer: # cargo vendor-filterer --platform x86_64-unknown-linux-gnu \ # --platform powerpc64le-unknown-linux-gnu \ # --platform aarch64-unknown-linux-gnu \ # --platform i686-unknown-linux-gnu \ # --platform s390x-unknown-linux-gnu \ # --all-features # tar -czf ../%%{crate}-vendor-%%{version}.tar.gz vendor Source1: %{crate}-vendor-%{version}.tar.gz Source2: vendor.toml # Manually created patch for downstream crate metadata changes # * default to the OpenSSL crypto backend of sequoia-openpgp Patch: rpm-sequoia-fix-metadata.diff %if 0%{?rhel} BuildRequires: rust-toolset %else BuildRequires: cargo-rpm-macros >= 24 %endif # vendored openssl-sys BuildRequires: openssl-devel %global _description %{expand: An implementation of the RPM PGP interface using Sequoia.} %description %{_description} %package -n %{crate} Summary: %{summary} # (MIT OR Apache-2.0) AND Unicode-DFS-2016 # Apache-2.0 # Apache-2.0 OR MIT # BSL-1.0 # LGPL-2.0-or-later # 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 MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR MIT) 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 %license cargo-vendor.txt %doc README.md %{_libdir}/librpm_sequoia.so.1 %package -n %{crate}-devel Summary: %{summary} Requires: %{crate}%{?_isa} = %{version}-%{release} %description -n %{crate}-devel %{_description} %files -n %{crate}-devel %{_libdir}/librpm_sequoia.so %{_libdir}/pkgconfig/rpm-sequoia.pc %prep %autosetup -n %{crate}-%{version} -N -a1 %autopatch -M 99 -p1 %cargo_prep -N # include full configuration for vendored dependencies cat %{SOURCE2} >> .cargo/config.toml %build # build script uses environment variables to populate the pkgconfig file export PREFIX="%{_prefix}" export LIBDIR="%{_libdir}" %cargo_build %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %{cargo_vendor_manifest} # replace un-parseable git snapshot dependency information sed 's/\(.*\) (.*#\(.*\))/\1+git\2/' -i cargo-vendor.txt %install # install shared library mkdir -p %{buildroot}/%{_libdir} cp -pav target/release/librpm_sequoia.so %{buildroot}/%{_libdir}/librpm_sequoia.so.1 # create unversioned symlink ln -s librpm_sequoia.so.1 %{buildroot}/%{_libdir}/librpm_sequoia.so # install pkg-config file mkdir -p %{buildroot}/%{_libdir}/pkgconfig cp -pav target/release/rpm-sequoia.pc %{buildroot}/%{_libdir}/pkgconfig/ %if %{with check} %check %cargo_test %endif %changelog %autochangelog