[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