110 lines
3.2 KiB
RPMSpec
110 lines
3.2 KiB
RPMSpec
# 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
|