Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>epel9
parent
fe7dc1b94a
commit
fb6d2b0217
@ -0,0 +1,96 @@
|
||||
From c9ce952e260ec0adb166bd6e1de652a0277d2437 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
Date: Fri, 22 Jun 2018 21:04:59 +0200
|
||||
Subject: [PATCH 4/5] macros: make %cargo_* macros parametric
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Unfortunately cargo-install doesn't accept --target-dir, so have to pass
|
||||
setting through envvar.
|
||||
|
||||
Also %{shrink:…} them so it looks nicer in build log.
|
||||
|
||||
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
---
|
||||
data/macros.cargo | 62 ++++++++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 45 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/data/macros.cargo b/data/macros.cargo
|
||||
index 22721e9..96a2931 100644
|
||||
--- a/data/macros.cargo
|
||||
+++ b/data/macros.cargo
|
||||
@@ -35,25 +35,53 @@ EOF\
|
||||
%endif \
|
||||
)
|
||||
|
||||
-%cargo_build %__cargo build --release %{__cargo_common_opts}
|
||||
+%__cargo_parse_opts(t:naf:) %{shrink:\
|
||||
+%{-f:%{-a:%{error:Can't specify both -f(%{-f*}) and -a}}} \
|
||||
+ %{-t:--target-dir %{-t*}} \
|
||||
+ %{-n:--no-default-features} \
|
||||
+ %{-a:--all-features} \
|
||||
+ %{-f:--features %{-f*}} \
|
||||
+ %{nil}
|
||||
+}
|
||||
|
||||
-%cargo_test %__cargo test --release %{__cargo_common_opts} --no-fail-fast
|
||||
+%cargo_build(t:naf:) %{shrink:\
|
||||
+%{__cargo} build \
|
||||
+ %{__cargo_common_opts} \
|
||||
+ --release \
|
||||
+ %{__cargo_parse_opts %{-t:-t%{-t*}} %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
+ %* \
|
||||
+}
|
||||
|
||||
-%cargo_install (\
|
||||
-set -eu \
|
||||
-if %__cargo_is_lib; then \
|
||||
- CRATE_NAME=$(%__cargo_inspector --name Cargo.toml) \
|
||||
- CRATE_VERSION=$(%__cargo_inspector --version Cargo.toml) \
|
||||
- REG_DIR=%{buildroot}%{cargo_registry}/$CRATE_NAME-$CRATE_VERSION \
|
||||
- %{__mkdir} -p $REG_DIR \
|
||||
- %__cargo package -l | xargs %{__cp} --parents -a -t $REG_DIR \
|
||||
-%if ! %{with check} \
|
||||
- %{__cp} -a Cargo.toml.orig $REG_DIR/Cargo.toml \
|
||||
-%endif \
|
||||
- echo '{"files":{},"package":""}' > $REG_DIR/.cargo-checksum.json \
|
||||
+%cargo_test(t:naf:) %{shrink:\
|
||||
+%{__cargo} test \
|
||||
+ %{__cargo_common_opts} \
|
||||
+ --release \
|
||||
+ --no-fail-fast \
|
||||
+ %{__cargo_parse_opts %{-t:-t%{-t*}} %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
+ %* \
|
||||
+}
|
||||
+
|
||||
+%cargo_install(t:naf:) (\
|
||||
+set -eu \
|
||||
+if %__cargo_is_lib; then \
|
||||
+ CRATE_NAME=$(%__cargo_inspector --name Cargo.toml) \
|
||||
+ CRATE_VERSION=$(%__cargo_inspector --version Cargo.toml) \
|
||||
+ REG_DIR=%{buildroot}%{cargo_registry}/$CRATE_NAME-$CRATE_VERSION \
|
||||
+ %{__mkdir} -p $REG_DIR \
|
||||
+ %{__cargo} package -l | xargs %{__cp} --parents -a -t $REG_DIR \
|
||||
+%if ! %{with check} \
|
||||
+ %{__cp} -a Cargo.toml.orig $REG_DIR/Cargo.toml \
|
||||
+%endif \
|
||||
+ echo '{"files":{},"package":""}' > $REG_DIR/.cargo-checksum.json \
|
||||
fi \
|
||||
-if %__cargo_is_bin; then \
|
||||
- %__cargo install %{__cargo_common_opts} --path . --root %{buildroot}%{_prefix} \
|
||||
- %{__rm} %{buildroot}%{_prefix}/.crates.toml \
|
||||
+if %__cargo_is_bin; then \
|
||||
+ %{shrink:%{-t:CARGO_TARGET_DIR=%{-t*}} %{__cargo} install \
|
||||
+ %{__cargo_common_opts} \
|
||||
+ --path . \
|
||||
+ --root %{buildroot}%{_prefix} \
|
||||
+ %{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
+ %* \
|
||||
+ }\
|
||||
+ %{__rm} %{buildroot}%{_prefix}/.crates.toml \
|
||||
fi \
|
||||
)
|
||||
--
|
||||
2.18.0.rc2
|
||||
|
@ -0,0 +1,71 @@
|
||||
From 80237720ae3397fc66d8f06e13f868c4bd2723c1 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
Date: Fri, 22 Jun 2018 21:53:09 +0200
|
||||
Subject: [PATCH 5/5] macros: remove support for target-dir
|
||||
|
||||
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
||||
---
|
||||
data/macros.cargo | 31 +++++++++++++++----------------
|
||||
1 file changed, 15 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/data/macros.cargo b/data/macros.cargo
|
||||
index 96a2931..a0c456a 100644
|
||||
--- a/data/macros.cargo
|
||||
+++ b/data/macros.cargo
|
||||
@@ -35,30 +35,29 @@ EOF\
|
||||
%endif \
|
||||
)
|
||||
|
||||
-%__cargo_parse_opts(t:naf:) %{shrink:\
|
||||
+%__cargo_parse_opts(naf:) %{shrink:\
|
||||
%{-f:%{-a:%{error:Can't specify both -f(%{-f*}) and -a}}} \
|
||||
- %{-t:--target-dir %{-t*}} \
|
||||
%{-n:--no-default-features} \
|
||||
%{-a:--all-features} \
|
||||
%{-f:--features %{-f*}} \
|
||||
%{nil}
|
||||
}
|
||||
|
||||
-%cargo_build(t:naf:) %{shrink:\
|
||||
-%{__cargo} build \
|
||||
- %{__cargo_common_opts} \
|
||||
- --release \
|
||||
- %{__cargo_parse_opts %{-t:-t%{-t*}} %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
- %* \
|
||||
+%cargo_build(naf:) %{shrink:\
|
||||
+%{__cargo} build \
|
||||
+ %{__cargo_common_opts} \
|
||||
+ --release \
|
||||
+ %{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
+ %* \
|
||||
}
|
||||
|
||||
-%cargo_test(t:naf:) %{shrink:\
|
||||
-%{__cargo} test \
|
||||
- %{__cargo_common_opts} \
|
||||
- --release \
|
||||
- --no-fail-fast \
|
||||
- %{__cargo_parse_opts %{-t:-t%{-t*}} %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
- %* \
|
||||
+%cargo_test(naf:) %{shrink:\
|
||||
+%{__cargo} test \
|
||||
+ %{__cargo_common_opts} \
|
||||
+ --release \
|
||||
+ --no-fail-fast \
|
||||
+ %{__cargo_parse_opts %{-n} %{-a} %{-f:-f%{-f*}}} \
|
||||
+ %* \
|
||||
}
|
||||
|
||||
%cargo_install(t:naf:) (\
|
||||
@@ -75,7 +74,7 @@ if %__cargo_is_lib; then \
|
||||
echo '{"files":{},"package":""}' > $REG_DIR/.cargo-checksum.json \
|
||||
fi \
|
||||
if %__cargo_is_bin; then \
|
||||
- %{shrink:%{-t:CARGO_TARGET_DIR=%{-t*}} %{__cargo} install \
|
||||
+ %{shrink:%{__cargo} install \
|
||||
%{__cargo_common_opts} \
|
||||
--path . \
|
||||
--root %{buildroot}%{_prefix} \
|
||||
--
|
||||
2.18.0.rc2
|
||||
|
Loading…
Reference in new issue