Subject: [bug#45307] [PATCH]: build-system/cargo: Use argument "--no-track" in "cargo install"

From: Zhu Zihao <[email-masked]>
Date: Fri, 18 Dec 2020 10:27:39 +0800

After we update rust to rust-1.45, cargo install now create
.crates2.json instead of .crates.toml. So the hack we use in
c1cc0c4865a8bfff43c5c9bd6ae8dcadb061c8a0 doesn't work.

I checked the ArchLinux Rust packaging guideline and found that we
should use --no-track in "cargo install" to prevent cargo install these
files to prefix.

>From fadf6149f998758c1d663d3dbe1c6fe8a85e5700 Mon Sep 17 00:00:00 2001
From: Zhu Zihao <[email-masked]>
Date: Fri, 18 Dec 2020 10:13:48 +0800
Subject: [PATCH] build-system/cargo: Use argument "--no-track" in "cargo
 install"

Prevent cargo install .crates.toml or .crates2.json to prefix.

* guix/build/cargo-build-system(install):
Add argument "--no-track" in "cargo install".
Remove stale hack.
---
 guix/build/cargo-build-system.scm | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index c7beffc6e4..1d21b33895 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -183,13 +183,9 @@ directory = '" port)
     ;; otherwise cargo will raise an error.
     (or skip-build?
         (not (has-executable-target?))
-        (invoke "cargo" "install" "--path" "." "--root" out
+        (invoke "cargo" "install" "--no-track" "--path" "." "--root" out
                 "--features" (string-join features)))
 
-    ;; This is a file which we definitely don't need installed.
-    (when (file-exists? (string-append out "/.crates.toml"))
-      (delete-file (string-append out "/.crates.toml")))
-
     #t))
 
 (define %standard-phases
-- 
2.29.2

-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao