Subject: [bug#70494] [PATCH 14/23] scripts: perform-download: Support configuring the %store-prefix.

From: Christopher Baines <[email-masked]>
Date: Sun, 21 Apr 2024 10:42:32 +0100

* guix/scripts/perform-download.scm (guix-perform-download): Use
GUIX_STORE_DIRECTORY from the environment if it's set, as this allows using
the perform-download script with a non-default store directory.

Change-Id: Id96bb901a106e1b13be5b21b3ce436c680c616a2
---
 guix/scripts/perform-download.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm
index 5079d0ea71..f7f5231f27 100644
--- a/guix/scripts/perform-download.scm
+++ b/guix/scripts/perform-download.scm
@@ -20,7 +20,8 @@ (define-module (guix scripts perform-download)
   #:use-module (guix ui)
   #:use-module (guix scripts)
   #:use-module (guix derivations)
-  #:use-module ((guix store) #:select (derivation-path? store-path?))
+  #:use-module ((guix store) #:select (%store-prefix derivation-path?
+                                                     store-path?))
   #:autoload   (guix build download) (%download-methods url-fetch)
   #:autoload   (guix build git) (git-fetch-with-fallback)
   #:autoload   (guix config) (%git)
@@ -153,6 +154,9 @@ (define-command (guix-perform-download . args)
       (#f #f)
       (str (string-contains str "print-extended-build-trace=1"))))
 
+  (and=> (getenv "GUIX_STORE_DIRECTORY")
+         %store-prefix)
+
   ;; This program must be invoked by guix-daemon under an unprivileged UID to
   ;; prevent things downloading from 'file:///etc/shadow' or arbitrary code
   ;; execution via the content-addressed mirror procedures.  (That means we
-- 
2.41.0