[packages/cargo-vendor-filterer] new
atler
atler at pld-linux.org
Wed Oct 4 13:10:23 CEST 2023
commit 897aba302035c5a87163584979dcd90f81bbc0a1
Author: Jan Palus <atler at pld-linux.org>
Date: Wed Oct 4 12:11:23 2023 +0200
new
- patch to include tier 2 linux platforms without host tools (requested
upstream: https://github.com/coreos/cargo-vendor-filterer/issues/78)
cargo-vendor-filterer.spec | 67 ++++++++++++++++++++++++++++++++
tier2-platforms-without-host-tools.patch | 27 +++++++++++++
2 files changed, 94 insertions(+)
---
diff --git a/cargo-vendor-filterer.spec b/cargo-vendor-filterer.spec
new file mode 100644
index 0000000..0e51588
--- /dev/null
+++ b/cargo-vendor-filterer.spec
@@ -0,0 +1,67 @@
+%define crates_ver 0.5.12
+
+Summary: Tool to `cargo vendor` with filtering
+Name: cargo-vendor-filterer
+Version: 0.5.12
+Release: 1
+License: Apache v2.0
+Group: Applications
+Source0: https://github.com/coreos/cargo-vendor-filterer/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: c0add10b6eea99e1d97b77554e558c3b
+Source1: %{name}-crates-%{crates_ver}.tar.xz
+# Source1-md5: da2a0fffd6c801e08954b79498f4dd70
+Patch0: tier2-platforms-without-host-tools.patch
+URL: https://github.com/coreos/cargo-vendor-filterer
+BuildRequires: cargo
+BuildRequires: openssl-devel
+BuildRequires: rpmbuild(macros) >= 2.004
+BuildRequires: rust
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+ExclusiveArch: %{rust_arches}
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+The core cargo vendor tool is useful to save all dependencies.
+However, it doesn't offer any filtering; today cargo includes all
+platforms, but some projects only care about Linux for example.
+
+%prep
+%setup -q -a1
+%patch0 -p1
+
+%{__mv} %{name}-%{crates_ver}/* .
+sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
+
+# use our offline registry
+export CARGO_HOME="$(pwd)/.cargo"
+
+mkdir -p "$CARGO_HOME"
+cat >.cargo/config <<EOF
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$PWD/vendor'
+EOF
+
+%build
+export CARGO_HOME="$(pwd)/.cargo"
+
+%cargo_build --frozen
+
+%install
+rm -rf $RPM_BUILD_ROOT
+export CARGO_HOME="$(pwd)/.cargo"
+
+%cargo_install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path $PWD
+%{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates*
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc README.md
+%attr(755,root,root) %{_bindir}/cargo-vendor-filterer
diff --git a/tier2-platforms-without-host-tools.patch b/tier2-platforms-without-host-tools.patch
new file mode 100644
index 0000000..4bbec4a
--- /dev/null
+++ b/tier2-platforms-without-host-tools.patch
@@ -0,0 +1,27 @@
+--- cargo-vendor-filterer-0.5.12/src/tiers.rs.orig 2023-09-28 21:26:11.000000000 +0200
++++ cargo-vendor-filterer-0.5.12/src/tiers.rs 2023-10-04 11:57:37.661023469 +0200
+@@ -35,6 +35,24 @@
+ "x86_64-unknown-illumos",
+ "x86_64-unknown-linux-musl",
+ "x86_64-unknown-netbsd",
++ // Tier 2 linux platforms without host tools
++ "arm-unknown-linux-musleabi",
++ "arm-unknown-linux-musleabihf",
++ "armv5te-unknown-linux-gnueabi",
++ "armv5te-unknown-linux-musleabi",
++ "armv7-unknown-linux-gnueabi",
++ "armv7-unknown-linux-musleabi",
++ "armv7-unknown-linux-musleabihf",
++ "i586-unknown-linux-gnu",
++ "i586-unknown-linux-musl",
++ "i686-unknown-linux-musl",
++ "mips-unknown-linux-musl",
++ "mips64-unknown-linux-muslabi64",
++ "mips64el-unknown-linux-muslabi64",
++ "mipsel-unknown-linux-musl",
++ "sparc64-unknown-linux-gnu",
++ "thumbv7neon-unknown-linux-gnueabihf",
++ "x86_64-unknown-linux-gnux32",
+ ];
+
+ /// The possible values of select Rust platform "tiers".
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/cargo-vendor-filterer.git/commitdiff/897aba302035c5a87163584979dcd90f81bbc0a1
More information about the pld-cvs-commit
mailing list