diff mbox series

[bug#36676,1/3] guix: cargo-build-system: Set CARGO_HOME early to fix build

Message ID 20190715194155.91313-1-rob@vllmrt.net
State Accepted
Headers show
Series cargo build system fixes | expand

Commit Message

Robert Vollmert July 15, 2019, 7:41 p.m. UTC
This makes the packages from (gnu packages crates-io)
not fail to build outright with

starting phase `build'
error: failed to acquire package cache lock

Caused by:
  failed to open: /homeless-shelter/.cargo/.package-cache

Caused by:
  Permission denied (os error 13)
phase `build' failed after 0.0 seconds

* guix/build/cargo-build-system.scm (configure): Set CARGO_HOME.
(install): No longer set CARGO_HOME.
---
 guix/build/cargo-build-system.scm | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 1f36304b15..e4e62dd838 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -99,6 +99,7 @@  Cargo.toml file present at its root."
     inputs)
 
   ;; Configure cargo to actually use this new directory.
+  (setenv "CARGO_HOME" (string-append (getcwd) "/.cargo"))
   (mkdir-p ".cargo")
   (let ((port (open-file ".cargo/config" "w" #:encoding "utf-8")))
     (display "
@@ -148,9 +149,6 @@  directory = '" port)
     ;; Make cargo reuse all the artifacts we just built instead
     ;; of defaulting to making a new temp directory
     (setenv "CARGO_TARGET_DIR" "./target")
-    ;; Force cargo to honor our .cargo/config definitions
-    ;; https://github.com/rust-lang/cargo/issues/6397
-    (setenv "CARGO_HOME" ".")
 
     ;; Only install crates which include binary targets,
     ;; otherwise cargo will raise an error.