From ba3138ab0f1d9f332a42f2a69a60e3879405c9b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 May 2020 22:23:21 +0200 Subject: [PATCH] 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'. --- gnu/system/vm.scm | 15 ++++++++------- 1 file 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 @@ (define loader (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 @@ (define builder (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 @@ (define builder #: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))))))