summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-02-23 14:34:13 +0100
committerLudovic Courtès <ludo@gnu.org>2024-03-09 18:55:50 +0100
commitabd0cca2a9ccba4e57fd2cc318139658559979cf (patch)
tree1e9104591a0ef98274f4034101f27ecf81b7e5d0
parent3e9bea7ee30a3425011afb8e2f70b7a8fe6a404b (diff)
perform-download: Allow use of ‘download-nar’ for ‘--check’ builds.
Previously, the nar fallback would always fail on ‘--check’ build because the output directory in that case is different from the store file name. This change fixes that. * guix/build/git.scm (git-fetch-with-fallback): Add #:item parameter and pass it to ‘download-nar’. * guix/scripts/perform-download.scm (perform-git-download): Pass #:item to ‘git-fetch-with-fallback’. Change-Id: I30fc948718e99574005150bba5215a51ef153c49
-rw-r--r--guix/build/git.scm14
-rw-r--r--guix/scripts/perform-download.scm3
2 files changed, 11 insertions, 6 deletions
diff --git a/guix/build/git.scm b/guix/build/git.scm
index 4c69365a7b..a135026fae 100644
--- a/guix/build/git.scm
+++ b/guix/build/git.scm
@@ -92,19 +92,21 @@ fetched, recursively. Return #t on success, #f otherwise."
(define* (git-fetch-with-fallback url commit directory
- #:key (git-command "git")
+ #:key (item directory)
+ (git-command "git")
hash hash-algorithm
lfs? recursive?)
"Like 'git-fetch', fetch COMMIT from URL into DIRECTORY, but fall back to
-alternative methods when fetching from URL fails: attempt to download a nar,
-and if that also fails, download from the Software Heritage archive. When
-HASH and HASH-ALGORITHM are provided, they are interpreted as the nar hash of
-the directory of interested and are used as its content address at SWH."
+alternative methods when fetching from URL fails: attempt to download a nar
+for ITEM, and if that also fails, download from the Software Heritage archive.
+When HASH and HASH-ALGORITHM are provided, they are interpreted as the nar
+hash of the directory of interested and are used as its content address at
+SWH."
(or (git-fetch url commit directory
#:lfs? lfs?
#:recursive? recursive?
#:git-command git-command)
- (download-nar directory)
+ (download-nar item directory)
;; As a last resort, attempt to download from Software Heritage.
;; Disable X.509 certificate verification to avoid depending
diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm
index e7eb3b2a1f..b96959a09e 100644
--- a/guix/scripts/perform-download.scm
+++ b/guix/scripts/perform-download.scm
@@ -114,10 +114,13 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or
;; on ambient authority, hence the PATH value below.
(setenv "PATH" "/run/current-system/profile/bin:/bin:/usr/bin")
+ ;; Note: When doing a '--check' build, DRV-OUTPUT and OUTPUT are
+ ;; different, hence the #:item argument below.
(git-fetch-with-fallback url commit output
#:hash hash
#:hash-algorithm algo
#:recursive? recursive?
+ #:item (derivation-output-path drv-output)
#:git-command %git))))
(define (assert-low-privileges)