diff mbox series

[bug#41350,v2,2/3] system: vm: Do not register-closures when cross-building to the Hurd.

Message ID 20200519072302.9202-2-janneke@gnu.org
State New
Headers show
Series [bug#41350,v2,1/3] utils: Move 'reset-timestamps' out of database. | expand


Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Jan Nieuwenhuizen May 19, 2020, 7:23 a.m. UTC
This supports cross-building building a vm-image for the Hurd, running a
native qemu.

* gnu/system/vm.scm (qemu-image)[register-closures?]: Default to #f when
cross-compiling to the Hurd.  Only create sql-schema when actually registering
 gnu/build/vm.scm  | 2 +-
 gnu/system/vm.scm | 9 ++++++---
 2 files changed, 7 insertions(+), 4 deletions(-)
diff mbox series


diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index c751e6b0e2..2b36dd29ce 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -27,7 +27,7 @@ 
   #:use-module (guix build store-copy)
   #:use-module (guix build syscalls)
   #:use-module ((guix utils) #:select (reset-timestamps))
-  #:use-module (guix store database)
+  #:autoload (guix store database) (%epoch register-items sql-schema)
   #:use-module (gnu build bootloader)
   #:use-module (gnu build linux-boot)
   #:use-module (gnu build install)
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 3e483fd86c..b343141c18 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -51,6 +51,7 @@ 
   #:use-module (gnu packages zile)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages hurd)
   #:use-module (gnu bootloader)
   #:use-module (gnu bootloader grub)
@@ -286,7 +287,8 @@  substitutable."
-                     (register-closures? (has-guix-service-type? os))
+                     (register-closures? (and (has-guix-service-type? os)
+                                              (not (hurd-target?))))
                      (inputs '())
                      (substitutable? #t))
@@ -333,12 +335,13 @@  system that is passed to 'populate-root-file-system'."
                         ((gnu build linux-boot)
                          #:select (make-essential-device-nodes
-                        (guix store database)
                         (guix build utils)
                         (srfi srfi-26)
                         (ice-9 binary-ports))
-           (sql-schema #$schema)
+           (when #$register-closures?
+             (use-modules (guix store database))
+             (sql-schema #$schema))
            ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
            (setenv "GUIX_LOCPATH"