]> git.pld-linux.org Git - projects/template-specs.git/blob - rust.spec
- removed duplicate debug_packages disabling, added dune example
[projects/template-specs.git] / rust.spec
1 Summary:        Template to show how to vendor crates
2 Name:           rust-crate-template
3 Version:        1.0
4 Release:        0.1
5 License:        Apache v2.0
6 Group:          Applications
7 Source0:        https://github.com/NAME/NAME/archive/v%{version}/%{name}-%{version}.tar.gz
8 # Source0-md5:  959298871877c4a50e8e2789d23530c7
9 # cd NAME-%{version}
10 # cargo vendor
11 # cd ..
12 # tar cJf NAME-crates-%{version}.tar.xz NAME-%{version}/{vendor,Cargo.lock}
13 Source1:        %{name}-crates-%{version}.tar.xz
14 # Source1-md5:  -
15 URL:            -
16 BuildRequires:  cargo
17 BuildRequires:  rpmbuild(macros) >= 2.004
18 BuildRequires:  rust
19 BuildRequires:  tar >= 1:1.22
20 BuildRequires:  xz
21 ExclusiveArch:  %{rust_arches}
22 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23
24 %description
25
26 %prep
27 %setup -q -b1
28
29 # Use our offline registry
30 export CARGO_HOME="$(pwd)/.cargo"
31
32 mkdir -p "$CARGO_HOME"
33 cat >.cargo/config <<EOF
34 [source.crates-io]
35 registry = 'https://github.com/rust-lang/crates.io-index'
36 replace-with = 'vendored-sources'
37
38 [source.vendored-sources]
39 directory = '$PWD/vendor'
40 EOF
41
42 %build
43 export CARGO_HOME="$(pwd)/.cargo"
44
45 %cargo_build --frozen
46
47 %install
48 rm -rf $RPM_BUILD_ROOT
49 export CARGO_HOME="$(pwd)/.cargo"
50
51 %cargo_install \
52         --frozen \
53         --path . \
54         --root $RPM_BUILD_ROOT%{_prefix}
55
56 %{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates.toml
57 %{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates2.json
58
59 %clean
60 rm -rf $RPM_BUILD_ROOT
61
62 %files
63 %defattr(644,root,root,755)
64 %attr(755,root,root) %{_bindir}/*
This page took 0.084614 seconds and 3 git commands to generate.