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-libbpf-rs/rust-libbpf-rs.spec

103 lines
2.5 KiB

# Generated by rust2rpm 20
%bcond_without check
%global debug_package %{nil}
%global crate libbpf-rs
Name: rust-%{crate}
Version: 0.16.0
Release: %autorelease
Summary: Safe, idiomatic, and opinionated wrapper around libbpf-sys
# Upstream license specification: LGPL-2.1 OR BSD-2-Clause
License: LGPLv2 or BSD
URL: https://crates.io/crates/libbpf-rs
Source: %{crates_source}
# Turn on the novendor feature by default
Patch0: libbpf-rs-fix-metadata.diff
# Downgrade libbpf-sys to 0.4.0-2; this patch is meant for Fedora 35 and lower
# where libbpf is still at 0.4.0
Patch1: libbpf-rs-downgrade-libbpf-sys.patch
# Downgrade libbpf-sys to 0.5.0-2 (for Fedora 36)
Patch2: libbpf-rs-downgrade-libbpf-sys-050.patch
ExclusiveArch: %{rust_arches}
BuildRequires: rust-packaging
%global _description %{expand:
Safe, idiomatic, and opinionated wrapper around libbpf-sys.}
%description %{_description}
%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 LICENSE LICENSE.BSD-2-Clause LICENSE.LPGL-2.1
%doc README.md
%{cargo_registry}/%{crate}-%{version_no_tilde}/
%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 %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%package -n %{name}+novendor-devel
Summary: %{summary}
BuildArch: noarch
%description -n %{name}+novendor-devel %{_description}
This package contains library source intended for building other packages which
use the "novendor" feature of the "%{crate}" crate.
%files -n %{name}+novendor-devel
%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
%prep
%setup -q -n %{crate}-%{version_no_tilde}
%patch0 -p1
%if 0%{?fedora} < 36
%patch1 -p1
%else
%if 0%{?fc36}
%patch2 -p1
%else
sed -i -e 's/version = "0.6.0-1"/version = "0.6.1-2"/' Cargo.toml
%endif
%endif
%cargo_prep
%generate_buildrequires
%cargo_generate_buildrequires
%build
%cargo_build
%install
%cargo_install
%if %{with check}
%check
# most of these tests fail, RLIMIT_MEMLOCK does not work in mock
rm tests/test.rs
%cargo_test
%endif
%changelog
%autochangelog