Subject: [bug#77093] [PATCH rust-team 01/18] build/cargo: Pass ‘--offline’ to cargo.

From: Hilton Chain <[email-masked]>
Date: Tue, 18 Mar 2025 15:24:14 +0800

This will make error messages more helpful.

* guix/build/cargo-build-system.scm (build,check,package,install): Pass
‘--offline’ to cargo.

Change-Id: Ic95f603b793319f99c9c1fbce43f773bfc8126c0
---
 guix/build/cargo-build-system.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 5ef6b23abd..41f54f42b7 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -246,7 +246,7 @@ (define* (build #:key
   "Build a given Cargo package."
   (or skip-build?
       (apply invoke
-             `("cargo" "build"
+             `("cargo" "build" "--offline"
                ,@(if parallel-build?
                      (list "-j" (number->string (parallel-job-count)))
                      (list "-j" "1"))
@@ -264,7 +264,7 @@ (define* (check #:key
   "Run tests for a given Cargo package."
   (when tests?
     (apply invoke
-           `("cargo" "test"
+           `("cargo" "test" "--offline"
              ,@(if parallel-build?
                    (list "-j" (number->string (parallel-job-count)))
                    (list "-j" "1"))
@@ -303,7 +303,7 @@ (define* (package #:key
         ;;error: invalid inclusion of reserved file name Cargo.toml.orig in package source
         (when (file-exists? "Cargo.toml.orig")
           (delete-file "Cargo.toml.orig"))
-        (apply invoke `("cargo" "package" ,@cargo-package-flags))
+        (apply invoke `("cargo" "package" "--offline" ,@cargo-package-flags))
 
         ;; Then unpack the crate, reset the timestamp of all contained files, and
         ;; repack them.  This is necessary to ensure that they are reproducible.
@@ -356,7 +356,8 @@ (define* (install #:key
     ;; otherwise cargo will raise an error.
     (or skip-build?
         (not (has-executable-target?))
-        (invoke "cargo" "install" "--no-track" "--path" "." "--root" out
+        (invoke "cargo" "install" "--offline" "--no-track"
+                "--path" "." "--root" out
                 "--features" (string-join features)))
 
     (when install-source?
-- 
2.48.1