[packages/git-interactive-rebase-tool] Vendor cargo crates offline

glen glen at pld-linux.org
Wed Apr 22 17:19:42 CEST 2020


commit 7ef7b8c148f518fc8f5f381ac800ed03ac803e2d
Author: Elan Ruusamäe <glen at pld-linux.org>
Date:   Wed Apr 22 17:28:16 2020 +0300

    Vendor cargo crates offline

 get-sources.sh                   | 35 +++++++++++++++++++++++++++++++++++
 git-interactive-rebase-tool.spec | 15 ++++++++++++---
 2 files changed, 47 insertions(+), 3 deletions(-)
---
diff --git a/git-interactive-rebase-tool.spec b/git-interactive-rebase-tool.spec
index 08d98ed..4a0875a 100644
--- a/git-interactive-rebase-tool.spec
+++ b/git-interactive-rebase-tool.spec
@@ -6,8 +6,12 @@ License:	GPL v2
 Group:		Development/Tools
 Source0:	https://github.com/MitMaro/git-interactive-rebase-tool/archive/%{version}/%{name}-%{version}.tar.gz
 # Source0-md5:	cf6ce6096646e68dad0a2dce4e5bc67e
+Source1:	%{name}-%{version}-crates.tar.xz
+# Source1-md5:	b15f96ff69b843591276cb2af195a28e
 URL:		https://github.com/MitMaro/git-interactive-rebase-tool
 BuildRequires:	cargo
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	xz
 Requires:	git-core >= 1.7.8
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -15,14 +19,19 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Terminal based sequence editor for git interactive rebase.
 
 %prep
-%setup -q
+%setup -q -b1
 
 %build
-cargo -v build --release
+export CARGO_HOME="$(pwd)/.cargo"
+cargo -v build --release --frozen
 
 %install
 rm -rf $RPM_BUILD_ROOT
-cargo -v install --root $RPM_BUILD_ROOT%{_prefix} --path $PWD
+export CARGO_HOME="$(pwd)/.cargo"
+
+cargo -v install --frozen --root $RPM_BUILD_ROOT%{_prefix} --path .
+%{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates.toml
+%{__rm} $RPM_BUILD_ROOT%{_prefix}/.crates2.json
 
 %clean
 rm -rf $RPM_BUILD_ROOT
diff --git a/get-sources.sh b/get-sources.sh
new file mode 100755
index 0000000..d6293c7
--- /dev/null
+++ b/get-sources.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -eu
+
+name=git-interactive-rebase-tool
+version=1.2.1
+
+spec=$name.spec
+basename=$name-$version
+url=https://github.com/MitMaro/git-interactive-rebase-tool/archive/$version/$basename.tar.gz
+tarball=$basename.tar.gz
+crates=$basename-crates.tar.xz
+
+curl -sSfL "$url" -o $(basename "$url")
+
+tar xf "$tarball"
+cd $basename
+
+cargo vendor
+
+install -d .cargo
+cat > .cargo/config <<EOF
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+cd ..
+
+tar cJf $crates $basename/{vendor,Cargo.lock,.cargo}
+rm -rf $basename
+
+./builder -5 $spec
+test -x ./dropin && ./dropin $crates
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/git-interactive-rebase-tool.git/commitdiff/7ef7b8c148f518fc8f5f381ac800ed03ac803e2d



More information about the pld-cvs-commit mailing list