summaryrefslogtreecommitdiff
path: root/gnu/system/vm.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-05-15 22:23:21 +0200
committerLudovic Courtès <ludo@gnu.org>2020-05-16 00:34:41 +0200
commit502f609d0527d07e3289ba38a087d8fc856382fe (patch)
tree1ef19059103273eaea9b43afb8b246f0dc0dc05e /gnu/system/vm.scm
parent300a54bb984b92a36b68d7a672f2e11aa3dd2af1 (diff)
vm: Use 'let-system'.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[check]: New macro. [builder]: Use 'let-system' and 'check' instead of referencing '%current-system' and '%current-target-system'.
Diffstat (limited to 'gnu/system/vm.scm')
-rw-r--r--gnu/system/vm.scm15
1 files changed, 8 insertions, 7 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 163e8b4e9c..3e483fd86c 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -199,6 +199,10 @@ substitutable."
(sync)
(reboot))))
+ (define-syntax-rule (check predicate)
+ (let-system (system target)
+ (predicate (or target system))))
+
(let ((initrd (or initrd
(base-initrd file-systems
#:on-error 'backtrace
@@ -229,7 +233,8 @@ substitutable."
(graphs '#$(match references-graphs
(((graph-files . _) ...) graph-files)
(_ #f)))
- (target #$(or (%current-target-system) (%current-system)))
+ (target #$(let-system (system target)
+ (or target system)))
(size #$(if (eq? 'guess disk-image-size)
#~(+ (* 70 (expt 2 20)) ;ESP
(estimated-partition-size graphs))
@@ -244,12 +249,8 @@ substitutable."
#:memory-size #$memory-size
#:make-disk-image? #$make-disk-image?
#:single-file-output? #$single-file-output?
- ;; FIXME: ‘target-arm32?’ and
- ;; ‘target-aarch64?’ may not operate on the
- ;; right system/target values. Rewrite
- ;; using ‘let-system’ when available.
- #:target-arm32? #$(target-arm32?)
- #:target-aarch64? #$(target-aarch64?)
+ #:target-arm32? #$(check target-arm32?)
+ #:target-aarch64? #$(check target-aarch64?)
#:disk-image-format #$disk-image-format
#:disk-image-size size
#:references-graphs graphs))))))