%bcond check 1 %global crate bindgen-cli Name: rust-bindgen-cli Version: 0.72.1 Release: %autorelease Summary: Automatically generates Rust FFI bindings to C and C++ libraries License: BSD-3-Clause URL: https://crates.io/crates/bindgen-cli Source: %{crates_source} # vendor tarball is generated by running: # tar xf bindgen-cli-%%{version}.crate # pushd bindgen-cli-%%{version} # cargo vendor-filterer --versioned-dirs \ # --platform={aarch64,i686,powerpc64le,s390x,x86_64}-unknown-linux-gnu # tar --sort=name -Jcvf ../bindgen-cli-%%{version}-vendor.tar.xz vendor/ # popd Source1: bindgen-cli-%{version}-vendor.tar.xz BuildRequires: rust-toolset %global _description %{expand: Automatically generates Rust FFI bindings to C and C++ libraries.} %description %{_description} %package -n %{crate} Summary: %{summary} # (MIT OR Apache-2.0) AND Unicode-3.0 # Apache-2.0 # Apache-2.0 OR MIT # BSD-3-Clause # ISC # MIT # MIT OR Apache-2.0 # Unlicense OR MIT License: %{shrink: BSD-3-Clause AND Apache-2.0 AND ISC AND MIT AND Unicode-3.0 AND (Apache-2.0 OR MIT) AND (Unlicense OR MIT) } # LICENSE.dependencies contains a full license breakdown # /usr/bin/bindgen was moved from bindgen to bindgen-cli with v0.61 Provides: bindgen = %{version}-%{release} Obsoletes: bindgen < 0.61 # /usr/bin/bindgen requires libclang.so at runtime Requires: clang-libs # We also need it to run `bindgen` library tests. BuildRequires: clang-libs %description -n %{crate} %{_description} %files -n %{crate} %license LICENSE %license LICENSE.dependencies %license cargo-vendor.txt %doc README.md %{_bindir}/bindgen %prep %autosetup -n %{crate}-%{version} -p1 -a1 %cargo_prep -v vendor %build %cargo_build %{cargo_license_summary} %{cargo_license} > LICENSE.dependencies %{cargo_vendor_manifest} %install %cargo_install %if %{with check} %check %cargo_test # Run the library tests since we're not packaging that separately. %{cargo_test} --package bindgen %endif %changelog %autochangelog