1 %define crates_ver 0.10.3
3 Summary: Build and publish rust crates as python packages
7 License: MIT or Apache v2.0
9 Source0: https://github.com/PyO3/maturin/archive/v%{version}/%{name}-%{version}.tar.gz
10 # Source0-md5: b1d821f86a97dc10648f38aa2c6a8540
12 Source1: %{name}-crates-%{crates_ver}.tar.xz
13 # Source1-md5: 1b5a724601e35752b98b5ad8afc2a2b1
14 URL: https://github.com/PyO3/maturin
16 BuildRequires: rpmbuild(macros) >= 2.004
18 ExclusiveArch: %{rust_arches}
19 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22 Build and publish crates with pyo3, rust-cpython and cffi bindings as
23 well as rust binaries as python packages.
28 %{__mv} maturin-%{crates_ver}/* .
29 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
31 # use our offline registry
32 export CARGO_HOME="$(pwd)/.cargo"
34 mkdir -p "$CARGO_HOME"
35 cat >.cargo/config <<EOF
37 registry = 'https://github.com/rust-lang/crates.io-index'
38 replace-with = 'vendored-sources'
40 [source.vendored-sources]
41 directory = '$PWD/vendor'
45 export CARGO_HOME="$(pwd)/.cargo"
50 rm -rf $RPM_BUILD_ROOT
51 export CARGO_HOME="$(pwd)/.cargo"
53 %cargo_install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path $(pwd)
54 %{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates*
57 rm -rf $RPM_BUILD_ROOT
60 %defattr(644,root,root,755)
61 %doc Changelog.md Readme.md
62 %attr(755,root,root) %{_bindir}/maturin