1 Summary: Template to show how to vendor crates
2 Name: rust-crate-template
7 Source0: https://github.com/NAME/NAME/archive/v%{version}/%{name}-%{version}.tar.gz
8 # Source0-md5: 959298871877c4a50e8e2789d23530c7
12 # tar cJf NAME-crates-%{version}.tar.xz NAME-%{version}/{vendor,Cargo.lock}
13 Source1: %{name}-crates-%{version}.tar.xz
18 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25 # Use our offline registry
26 export CARGO_HOME="$(pwd)/.cargo"
28 mkdir -p "$CARGO_HOME"
29 cat >.cargo/config <<EOF
31 registry = 'https://github.com/rust-lang/crates.io-index'
32 replace-with = 'vendored-sources'
34 [source.vendored-sources]
35 directory = '$PWD/vendor'
39 export CARGO_HOME="$(pwd)/.cargo"
43 --target x86_64-unknown-linux-gnux32 \
49 rm -rf $RPM_BUILD_ROOT
50 install -d $RPM_BUILD_ROOT%{_bindir}
51 cp -p target/release/* $RPM_BUILD_ROOT%{_bindir}
54 rm -rf $RPM_BUILD_ROOT
57 %defattr(644,root,root,755)
58 %attr(755,root,root) %{_bindir}/*