From 4eab6d1261489035440e5973f12060d03dc98076 Mon Sep 17 00:00:00 2001
From: Tobias Kortkamp <tobik@FreeBSD.org>
Date: Mon, 10 Jun 2019 10:56:04 +0000
Subject: Mk/Uses/cargo.mk: Add CARGO_INSTALL_PATH knob

It can be used to overwrite the --path argument when calling `cargo
install` to point cargo to different local crates to install.  This
might be necessary when ${WRKSRC}/Cargo.toml is only a virtual
manifest.
---
 Mk/Uses/cargo.mk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Mk/Uses/cargo.mk b/Mk/Uses/cargo.mk
index 368abcaa8255..92dbc41102d5 100644
--- a/Mk/Uses/cargo.mk
+++ b/Mk/Uses/cargo.mk
@@ -86,6 +86,7 @@ CARGO_CARGO_RUN= \
 # User arguments for cargo targets.
 CARGO_BUILD_ARGS?=
 CARGO_INSTALL_ARGS?=
+CARGO_INSTALL_PATH?=	.
 CARGO_TEST_ARGS?=
 CARGO_UPDATE_ARGS?=
 
@@ -257,12 +258,14 @@ do-build:
 
 .if !target(do-install) && ${CARGO_INSTALL:tl} == "yes"
 do-install:
+.  for path in ${CARGO_INSTALL_PATH}
 	@${CARGO_CARGO_RUN} install \
-		--path . \
+		--path "${path}" \
 		--root "${STAGEDIR}${PREFIX}" \
 		--verbose \
 		${CARGO_INSTALL_ARGS}
 	@${RM} -- "${STAGEDIR}${PREFIX}/.crates.toml"
+.  endfor
 .endif
 
 .if !target(do-test) && ${CARGO_TEST:tl} == "yes"
-- 
cgit debian/1.2.3+git2.25.1-1-2-gaceb0