1 # TODO: use shared crates?
2 %define crates_ver 0.26.0
4 Summary: Tool for generating C bindings to Rust code
5 Summary(pl.UTF-8): Narzędzie do generowania wiązań C do kodu w języku Rust
10 Group: Development/Tools
11 #Source0Download: https://github.com/eqrion/cbindgen/releases
12 Source0: https://github.com/eqrion/cbindgen/archive/v%{version}/cbindgen-%{version}.tar.gz
13 # Source0-md5: f3ef70691bc4743b8f76ca6d27847ba4
14 # cd cbindgen-%{version}
17 # tar cJf cbindgen-crates-%{version}.tar.xz cbindgen-%{version}/{vendor,Cargo.lock}
18 Source1: cbindgen-crates-%{crates_ver}.tar.xz
19 # Source1-md5: deaba3b63f82630cae6953904e6a0a9e
20 URL: https://github.com/eqrion/cbindgen
22 BuildRequires: rpmbuild(macros) >= 2.004
24 BuildRequires: tar >= 1:1.22
26 ExclusiveArch: %{rust_arches}
27 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30 This project can be used to generate C bindings for Rust code.
32 %description -l pl.UTF-8
33 Ten projekt służy do generowania wiązań C do kodu w języku Rust.
36 %setup -q -n cbindgen-%{version} -a1
38 %{__mv} cbindgen-%{crates_ver}/* .
39 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
41 # use our offline registry
42 export CARGO_HOME="$(pwd)/.cargo"
44 mkdir -p "$CARGO_HOME"
45 cat >.cargo/config <<EOF
47 registry = 'https://github.com/rust-lang/crates.io-index'
48 replace-with = 'vendored-sources'
50 [source.vendored-sources]
51 directory = '$PWD/vendor'
55 export CARGO_HOME="$(pwd)/.cargo"
60 rm -rf $RPM_BUILD_ROOT
61 export CARGO_HOME="$(pwd)/.cargo"
63 %cargo_install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path $PWD
64 %{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates*
67 rm -rf $RPM_BUILD_ROOT
70 %defattr(644,root,root,755)
71 %doc README.md CHANGES contributing.md docs.md internals.md
72 %attr(755,root,root) %{_bindir}/cbindgen