Subject: [PATCH 1/1] gnu: qemu-binfmt-service-type: Change 'guix-support?' default to #t.

From: Stefan <[email-masked]>
Date: Thu, 7 Jan 2021 21:44:22 +0100

* gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]:
Change the default from #f to #t.
* doc/guix.texi (Transparent Emulation with QEMU): Change the default of
‘guix-support?’ from #f to #t.  Describe the implication of setting it to #f.
---
  doc/guix.texi                   | 8 +++++++-
  gnu/services/virtualization.scm | 2 +-
  2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 884224fce6..3a22709821 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -27221,7 +27221,7 @@ This is the configuration for the @code{qemu-binfmt} service.
  The list of emulated QEMU platforms.  Each item must be a @dfn{platform
  object} as returned by @code{lookup-qemu-platforms} (see below).
  
-@item @code{guix-support?} (default: @code{#f})
+@item @code{guix-support?} (default: @code{#t})
  When it is true, QEMU and all its dependencies are added to the build
  environment of @command{guix-daemon} (@pxref{Invoking guix-daemon,
  @option{--chroot-directory} option}).  This allows the @code{binfmt_misc}
@@ -27250,6 +27250,12 @@ build}, transparently using QEMU to emulate the ARMv7 CPU.  Pretty handy
  if you'd like to test a package build for an architecture you don't have
  access to!
  
+When @code{guix-support?} is set to @code{#f}, then of course programs for
+other architectures can still be executed transparently, but invoking commands
+like @command{guix build -s armhf-linux inksake} will fail with an unobvious
+error that @command{guile} cannot be executed.  However, the build environment
+of @command{guix-daemon} then needs less store items.
+
  @item @code{qemu} (default: @code{qemu})
  The QEMU package to use.
  @end table
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index f435630faf..2f5a258bfe 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -717,7 +717,7 @@ potential infinite waits blocking libvirt."))
    (platforms   qemu-binfmt-configuration-platforms
                 (default '()))                     ;safest default
    (guix-support? qemu-binfmt-configuration-guix-support?
-                 (default #f)))
+                 (default #t)))
  
  (define (qemu-platform->binfmt qemu platform)
    "Return a gexp that evaluates to a binfmt string for PLATFORM, using the
-- 
2.29.2