1 # TODO: use shared crates?
2 %define crates_ver 0.17.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: 319023d51257da454f9a30aa3a358429
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: 591b55e08ff5221aa86ab761b5a73ef6
20 URL: https://github.com/eqrion/cbindgen
23 ExclusiveArch: %{x8664} %{ix86} aarch64
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 This project can be used to generate C bindings for Rust code.
29 %description -l pl.UTF-8
30 Ten projekt służy do generowania wiązań C do kodu w języku Rust.
33 %setup -q -n cbindgen-%{version} -a1
35 %{__mv} cbindgen-%{crates_ver}/* .
36 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
38 # use our offline registry
39 export CARGO_HOME="$(pwd)/.cargo"
41 mkdir -p "$CARGO_HOME"
42 cat >.cargo/config <<EOF
44 registry = 'https://github.com/rust-lang/crates.io-index'
45 replace-with = 'vendored-sources'
47 [source.vendored-sources]
48 directory = '$PWD/vendor'
52 export CARGO_HOME="$(pwd)/.cargo"
54 cargo -v build --release --frozen
57 rm -rf $RPM_BUILD_ROOT
58 export CARGO_HOME="$(pwd)/.cargo"
60 cargo -v install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path $PWD
61 %{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates*
64 rm -rf $RPM_BUILD_ROOT
67 %defattr(644,root,root,755)
68 %doc README.md CHANGES contributing.md docs.md internals.md
69 %attr(755,root,root) %{_bindir}/cbindgen