From d2f21dcfa00253ca5c2bcd44911064ea7d5b5900 Mon Sep 17 00:00:00 2001
From: Reuben Roessler <reuben.roessler@canonical.com>
Date: Mon, 21 Sep 2026 17:20:45 +1000
Subject: [PATCH] temp patch

---
 debian/bin/cargo | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/debian/bin/cargo b/debian/bin/cargo
index 50772347d..b32802f88 100755
--- a/debian/bin/cargo
+++ b/debian/bin/cargo
@@ -127,16 +127,17 @@ rustflags = {1}
 
     return 0
 
-def install(destdir, cratespec, host_rust_type, crate_in_registry, install_prefix, *args):
+def install(destdir, cratespec, host_rust_type, crate_in_registry, override_path, install_prefix, *args):
     crate, version = cratespec.rsplit("_", 1)
     log("installing into destdir '%s' prefix '%s'" % (destdir, install_prefix))
     install_target = destdir + install_prefix
+    install_path = override_path if override_path else sourcepath()
     logrun(["env", "RUST_BACKTRACE=1",
         # set CARGO_TARGET_DIR so build products are saved in target/
         # normally `cargo install` deletes them when it exits
         "CARGO_TARGET_DIR=" + sourcepath("target"),
         "/usr/bin/cargo"] + list(args) +
-        ([crate, "--vers", version] if crate_in_registry else ["--path", sourcepath()]) +
+        ([crate, "--vers", version] if crate_in_registry else ["--path", install_path]) +
         ["--root", install_target], check=True)
     logrun(["rm", "-f", "%s/.crates.toml" % install_target])
     logrun(["rm", "-f", "%s/.crates2.json" % install_target])
@@ -248,6 +249,7 @@ def main(*args):
             os.environ["DEB_CARGO_CRATE"],
             host_rust_type,
             os.getenv("DEB_CARGO_CRATE_IN_REGISTRY", "") == "1",
+            os.getenv("DEB_CARGO_INSTALL_PATH", ""),
             os.getenv("DEB_CARGO_INSTALL_PREFIX", "/usr"),
             *newargs)
     else:
-- 
2.53.0

