summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--doc/guix.texi120
-rw-r--r--gnu/bootloader/depthcharge.scm107
-rw-r--r--gnu/build/linux-container.scm48
-rw-r--r--gnu/installer.scm19
-rw-r--r--gnu/installer/locale.scm21
-rw-r--r--gnu/installer/newt/locale.scm24
-rw-r--r--gnu/installer/newt/network.scm4
-rw-r--r--gnu/installer/newt/services.scm37
-rw-r--r--gnu/installer/newt/welcome.scm8
-rw-r--r--gnu/installer/services.scm120
-rw-r--r--gnu/installer/steps.scm2
-rw-r--r--gnu/local.mk22
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/audio.scm8
-rw-r--r--gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf4574
-rw-r--r--gnu/packages/bioconductor.scm239
-rw-r--r--gnu/packages/bioinformatics.scm46
-rw-r--r--gnu/packages/chromium.scm6
-rw-r--r--gnu/packages/cran.scm63
-rw-r--r--gnu/packages/curl.scm18
-rw-r--r--gnu/packages/disk.scm2
-rw-r--r--gnu/packages/emacs-xyz.scm133
-rw-r--r--gnu/packages/emulators.scm7
-rw-r--r--gnu/packages/enlightenment.scm21
-rw-r--r--gnu/packages/entr.scm5
-rw-r--r--gnu/packages/erlang.scm19
-rw-r--r--gnu/packages/finance.scm11
-rw-r--r--gnu/packages/flashing-tools.scm10
-rw-r--r--gnu/packages/freedesktop.scm150
-rw-r--r--gnu/packages/game-development.scm6
-rw-r--r--gnu/packages/games.scm104
-rw-r--r--gnu/packages/ghostscript.scm11
-rw-r--r--gnu/packages/gnome.scm13
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/gnuzilla.scm156
-rw-r--r--gnu/packages/golang.scm336
-rw-r--r--gnu/packages/graph.scm34
-rw-r--r--gnu/packages/haskell-apps.scm400
-rw-r--r--gnu/packages/haskell-crypto.scm43
-rw-r--r--gnu/packages/haskell-web.scm108
-rw-r--r--gnu/packages/image.scm15
-rw-r--r--gnu/packages/java.scm77
-rw-r--r--gnu/packages/kde.scm80
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linux.scm40
-rw-r--r--gnu/packages/lisp.scm1406
-rw-r--r--gnu/packages/mate.scm144
-rw-r--r--gnu/packages/maths.scm91
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/nss.scm184
-rw-r--r--gnu/packages/openldap.scm4
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/password-utils.scm2
-rw-r--r--gnu/packages/patches/emacs-undohist-ignored.patch27
-rw-r--r--gnu/packages/patches/lcms-CVE-2018-16435.patch171
-rw-r--r--gnu/packages/patches/ledger-fix-uninitialized.patch27
-rw-r--r--gnu/packages/patches/localed-xorg-keyboard.patch322
-rw-r--r--gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch72
-rw-r--r--gnu/packages/php.scm4
-rw-r--r--gnu/packages/plotutils.scm43
-rw-r--r--gnu/packages/polkit.scm1
-rw-r--r--gnu/packages/printers.scm56
-rw-r--r--gnu/packages/protobuf.scm19
-rw-r--r--gnu/packages/python-crypto.scm4
-rw-r--r--gnu/packages/python-xyz.scm21
-rw-r--r--gnu/packages/qt.scm2
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/sdl.scm92
-rw-r--r--gnu/packages/ssh.scm18
-rw-r--r--gnu/packages/sssd.scm4
-rw-r--r--gnu/packages/statistics.scm26
-rw-r--r--gnu/packages/storage.scm2
-rw-r--r--gnu/packages/syncthing.scm6
-rw-r--r--gnu/packages/tls.scm52
-rw-r--r--gnu/packages/upnp.scm4
-rw-r--r--gnu/packages/version-control.scm308
-rw-r--r--gnu/packages/video.scm16
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/web.scm8
-rw-r--r--gnu/packages/xml.scm110
-rw-r--r--gnu/services/base.scm13
-rw-r--r--gnu/services/dbus.scm48
-rw-r--r--gnu/services/desktop.scm52
-rw-r--r--gnu/services/mail.scm45
-rw-r--r--gnu/services/networking.scm3
-rw-r--r--gnu/services/ssh.scm3
-rw-r--r--gnu/services/xorg.scm122
-rw-r--r--gnu/system/examples/asus-c201.tmpl60
-rw-r--r--gnu/system/examples/desktop.tmpl14
-rw-r--r--gnu/system/install.scm10
-rw-r--r--guix/gexp.scm47
-rw-r--r--guix/licenses.scm7
-rw-r--r--guix/packages.scm3
-rw-r--r--guix/scripts/environment.scm10
-rw-r--r--guix/scripts/pack.scm8
-rw-r--r--guix/scripts/size.scm14
-rw-r--r--guix/scripts/system.scm3
-rw-r--r--guix/self.scm1
-rw-r--r--po/doc/guix-manual.de.po2644
-rw-r--r--tests/containers.scm11
-rw-r--r--tests/guix-environment-container.sh15
103 files changed, 10965 insertions, 2717 deletions
diff --git a/Makefile.am b/Makefile.am
index 4902f3afe7..c331da7267 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -292,6 +292,7 @@ AUX_FILES =						\
   gnu/packages/aux-files/linux-libre/5.0-i686.conf	\
   gnu/packages/aux-files/linux-libre/5.0-x86_64.conf	\
   gnu/packages/aux-files/linux-libre/4.19-arm.conf	\
+  gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf       \
   gnu/packages/aux-files/linux-libre/4.19-arm64.conf	\
   gnu/packages/aux-files/linux-libre/4.19-i686.conf	\
   gnu/packages/aux-files/linux-libre/4.19-x86_64.conf	\
@@ -306,6 +307,7 @@ AUX_FILES =						\
 
 # Templates, examples.
 EXAMPLES =					\
+  gnu/system/examples/asus-c201.tmpl		\
   gnu/system/examples/bare-bones.tmpl		\
   gnu/system/examples/beaglebone-black.tmpl	\
   gnu/system/examples/desktop.tmpl		\
diff --git a/doc/guix.texi b/doc/guix.texi
index 616970b505..2f9fcbe3bf 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4557,9 +4557,11 @@ Run @var{command} within an isolated container.  The current working
 directory outside the container is mapped inside the container.
 Additionally, unless overridden with @code{--user}, a dummy home
 directory is created that matches the current user's home directory, and
-@file{/etc/passwd} is configured accordingly.  The spawned process runs
-as the current user outside the container, but has root privileges in
-the context of the container.
+@file{/etc/passwd} is configured accordingly.
+
+The spawned process runs as the current user outside the container.  Inside
+the container, it has the same UID and GID as the current user, unless
+@option{--user} is passed (see below.)
 
 @item --network
 @itemx -N
@@ -4587,8 +4589,9 @@ the environment.
 @itemx -u @var{user}
 For containers, use the username @var{user} in place of the current
 user.  The generated @file{/etc/passwd} entry within the container will
-contain the name @var{user}; the home directory will be
-@file{/home/USER}; and no user GECOS data will be copied.  @var{user}
+contain the name @var{user}, the home directory will be
+@file{/home/@var{user}}, and no user GECOS data will be copied.  Furthermore,
+the UID and GID inside the container are 1000.  @var{user}
 need not exist on the system.
 
 Additionally, any shared or exposed path (see @code{--share} and
@@ -10999,6 +11002,8 @@ special-case and is automatically added whether or not it is specified.
 @node Keyboard Layout
 @section Keyboard Layout
 
+@cindex keyboard layout
+@cindex keymap
 To specify what each key of your keyboard does, you need to tell the operating
 system what @dfn{keyboard layout} you want to use.  The default, when nothing
 is specified, is the US English QWERTY layout for 105-key PC keyboards.
@@ -11074,6 +11079,7 @@ Let's say you want your system to use the Turkish keyboard layout throughout
 your system---bootloader, console, and Xorg.  Here's what your system
 configuration would look like:
 
+@findex set-xorg-configuration
 @lisp
 ;; Using the Turkish layout for the bootloader, the console,
 ;; and for Xorg.
@@ -11085,18 +11091,45 @@ configuration would look like:
                 (bootloader grub-efi-bootloader)
                 (target "/boot/efi")
                 (keyboard-layout keyboard-layout))) ;for GRUB
-  (services (modify-services %desktop-services
-              (gdm-service-type config =>
-                (gdm-configuration
-                  (inherit config)
-                  (xorg-configuration
+  (services (cons (set-xorg-configuration
                     (xorg-configuration             ;for Xorg
-                      (keyboard-layout keyboard-layout))))))))
+                      (keyboard-layout keyboard-layout)))
+                  %desktop-services)))
 @end lisp
 
 In the example above, for GRUB and for Xorg, we just refer to the
 @code{keyboard-layout} field defined above, but we could just as well refer to
-a different layout.
+a different layout.  The @code{set-xorg-configuration} procedure communicates
+the desired Xorg configuration to the graphical log-in manager, by default
+GDM.
+
+We've discussed how to specify the @emph{default} keyboard layout of your
+system when it starts, but you can also adjust it at run time:
+
+@itemize
+@item
+If you're using GNOME, its settings panel has a ``Region & Language'' entry
+where you can select one or more keyboard layouts.
+
+@item
+Under Xorg, the @command{setxkbmap} command (from the same-named package)
+allows you to change the current layout.  For example, this is how you would
+change the layout to US Dvorak:
+
+@example
+setxkbmap us dvorak
+@end example
+
+@item
+The @code{loadkeys} command changes the keyboard layout in effect in the Linux
+console.  However, note that @code{loadkeys} does @emph{not} use the XKB
+keyboard layout categorization described above.  The command below loads the
+French bépo layout:
+
+@example
+loadkeys fr-bepo
+@end example
+@end itemize
 
 @node Locales
 @section Locales
@@ -11990,29 +12023,6 @@ This is the name of the file where some random bytes are saved by
 It defaults to @file{/var/lib/random-seed}.
 @end defvr
 
-@cindex keymap
-@cindex keyboard
-@deffn {Scheme Procedure} console-keymap-service @var{files} ...
-@cindex keyboard layout
-Return a service to load console keymaps from @var{files} using
-@command{loadkeys} command.  Most likely, you want to load some default
-keymap, which can be done like this:
-
-@example
-(console-keymap-service "dvorak")
-@end example
-
-Or, for example, for a Swedish keyboard, you may need to combine
-the following keymaps:
-@example
-(console-keymap-service "se-lat6" "se-fi-lat6")
-@end example
-
-Also you can specify a full file name (or file names) of your keymap(s).
-See @code{man loadkeys} for details.
-
-@end deffn
-
 @cindex mouse
 @cindex gpm
 @defvr {Scheme Variable} gpm-service-type
@@ -13563,6 +13573,16 @@ default is @code{-nolisten tcp}.
 @end table
 @end deftp
 
+@deffn {Scheme Procedure} set-xorg-configuration @var{config} @
+  [@var{login-manager-service-type}]
+Tell the log-in manager (of type @var{login-manager-service-type}) to use
+@var{config}, an <xorg-configuration> record.
+
+Since the Xorg configuration is embedded in the log-in manager's
+configuration---e.g., @code{gdm-configuration}---this procedure provides a
+shorthand to set the Xorg configuration.
+@end deffn
+
 @deffn {Scheme Procedure} xorg-start-command [@var{config}]
 Return a @code{startx} script in which the modules, fonts, etc. specified
 in @var{config}, are available.  The result should be used in place of
@@ -16539,6 +16559,36 @@ the @code{operating-system}'s @code{user-accounts} in order to deliver
 the @code{postmaster} mail to @code{bob} (which subsequently would
 deliver mail to @code{bob@@example.com} and @code{bob@@example2.com}).
 
+@subsubheading GNU Mailutils IMAP4 Daemon
+@cindex GNU Mailutils IMAP4 Daemon
+
+@deffn {Scheme Variable} imap4d-service-type
+This is the type of the GNU Mailutils IMAP4 Daemon (@pxref{imap4d,,,
+mailutils, GNU Mailutils Manual}), whose value should be an
+@code{imap4d-configuration} object as in this example:
+
+@example
+(service imap4d-service-type
+         (imap4d-configuration
+           (config-file (local-file "imap4d.conf"))))
+@end example
+@end deffn
+
+@deftp {Data Type} imap4d-configuration
+Data type representing the configuration of @command{imap4d}.
+
+@table @asis
+@item @code{package} (default: @code{mailutils})
+The package that provides @command{imap4d}.
+
+@item @code{config-file} (default: @code{%default-imap4d-config-file})
+File-like object of the configuration file to use, by default it will listen
+on TCP port 143 of @code{localhost}.  @xref{Conf-imap4d,,, mailutils, GNU
+Mailutils Manual}, for details.
+
+@end table
+@end deftp
+
 @node Messaging Services
 @subsection Messaging Services
 
diff --git a/gnu/bootloader/depthcharge.scm b/gnu/bootloader/depthcharge.scm
new file mode 100644
index 0000000000..58cc3f3932
--- /dev/null
+++ b/gnu/bootloader/depthcharge.scm
@@ -0,0 +1,107 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu bootloader depthcharge)
+  #:use-module (gnu bootloader extlinux)
+  #:use-module (gnu bootloader)
+  #:use-module (gnu packages bootloaders)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
+  #:use-module (ice-9 match)
+  #:export (depthcharge-bootloader))
+
+(define (signed-kernel kernel kernel-arguments initrd)
+  (define builder
+    (with-imported-modules '((guix build utils))
+      #~(begin
+          (use-modules (guix build utils)
+                       (ice-9 binary-ports)
+                       (rnrs bytevectors))
+          (set-path-environment-variable "PATH" '("bin") (list #$dtc))
+
+          ;; TODO: These files have to be writable, so we copy them.
+          ;; This can probably be fixed by using a ".its" file, just
+          ;; be careful not to break initrd loading.
+          (copy-file #$kernel "zImage")
+          (chmod "zImage" #o755)
+          (copy-file (string-append (dirname #$kernel) "/lib/dtbs/"
+                                    "rk3288-veyron-speedy.dtb")
+                     "rk3288-veyron-speedy.dtb")
+          (chmod "rk3288-veyron-speedy.dtb" #o644)
+          (copy-file #$initrd "initrd")
+          (chmod "initrd" #o644)
+
+          (invoke (string-append #$u-boot-tools "/bin/mkimage")
+                  "-D" "-I dts -O dtb -p 2048"
+		  "-f" "auto"
+                  "-A" "arm"
+                  "-O" "linux"
+                  "-T" "kernel"
+                  "-C" "None"
+                  "-d" "zImage"
+                  "-a" "0"
+                  "-b" "rk3288-veyron-speedy.dtb"
+                  "-i" "initrd"
+	          "image.itb")
+          (call-with-output-file "bootloader.bin"
+            (lambda (port)
+              (put-bytevector port (make-bytevector 512 0))))
+          (with-output-to-file "kernel-arguments"
+	    (lambda ()
+	      (display (string-join (list #$@kernel-arguments)))))
+          (invoke (string-append #$vboot-utils "/bin/vbutil_kernel")
+                  "--pack" #$output
+                  "--version" "1"
+                  "--vmlinuz" "image.itb"
+		  "--arch" "arm"
+		  "--keyblock" (string-append #$vboot-utils
+                                              "/share/vboot-utils/devkeys/"
+                                              "kernel.keyblock")
+		  "--signprivate" (string-append #$vboot-utils
+                                                 "/share/vboot-utils/devkeys/"
+                                                 "kernel_data_key.vbprivk")
+                  "--config" "kernel-arguments"
+                  "--bootloader" "bootloader.bin"))))
+  (computed-file "vmlinux.kpart" builder))
+
+(define* (depthcharge-configuration-file config entries
+                                         #:key
+                                         (system (%current-system))
+                                         (old-entries '()))
+  (match entries
+    ((entry)
+     (let ((kernel (menu-entry-linux entry))
+           (kernel-arguments (menu-entry-linux-arguments entry))
+           (initrd (menu-entry-initrd entry)))
+       ;; XXX: Make this a symlink.
+       (signed-kernel kernel kernel-arguments initrd)))
+    (_ (error "Too many bootloader menu entries!"))))
+
+(define install-depthcharge
+  #~(lambda (bootloader device mount-point)
+      (let ((kpart (string-append mount-point
+                                  "/boot/depthcharge/vmlinux.kpart")))
+        (write-file-on-device kpart (stat:size (stat kpart)) device 0))))
+
+(define depthcharge-bootloader
+  (bootloader
+   (name 'depthcharge)
+   (package #f)
+   (installer install-depthcharge)
+   (configuration-file "/boot/depthcharge/vmlinux.kpart")
+   (configuration-file-generator depthcharge-configuration-file)))
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index 65e1325577..3d7b52f098 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -168,9 +168,12 @@ for the process."
     (umount "real-root" MNT_DETACH)
     (rmdir "real-root")))
 
-(define (initialize-user-namespace pid host-uids)
+(define* (initialize-user-namespace pid host-uids
+                                    #:key (guest-uid 0) (guest-gid 0))
   "Configure the user namespace for PID.  HOST-UIDS specifies the number of
-host user identifiers to map into the user namespace."
+host user identifiers to map into the user namespace.  GUEST-UID and GUEST-GID
+specify the first UID (respectively GID) that host UIDs (respectively GIDs)
+map to in the namespace."
   (define proc-dir
     (string-append "/proc/" (number->string pid)))
 
@@ -191,10 +194,10 @@ host user identifiers to map into the user namespace."
     ;; within the container.
     (call-with-output-file (scope "/uid_map")
       (lambda (port)
-        (format port "0 ~d ~d" uid host-uids)))
+        (format port "~d ~d ~d" guest-uid uid host-uids)))
     (call-with-output-file (scope "/gid_map")
       (lambda (port)
-        (format port "0 ~d ~d" gid host-uids)))))
+        (format port "~d ~d ~d" guest-gid gid host-uids)))))
 
 (define (namespaces->bit-mask namespaces)
   "Return the number suitable for the 'flags' argument of 'clone' that
@@ -210,13 +213,17 @@ corresponds to the symbols in NAMESPACES."
                ('net  CLONE_NEWNET))
               namespaces)))
 
-(define (run-container root mounts namespaces host-uids thunk)
+(define* (run-container root mounts namespaces host-uids thunk
+                        #:key (guest-uid 0) (guest-gid 0))
   "Run THUNK in a new container process and return its PID.  ROOT specifies
 the root directory for the container.  MOUNTS is a list of <file-system>
 objects that specify file systems to mount inside the container.  NAMESPACES
 is a list of symbols that correspond to the possible Linux namespaces: mnt,
-ipc, uts, user, and net.  HOST-UIDS specifies the number of
-host user identifiers to map into the user namespace."
+ipc, uts, user, and net.
+
+HOST-UIDS specifies the number of host user identifiers to map into the user
+namespace.  GUEST-UID and GUEST-GID specify the first UID (respectively GID)
+that host UIDs (respectively GIDs) map to in the namespace."
   ;; The parent process must initialize the user namespace for the child
   ;; before it can boot.  To negotiate this, a pipe is used such that the
   ;; child process blocks until the parent writes to it.
@@ -254,7 +261,9 @@ host user identifiers to map into the user namespace."
          (pid
           (close-port child)
           (when (memq 'user namespaces)
-            (initialize-user-namespace pid host-uids))
+            (initialize-user-namespace pid host-uids
+                                       #:guest-uid guest-uid
+                                       #:guest-gid guest-gid))
           ;; TODO: Initialize cgroups.
           (write 'ready parent)
           (newline parent)
@@ -271,23 +280,30 @@ host user identifiers to map into the user namespace."
                #f)))))))))
 
 (define* (call-with-container mounts thunk #:key (namespaces %namespaces)
-                              (host-uids 1))
+                              (host-uids 1) (guest-uid 0) (guest-gid 0))
   "Run THUNK in a new container process and return its exit status.
 MOUNTS is a list of <file-system> objects that specify file systems to mount
 inside the container.  NAMESPACES is a list of symbols corresponding to
 the identifiers for Linux namespaces: mnt, ipc, uts, pid, user, and net.  By
-default, all namespaces are used.  HOST-UIDS is the number of host user
-identifiers to map into the container's user namespace, if there is one.  By
-default, only a single uid/gid, that of the current user, is mapped into the
-container.  The host user that creates the container is the root user (uid/gid
-0) within the container.  Only root can map more than a single uid/gid.
+default, all namespaces are used.
+
+HOST-UIDS is the number of host user identifiers to map into the container's
+user namespace, if there is one.  By default, only a single uid/gid, that of
+the current user, is mapped into the container.  The host user that creates
+the container is the root user (uid/gid 0) within the container.  Only root
+can map more than a single uid/gid.
+
+GUEST-UID and GUEST-GID specify the first UID (respectively GID) that host
+UIDs (respectively GIDs) map to in the namespace.
 
 Note that if THUNK needs to load any additional Guile modules, the relevant
 module files must be present in one of the mappings in MOUNTS and the Guile
 load path must be adjusted as needed."
   (call-with-temporary-directory
    (lambda (root)
-     (let ((pid (run-container root mounts namespaces host-uids thunk)))
+     (let ((pid (run-container root mounts namespaces host-uids thunk
+                               #:guest-uid guest-uid
+                               #:guest-gid guest-gid)))
        ;; Catch SIGINT and kill the container process.
        (sigaction SIGINT
          (lambda (signum)
diff --git a/gnu/installer.scm b/gnu/installer.scm
index 584ca3842f..50e2e7d85e 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -174,14 +174,6 @@ selected keymap."
                                         "/share/zoneinfo/zone.tab")))
     #~(lambda (current-installer)
         (list
-         ;; Welcome the user and ask him to choose between manual
-         ;; installation and graphical install.
-         (installer-step
-          (id 'welcome)
-          (compute (lambda _
-                     ((installer-welcome-page current-installer)
-                      #$(local-file "installer/aux-files/logo.txt")))))
-
          ;; Ask the user to choose a locale among those supported by
          ;; the glibc.  Install the selected locale right away, so that
          ;; the user may benefit from any available translation for the
@@ -193,6 +185,14 @@ selected keymap."
                      (#$locale-step current-installer)))
           (configuration-formatter locale->configuration))
 
+         ;; Welcome the user and ask them to choose between manual
+         ;; installation and graphical install.
+         (installer-step
+          (id 'welcome)
+          (compute (lambda _
+                     ((installer-welcome-page current-installer)
+                      #$(local-file "installer/aux-files/logo.txt")))))
+
          ;; Ask the user to select a timezone under glibc format.
          (installer-step
           (id 'timezone)
@@ -256,8 +256,7 @@ selected keymap."
           (description (G_ "Services"))
           (compute (lambda _
                      ((installer-services-page current-installer))))
-	  (configuration-formatter
-           desktop-environments->configuration))
+	  (configuration-formatter system-services->configuration))
 
 	 (installer-step
           (id 'final)
diff --git a/gnu/installer/locale.scm b/gnu/installer/locale.scm
index 2b45b2200a..284062a6e7 100644
--- a/gnu/installer/locale.scm
+++ b/gnu/installer/locale.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -69,6 +70,24 @@
       (codeset   . ,(match:substring matches 5))
       (modifier  . ,(match:substring matches 7)))))
 
+(define (normalize-codeset codeset)
+  "Compute the \"normalized\" variant of CODESET."
+  ;; info "(libc) Using gettextized software", for the algorithm used to
+  ;; compute the normalized codeset.
+  (letrec-syntax ((-> (syntax-rules ()
+                        ((_ proc value)
+                         (proc value))
+                        ((_ proc rest ...)
+                         (proc (-> rest ...))))))
+    (-> (lambda (str)
+          (if (string-every char-set:digit str)
+              (string-append "iso" str)
+              str))
+        string-downcase
+        (lambda (str)
+          (string-filter char-set:letter+digit str))
+        codeset)))
+
 (define (locale->locale-string locale)
   "Reverse operation of locale-string->locale."
   (let ((language (locale-language locale))
@@ -81,7 +100,7 @@
                    `("_" ,territory)
                    '())
              ,@(if codeset
-                   `("." ,codeset)
+                   `("." ,(normalize-codeset codeset))
                    '())
              ,@(if modifier
                    `("@" ,modifier)
diff --git a/gnu/installer/newt/locale.scm b/gnu/installer/newt/locale.scm
index 4fa07df81e..b819d06691 100644
--- a/gnu/installer/newt/locale.scm
+++ b/gnu/installer/newt/locale.scm
@@ -33,14 +33,8 @@
   (let ((title (G_ "Locale language")))
     (run-listbox-selection-page
      #:title title
-     #:info-text (G_ "Choose the locale's language to be used for the \
-installation process. A locale is a regional variant of your language \
-encompassing number, date and currency format, among other details.
-
-Based on the language you choose, you will possibly be asked to \
-select a locale's territory, codeset and modifier in the next \
-steps. The locale will also be used as the default one for the \
-installed system.")
+     #:info-text (G_ "Choose the language to use for the \
+installation process and for the installed system.")
      #:info-textbox-width 70
      #:listbox-items languages
      #:listbox-item->text language->text
@@ -56,8 +50,7 @@ installed system.")
   (let ((title (G_ "Locale location")))
     (run-listbox-selection-page
      #:title title
-     #:info-text (G_ "Choose your locale's location. This is a shortlist of \
-locations based on the language you selected.")
+     #:info-text (G_ "Choose a territory for this language.")
      #:listbox-items territories
      #:listbox-item->text territory->text
      #:button-text (G_ "Back")
@@ -71,8 +64,7 @@ locations based on the language you selected.")
   (let ((title (G_ "Locale codeset")))
     (run-listbox-selection-page
      #:title title
-     #:info-text (G_ "Choose your locale's codeset. If UTF-8 is available, \
- it should be preferred.")
+     #:info-text (G_ "Choose the locale encoding.")
      #:listbox-items codesets
      #:listbox-item->text identity
      #:listbox-default-item "UTF-8"
@@ -191,9 +183,11 @@ glibc locale string and return it."
            ;; narrow down the search of a locale.
            (break-on-locale-found locales)
 
-           ;; Otherwise, ask for a codeset.
-           (run-codeset-page
-            (delete-duplicates (map locale-codeset locales)))))))
+           ;; Otherwise, choose a codeset.
+           (let ((codesets (delete-duplicates (map locale-codeset locales))))
+             (if (member "UTF-8" codesets)
+                 "UTF-8"                          ;don't even ask
+                 (run-codeset-page codesets)))))))
      (installer-step
       (id 'modifier)
       (compute
diff --git a/gnu/installer/newt/network.scm b/gnu/installer/newt/network.scm
index f13176dc61..37a2a45411 100644
--- a/gnu/installer/newt/network.scm
+++ b/gnu/installer/newt/network.scm
@@ -59,7 +59,7 @@ Internet and return the selected technology. For now, only technologies with
                (G_ "Internet access")
                (G_ "Continue")
                (G_ "Exit")
-               (G_ "The install process requires an internet access, but no \
+               (G_ "The install process requires Internet access but no \
 network device were found. Do you want to continue anyway?"))
           ((1) (raise
                 (condition
@@ -68,7 +68,7 @@ network device were found. Do you want to continue anyway?"))
                 (condition
                  (&installer-step-abort)))))
         (run-listbox-selection-page
-         #:info-text (G_ "The install process requires an internet access.\
+         #:info-text (G_ "The install process requires Internet access.\
  Please select a network device.")
          #:title (G_ "Internet access")
          #:listbox-items items
diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm
index 6bcb6244ae..10c19115ca 100644
--- a/gnu/installer/newt/services.scm
+++ b/gnu/installer/newt/services.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,11 +33,33 @@
 environments."
   (run-checkbox-tree-page
    #:info-text (G_ "Please select the desktop(s) environment(s) you wish to \
-install. If you select multiple desktops environments, we will be able to \
-choose the one to use on the log-in screen with F1.")
+install. If you select multiple desktops environments, you will be able to \
+choose the one to use on the log-in screen.")
    #:title (G_ "Desktop environment")
-   #:items %desktop-environments
-   #:item->text desktop-environment-name
+   #:items (filter desktop-system-service? %system-services)
+   #:item->text system-service-name               ;no i18n for DE names
+   #:checkbox-tree-height 5
+   #:exit-button-callback-procedure
+   (lambda ()
+     (raise
+      (condition
+       (&installer-step-abort))))))
+
+(define (run-networking-cbt-page network-management?)
+  "Run a page allowing the user to select networking services.  When
+NETWORK-MANAGEMENT? is true, include network management services like
+NetworkManager."
+  (run-checkbox-tree-page
+   #:info-text (G_ "You can now select networking services to run on your \
+system.")
+   #:title (G_ "Network service")
+   #:items (filter (let ((types (if network-management?
+                                    '(network-management networking)
+                                    '(networking))))
+                     (lambda (service)
+                       (memq (system-service-type service) types)))
+                   %system-services)
+   #:item->text (compose G_ system-service-name)
    #:checkbox-tree-height 5
    #:exit-button-callback-procedure
    (lambda ()
@@ -45,4 +68,8 @@ choose the one to use on the log-in screen with F1.")
        (&installer-step-abort))))))
 
 (define (run-services-page)
-  (run-desktop-environments-cbt-page))
+  (let ((desktop (run-desktop-environments-cbt-page)))
+    ;; When the user did not select any desktop services, and thus didn't get
+    ;; '%desktop-services', offer network management services.
+    (append desktop
+            (run-networking-cbt-page (null? desktop)))))
diff --git a/gnu/installer/newt/welcome.scm b/gnu/installer/newt/welcome.scm
index b0b5429c0f..aec3e7a612 100644
--- a/gnu/installer/newt/welcome.scm
+++ b/gnu/installer/newt/welcome.scm
@@ -95,9 +95,11 @@ installation and reboot."
    (G_ "GNU Guix install")
    (G_ "Welcome to GNU Guix system installer!
 
-Please note that the present graphical installer is still under heavy \
-development, so you might want to prefer using the shell based process. \
-The documentation is accessible at any time by pressing CTRL-ALT-F2.")
+You will be guided through a graphical installation program.
+
+If you are familiar with GNU/Linux and you want tight control over \
+the installation process, you can instead choose manual installation.  \
+Documentation is accessible at any time by pressing Ctrl-Alt-F2.")
    logo
    #:listbox-items
    `((,(G_ "Graphical install using a terminal based interface")
diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index 2b6625f6af..46ade0f8fa 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,44 +19,89 @@
 
 (define-module (gnu installer services)
   #:use-module (guix records)
-  #:export (<desktop-environment>
-            desktop-environment
-            make-desktop-environment
-            desktop-environment-name
-            desktop-environment-snippet
+  #:use-module (srfi srfi-1)
+  #:export (system-service?
+            system-service-name
+            system-service-type
+            system-service-snippet
 
-            %desktop-environments
-            desktop-environments->configuration))
+            desktop-system-service?
+            networking-system-service?
 
-(define-record-type* <desktop-environment>
-  desktop-environment make-desktop-environment
-  desktop-environment?
-  (name            desktop-environment-name) ;string
-  (snippet         desktop-environment-snippet)) ;symbol
+            %system-services
+            system-services->configuration))
+
+(define-record-type* <system-service>
+  system-service make-system-service
+  system-service?
+  (name            system-service-name)           ;string
+  (type            system-service-type)           ;'desktop | 'networking
+  (snippet         system-service-snippet))       ;sexp
 
 ;; This is the list of desktop environments supported as services.
-(define %desktop-environments
-  (list
-   (desktop-environment
-    (name "GNOME")
-    (snippet '(service gnome-desktop-service-type)))
-   (desktop-environment
-    (name "Xfce")
-    ;; TODO: Use 'xfce-desktop-service-type' when the 'guix' package provides
-    ;; it with a default value.
-    (snippet '(xfce-desktop-service)))
-   (desktop-environment
-    (name "MATE")
-    (snippet '(service mate-desktop-service-type)))
-   (desktop-environment
-    (name "Enlightenment")
-    (snippet '(service enlightenment-desktop-service-type)))))
-
-(define (desktop-environments->configuration desktop-environments)
-  "Return the configuration field for DESKTOP-ENVIRONMENTS."
-  (let ((snippets
-         (map desktop-environment-snippet desktop-environments)))
-    `(,@(if (null? snippets)
-            '()
-            `((services (cons* ,@snippets
-                               %desktop-services)))))))
+(define %system-services
+  (let-syntax ((desktop-environment (syntax-rules ()
+                                      ((_ fields ...)
+                                       (system-service
+                                        (type 'desktop)
+                                        fields ...))))
+               (G_ (syntax-rules ()               ;for xgettext
+                     ((_ str) str))))
+    (list
+     (desktop-environment
+      (name "GNOME")
+      (snippet '(service gnome-desktop-service-type)))
+     (desktop-environment
+      (name "Xfce")
+      ;; TODO: Use 'xfce-desktop-service-type' when the 'guix' package provides
+      ;; it with a default value.
+      (snippet '(xfce-desktop-service)))
+     (desktop-environment
+      (name "MATE")
+      (snippet '(service mate-desktop-service-type)))
+     (desktop-environment
+      (name "Enlightenment")
+      (snippet '(service enlightenment-desktop-service-type)))
+
+     ;; Networking.
+     (system-service
+      (name (G_ "OpenSSH secure shell daemon (sshd)"))
+      (type 'networking)
+      (snippet '(service openssh-service-type)))
+     (system-service
+      (name (G_ "Tor anonymous network router"))
+      (type 'networking)
+      (snippet '(service tor-service-type)))
+
+     ;; Network connectivity management.
+     (system-service
+      (name (G_ "NetworkManager network connection manager"))
+      (type 'network-management)
+      (snippet '(service network-manager-service-type)))
+     (system-service
+      (name (G_ "Connman network connection manager"))
+      (type 'network-management)
+      (snippet '(service connman-service-type)))
+     (system-service
+      (name (G_ "DHCP client (dynamic IP address assignment)"))
+      (type 'network-management)
+      (snippet '(service dhcp-client-service))))))
+
+(define (desktop-system-service? service)
+  "Return true if SERVICE is a desktop environment service."
+  (eq? 'desktop (system-service-type service)))
+
+(define (networking-system-service? service)
+  "Return true if SERVICE is a desktop environment service."
+  (eq? 'networking (system-service-type service)))
+
+(define (system-services->configuration services)
+  "Return the configuration field for SERVICES."
+  (let* ((snippets (map system-service-snippet services))
+         (desktop? (find desktop-system-service? services))
+         (base     (if desktop?
+                       '%desktop-services
+                       '%base-services)))
+    (if (null? snippets)
+        `((services ,base))
+        `((services (cons* ,@snippets ,base))))))
diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm
index 3f0bdad4f7..96cfdd03d1 100644
--- a/gnu/installer/steps.scm
+++ b/gnu/installer/steps.scm
@@ -215,7 +215,7 @@ found in RESULTS."
                   '())))
           steps))
         (modules '((use-modules (gnu))
-                   (use-service-modules desktop))))
+                   (use-service-modules desktop networking ssh))))
     `(,@modules
       ()
       (operating-system ,@configuration))))
diff --git a/gnu/local.mk b/gnu/local.mk
index ac7531af03..cc273b029b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -46,6 +46,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/bootloader/grub.scm                       \
   %D%/bootloader/extlinux.scm                   \
   %D%/bootloader/u-boot.scm                     \
+  %D%/bootloader/depthcharge.scm                \
   %D%/ci.scm					\
   %D%/packages.scm				\
   %D%/packages/abduco.scm			\
@@ -230,6 +231,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/gxmessage.scm			\
   %D%/packages/hardware.scm			\
   %D%/packages/haskell.scm			\
+  %D%/packages/haskell-apps.scm			\
   %D%/packages/haskell-check.scm		\
   %D%/packages/haskell-crypto.scm		\
   %D%/packages/haskell-web.scm			\
@@ -341,6 +343,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ninja.scm			\
   %D%/packages/node.scm				\
   %D%/packages/noweb.scm			\
+  %D%/packages/nss.scm				\
   %D%/packages/ntp.scm				\
   %D%/packages/nutrition.scm			\
   %D%/packages/nvi.scm				\
@@ -583,9 +586,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/tests/virtualization.scm			\
   %D%/tests/web.scm
 
-if ENABLE_INSTALLER
-
-GNU_SYSTEM_MODULES +=                           \
+INSTALLER_MODULES =                             \
   %D%/installer.scm      			\
   %D%/installer/connman.scm			\
   %D%/installer/final.scm			\
@@ -617,13 +618,19 @@ GNU_SYSTEM_MODULES +=                           \
   %D%/installer/newt/welcome.scm		\
   %D%/installer/newt/wifi.scm	
 
+# Always ship the installer modules but compile them only when
+# ENABLE_INSTALLER is true.
+if ENABLE_INSTALLER
+GNU_SYSTEM_MODULES += $(INSTALLER_MODULES)
+elif !ENABLE_INSTALLER
+MODULES_NOT_COMPILED += $(INSTALLER_MODULES)
+endif
+
 installerdir = $(guilemoduledir)/%D%/installer
 dist_installer_DATA =				\
   %D%/installer/aux-files/logo.txt	        \
   %D%/installer/aux-files/SUPPORTED
 
-endif ENABLE_INSTALLER
-
 # Modules that do not need to be compiled.
 MODULES_NOT_COMPILED +=				\
   %D%/build/shepherd.scm			\
@@ -745,6 +752,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch	\
   %D%/packages/patches/emacs-source-date-epoch.patch		\
   %D%/packages/patches/emacs-realgud-fix-configure-ac.patch	\
+  %D%/packages/patches/emacs-undohist-ignored.patch	\
   %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch	\
   %D%/packages/patches/emacs-zones-called-interactively.patch	\
   %D%/packages/patches/enlightenment-fix-setuid-path.patch	\
@@ -927,6 +935,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
   %D%/packages/patches/khmer-use-libraries.patch                \
   %D%/packages/patches/libziparchive-add-includes.patch		\
+  %D%/packages/patches/localed-xorg-keyboard.patch		\
   %D%/packages/patches/kiki-level-selection-crash.patch		\
   %D%/packages/patches/kiki-makefile.patch			\
   %D%/packages/patches/kiki-missing-includes.patch		\
@@ -946,9 +955,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch	\
   %D%/packages/patches/kodi-skip-test-449.patch		\
   %D%/packages/patches/laby-make-install.patch			\
+  %D%/packages/patches/lcms-CVE-2018-16435.patch		\
   %D%/packages/patches/ldc-bootstrap-disable-tests.patch	\
   %D%/packages/patches/ldc-disable-phobos-tests.patch		\
-  %D%/packages/patches/ledger-fix-uninitialized.patch		\
   %D%/packages/patches/liba52-enable-pic.patch			\
   %D%/packages/patches/liba52-link-with-libm.patch		\
   %D%/packages/patches/liba52-set-soname.patch			\
@@ -1084,6 +1093,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ngircd-handle-zombies.patch		\
   %D%/packages/patches/nss-increase-test-timeout.patch		\
   %D%/packages/patches/nss-pkgconfig.patch			\
+  %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch		\
   %D%/packages/patches/nvi-assume-preserve-path.patch		\
   %D%/packages/patches/nvi-dbpagesize-binpower.patch		\
   %D%/packages/patches/nvi-db4.patch				\
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index e272cd990b..205eb29863 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -248,7 +248,7 @@ precision.")
 (define-public giac-xcas
   (package
     (name "giac-xcas")
-    (version "1.5.0-43")
+    (version "1.5.0-49")
     (source (origin
               (method url-fetch)
               ;; "~parisse/giac" is not used because the maintainer regularly
@@ -260,7 +260,7 @@ precision.")
                                   "source/giac_" version ".tar.gz"))
               (sha256
                (base32
-                "1j58cvpiddzxswfdh4ixyj1xsva7qwk8xjls29nqvryyykdfm4dp"))))
+                "0f4pkand9vmqfayw18jm5qxbhcwi1405qfd7ibzh9lwzz6amkm3l"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))            ;77MiB of documentation
     (arguments
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index fb119f870d..5f034e7093 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1307,7 +1307,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
 (define-public guitarix
   (package
     (name "guitarix")
-    (version "0.37.3")
+    (version "0.38.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1315,7 +1315,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
                    version ".tar.xz"))
              (sha256
               (base32
-               "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac"))))
+               "0nv5vm2q86lzsz42kl78jxm6w20al8r7qcnr5f057ria7f8fq2f7"))))
     (build-system waf-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
@@ -3693,7 +3693,7 @@ library.")
 (define-public faudio
   (package
     (name "faudio")
-    (version "19.03")
+    (version "19.04")
     (source
      (origin
        (method git-fetch)
@@ -3702,7 +3702,7 @@ library.")
              (commit version)))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "0v5l67ixr5kd9jz5sza8xgzxamqnlgn3gs1q8gg6ir60g0jvzbd4"))))
+        (base32 "00lqf8bjcwm4k8yky9jmqghkxijcm2lxspb9zyl1270yqmj05kiw"))))
     (arguments
      '(#:tests? #f                      ; No tests.
        #:configure-flags '("-DFFMPEG=ON")))
diff --git a/gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf b/gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf
new file mode 100644
index 0000000000..8adef3294e
--- /dev/null
+++ b/gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf
@@ -0,0 +1,4574 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm 5.0.3-gnu Kernel Configuration
+#
+
+#
+# Compiler: gcc (GCC) 7.4.0
+#
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=70400
+CONFIG_CLANG_VERSION=0
+CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+# CONFIG_KERNEL_GZIP is not set
+# CONFIG_KERNEL_LZMA is not set
+CONFIG_KERNEL_XZ=y
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="debsus"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_HANDLE_DOMAIN_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_PSI is not set
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_GENERIC_SCHED_CLOCK=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_BPF=y
+CONFIG_EXPERT=y
+CONFIG_UID16=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_PRINTK_NMI=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT_ALWAYS_ON is not set
+CONFIG_USERFAULTFD=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_RSEQ=y
+# CONFIG_DEBUG_RSEQ is not set
+CONFIG_EMBEDDED=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_PERF_USE_VMALLOC=y
+# CONFIG_PC104 is not set
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_SLUB_MEMCG_SYSFS_ON is not set
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_ARM=y
+CONFIG_ARM_HAS_SG_CHAIN=y
+CONFIG_ARM_DMA_USE_IOMMU=y
+CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_HAVE_PROC_CPU=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_PGTABLE_LEVELS=3
+
+#
+# System Type
+#
+CONFIG_MMU=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=16
+CONFIG_ARCH_MULTIPLATFORM=y
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_DOVE is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_W90X900 is not set
+# CONFIG_ARCH_LPC32XX is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C24XX is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP1 is not set
+
+#
+# Multiple platform selection
+#
+
+#
+# CPU Core family selection
+#
+# CONFIG_ARCH_MULTI_V6 is not set
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_MULTI_V6_V7=y
+# CONFIG_ARCH_VIRT is not set
+# CONFIG_ARCH_ACTIONS is not set
+# CONFIG_ARCH_ALPINE is not set
+# CONFIG_ARCH_ARTPEC is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_AXXIA is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_DIGICOLOR is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_HIGHBANK is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_KEYSTONE is not set
+# CONFIG_ARCH_MEDIATEK is not set
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MMP is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_NPCM is not set
+
+#
+# TI OMAP/AM/DM/DRA Family
+#
+# CONFIG_ARCH_OMAP3 is not set
+# CONFIG_ARCH_OMAP4 is not set
+# CONFIG_SOC_OMAP5 is not set
+# CONFIG_SOC_AM33XX is not set
+# CONFIG_SOC_AM43XX is not set
+# CONFIG_SOC_DRA7XX is not set
+# CONFIG_ARCH_SIRF is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_RDA is not set
+# CONFIG_ARCH_REALVIEW is not set
+CONFIG_ARCH_ROCKCHIP=y
+# CONFIG_ARCH_S5PV210 is not set
+# CONFIG_ARCH_RENESAS is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_PLAT_SPEAR is not set
+# CONFIG_ARCH_STI is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_TANGO is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_ARCH_U8500 is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_WM8850 is not set
+# CONFIG_ARCH_ZX is not set
+# CONFIG_ARCH_ZYNQ is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_V7=y
+CONFIG_CPU_THUMB_CAPABLE=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_LPAE=y
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_ARM_VIRT_EXT=y
+CONFIG_SWP_EMULATE=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_CPU_SPECTRE=y
+CONFIG_HARDEN_BRANCH_PREDICTOR=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_VDSO=y
+CONFIG_OUTER_CACHE=y
+CONFIG_OUTER_CACHE_SYNC=y
+CONFIG_MIGHT_HAVE_CACHE_L2X0=y
+CONFIG_CACHE_L2X0=y
+# CONFIG_CACHE_L2X0_PMU is not set
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_PL310_ERRATA_727915=y
+CONFIG_PL310_ERRATA_753970=y
+CONFIG_PL310_ERRATA_769419=y
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_DMA_MEM_BUFFERABLE=y
+CONFIG_ARM_HEAVY_MB=y
+CONFIG_DEBUG_ALIGN_RODATA=y
+CONFIG_ARM_ERRATA_430973=y
+CONFIG_ARM_ERRATA_643719=y
+CONFIG_ARM_ERRATA_720789=y
+CONFIG_ARM_ERRATA_754322=y
+CONFIG_ARM_ERRATA_754327=y
+CONFIG_ARM_ERRATA_764369=y
+CONFIG_ARM_ERRATA_775420=y
+CONFIG_ARM_ERRATA_798181=y
+CONFIG_ARM_ERRATA_773022=y
+CONFIG_ARM_ERRATA_818325_852422=y
+CONFIG_ARM_ERRATA_821420=y
+CONFIG_ARM_ERRATA_825619=y
+# CONFIG_ARM_ERRATA_852421 is not set
+CONFIG_ARM_ERRATA_852423=y
+
+#
+# Bus support
+#
+
+#
+# Kernel Features
+#
+CONFIG_HAVE_SMP=y
+CONFIG_SMP=y
+CONFIG_SMP_ON_UP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+CONFIG_SCHED_MC=y
+# CONFIG_SCHED_SMT is not set
+CONFIG_HAVE_ARM_SCU=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
+CONFIG_HAVE_ARM_TWD=y
+# CONFIG_MCPM is not set
+# CONFIG_BIG_LITTLE is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
+CONFIG_ARM_PSCI=y
+CONFIG_ARCH_NR_GPIO=288
+CONFIG_HZ_FIXED=0
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_200 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_500 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+# CONFIG_THUMB2_KERNEL is not set
+CONFIG_ARM_PATCH_IDIV=y
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_HAVE_ARCH_PFN_VALID=y
+CONFIG_HAVE_GENERIC_GUP=y
+CONFIG_HIGHMEM=y
+CONFIG_HIGHPTE=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SYS_SUPPORTS_HUGETLBFS=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+# CONFIG_ARM_MODULE_PLTS is not set
+CONFIG_FORCE_MAX_ZONEORDER=12
+CONFIG_ALIGNMENT_TRAP=y
+# CONFIG_UACCESS_WITH_MEMCPY is not set
+CONFIG_SECCOMP=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+# CONFIG_XEN is not set
+
+#
+# Boot options
+#
+CONFIG_USE_OF=y
+CONFIG_ATAGS=y
+# CONFIG_DEPRECATED_PARAM_STRUCT is not set
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ARM_APPENDED_DTB=y
+# CONFIG_ARM_ATAG_DTB_COMPAT is not set
+CONFIG_CMDLINE=""
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_AUTO_ZRELADDR=y
+# CONFIG_EFI is not set
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
+# CONFIG_QORIQ_CPUFREQ is not set
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DT_IDLE_STATES=y
+
+#
+# ARM CPU Idle Drivers
+#
+CONFIG_ARM_CPUIDLE=y
+# CONFIG_ARM_HIGHBANK_CPUIDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+# CONFIG_KERNEL_MODE_NEON is not set
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_SUSPEND_SKIP_SYNC is not set
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_SLEEP_DEBUG=y
+CONFIG_APM_EMULATION=y
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+
+#
+# Firmware Drivers
+#
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+# CONFIG_ARM_SCMI_PROTOCOL is not set
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
+# CONFIG_FIRMWARE_MEMMAP is not set
+# CONFIG_FW_CFG_SYSFS is not set
+# CONFIG_INTEL_STRATIX10_SERVICE is not set
+CONFIG_HAVE_ARM_SMCCC=y
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# Tegra firmware driver
+#
+# CONFIG_ARM_CRYPTO is not set
+# CONFIG_VIRTUALIZATION is not set
+
+#
+# General architecture-dependent options
+#
+# CONFIG_OPROFILE is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_OPTPROBES=y
+CONFIG_UPROBES=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_NMI=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_HAVE_EXIT_THREAD=y
+CONFIG_ARCH_MMAP_RND_BITS=8
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_HAS_PHYS_TO_DMA=y
+CONFIG_REFCOUNT_FULL=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+CONFIG_PLUGIN_HOSTCC="g++"
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_COMPRESS is not set
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_SCSI_REQUEST=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+CONFIG_BLK_DEV_INTEGRITY=y
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_DEBUG_FS is not set
+# CONFIG_BLK_SED_OPAL is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_ELF_FDPIC is not set
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+
+#
+# Memory Management options
+#
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_BOUNCE=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_TRANSPARENT_HUGEPAGE=y
+# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
+CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
+CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
+# CONFIG_CLEANCACHE is not set
+CONFIG_FRONTSWAP=y
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+# CONFIG_CMA_DEBUGFS is not set
+CONFIG_CMA_AREAS=7
+CONFIG_ZSWAP=y
+CONFIG_ZPOOL=y
+CONFIG_ZBUD=y
+# CONFIG_Z3FOLD is not set
+CONFIG_ZSMALLOC=y
+# CONFIG_PGTABLE_MAPPING is not set
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_BENCHMARK is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=y
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=y
+# CONFIG_TLS is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_INTERFACE is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+# CONFIG_XDP_SOCKETS is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+# CONFIG_IP_MROUTE is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_NET_FOU is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_BEET is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+CONFIG_IPV6_MIP6=m
+# CONFIG_IPV6_ILA is not set
+# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
+# CONFIG_INET6_XFRM_MODE_BEET is not set
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+# CONFIG_IPV6_SIT is not set
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+# CONFIG_BRIDGE_NETFILTER is not set
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+# CONFIG_NETFILTER_NETLINK_OSF is not set
+CONFIG_NF_CONNTRACK=y
+# CONFIG_NF_LOG_NETDEV is not set
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+# CONFIG_NF_CONNTRACK_ZONES is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+# CONFIG_NF_CONNTRACK_LABELS is not set
+# CONFIG_NF_CT_PROTO_DCCP is not set
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_SNMP is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+# CONFIG_NF_CT_NETLINK is not set
+# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
+# CONFIG_NF_TABLES is not set
+CONFIG_NETFILTER_XTABLES=y
+
+#
+# Xtables combined modules
+#
+# CONFIG_NETFILTER_XT_MARK is not set
+# CONFIG_NETFILTER_XT_CONNMARK is not set
+
+#
+# Xtables targets
+#
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LED is not set
+# CONFIG_NETFILTER_XT_TARGET_LOG is not set
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
+# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+
+#
+# Xtables matches
+#
+# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+# CONFIG_NETFILTER_XT_MATCH_CPU is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ECN is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_HL is not set
+# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
+# CONFIG_NETFILTER_XT_MATCH_OSF is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# CONFIG_IP_SET is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=y
+# CONFIG_NF_SOCKET_IPV4 is not set
+# CONFIG_NF_TPROXY_IPV4 is not set
+# CONFIG_NF_DUP_IPV4 is not set
+# CONFIG_NF_LOG_ARP is not set
+# CONFIG_NF_LOG_IPV4 is not set
+# CONFIG_NF_REJECT_IPV4 is not set
+# CONFIG_NF_NAT_IPV4 is not set
+CONFIG_IP_NF_IPTABLES=y
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+CONFIG_IP_NF_FILTER=y
+# CONFIG_IP_NF_TARGET_REJECT is not set
+# CONFIG_IP_NF_TARGET_SYNPROXY is not set
+# CONFIG_IP_NF_NAT is not set
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration
+#
+# CONFIG_NF_SOCKET_IPV6 is not set
+# CONFIG_NF_TPROXY_IPV6 is not set
+# CONFIG_NF_DUP_IPV6 is not set
+# CONFIG_NF_REJECT_IPV6 is not set
+# CONFIG_NF_LOG_IPV6 is not set
+# CONFIG_NF_NAT_IPV6 is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+CONFIG_NF_DEFRAG_IPV6=y
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+# CONFIG_BPFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+CONFIG_STP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_HAVE_NET_DSA=y
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=y
+# CONFIG_LLC2 is not set
+CONFIG_ATALK=y
+# CONFIG_DEV_APPLETALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+# CONFIG_DNS_RESOLVER is not set
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_MPLS is not set
+# CONFIG_NET_NSH is not set
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+# CONFIG_BPF_STREAM_PARSER is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_DROP_MONITOR is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+CONFIG_BT=y
+CONFIG_BT_BREDR=y
+CONFIG_BT_RFCOMM=y
+# CONFIG_BT_RFCOMM_TTY is not set
+CONFIG_BT_BNEP=y
+# CONFIG_BT_BNEP_MC_FILTER is not set
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+# CONFIG_BT_LEDS is not set
+# CONFIG_BT_SELFTEST is not set
+# CONFIG_BT_DEBUGFS is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_INTEL=y
+CONFIG_BT_HCIBTUSB=y
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
+# CONFIG_BT_HCIBTUSB_BCM is not set
+# CONFIG_BT_HCIBTUSB_RTL is not set
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_BT_MRVL is not set
+# CONFIG_BT_ATH3K is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=y
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=y
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=y
+CONFIG_RFKILL_LEDS=y
+# CONFIG_RFKILL_INPUT is not set
+# CONFIG_RFKILL_GPIO is not set
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+CONFIG_GRO_CELLS=y
+# CONFIG_NET_DEVLINK is not set
+CONFIG_MAY_USE_DEVLINK=y
+CONFIG_FAILOVER=m
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_DPC is not set
+# CONFIG_PCIE_PTM is not set
+# CONFIG_PCI_MSI is not set
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI controller drivers
+#
+
+#
+# Cadence PCIe controllers support
+#
+# CONFIG_PCIE_CADENCE_HOST is not set
+# CONFIG_PCI_FTPCI100 is not set
+# CONFIG_PCI_HOST_GENERIC is not set
+# CONFIG_PCIE_XILINX is not set
+# CONFIG_PCI_V3_SEMI is not set
+# CONFIG_PCIE_ALTERA is not set
+
+#
+# DesignWare PCI Core Support
+#
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+# CONFIG_UEVENT_HELPER is not set
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+
+#
+# Bus devices
+#
+# CONFIG_BRCMSTB_GISB_ARB is not set
+# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+CONFIG_CONNECTOR=m
+# CONFIG_GNSS is not set
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
+CONFIG_OF_OVERLAY=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=y
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_ZRAM=y
+# CONFIG_ZRAM_WRITEBACK is not set
+# CONFIG_ZRAM_MEMORY_TRACKING is not set
+# CONFIG_BLK_DEV_UMEM is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_VIRTIO_BLK=m
+# CONFIG_VIRTIO_BLK_SCSI is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+
+#
+# NVME Support
+#
+# CONFIG_BLK_DEV_NVME is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TARGET is not set
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_USB_SWITCH_FSA9480 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+CONFIG_SRAM=y
+CONFIG_SRAM_EXEC=y
+# CONFIG_PCI_ENDPOINT_TEST is not set
+CONFIG_MISC_RTSX=y
+# CONFIG_PVPANIC is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC & related support
+#
+
+#
+# Intel MIC Bus Driver
+#
+
+#
+# SCIF Bus Driver
+#
+
+#
+# VOP Bus Driver
+#
+
+#
+# Intel MIC Host Driver
+#
+
+#
+# Intel MIC Card Driver
+#
+
+#
+# SCIF Driver
+#
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+
+#
+# VOP Driver
+#
+# CONFIG_ECHO is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+CONFIG_MISC_RTSX_USB=y
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=y
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_VIRTIO is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+# CONFIG_ATA is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+# CONFIG_MD_LINEAR is not set
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_MD_FAULTY is not set
+# CONFIG_BCACHE is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_UNSTRIPED=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_SMQ=m
+# CONFIG_DM_WRITECACHE is not set
+CONFIG_DM_ERA=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_RAID=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+# CONFIG_DM_VERITY_FEC is not set
+CONFIG_DM_SWITCH=m
+CONFIG_DM_LOG_WRITES=m
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
+CONFIG_TUN=y
+# CONFIG_TUN_VNET_CROSS_LE is not set
+# CONFIG_VETH is not set
+CONFIG_VIRTIO_NET=m
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+
+#
+# Distributed Switch Architecture drivers
+#
+# CONFIG_ETHERNET is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_ASIX_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+CONFIG_FIXED_PHY=y
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MICREL_PHY is not set
+CONFIG_MICROCHIP_PHY=y
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+CONFIG_USB_RTL8150=y
+CONFIG_USB_RTL8152=y
+CONFIG_USB_LAN78XX=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_AX88179_178A=y
+CONFIG_USB_NET_CDCETHER=y
+CONFIG_USB_NET_CDC_EEM=y
+# CONFIG_USB_NET_CDC_NCM is not set
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+CONFIG_USB_NET_SMSC75XX=y
+CONFIG_USB_NET_SMSC95XX=y
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
+CONFIG_USB_NET_CDC_SUBSET=y
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+# CONFIG_USB_BELKIN is not set
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+CONFIG_WLAN=y
+# CONFIG_WIRELESS_WDS is not set
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+CONFIG_ATH_COMMON=m
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH5K_PCI is not set
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+# CONFIG_ATH9K is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+# CONFIG_CARL9170 is not set
+# CONFIG_ATH6KL is not set
+# CONFIG_AR5523 is not set
+# CONFIG_WIL6210 is not set
+# CONFIG_ATH10K is not set
+# CONFIG_WCN36XX is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+# CONFIG_WLAN_VENDOR_MARVELL is not set
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_VIRT_WIFI is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_NETDEVSIM is not set
+CONFIG_NET_FAILOVER=m
+# CONFIG_ISDN is not set
+# CONFIG_NVM is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+CONFIG_INPUT_MATRIXKMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_APMPOWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADC is not set
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_TWL4030 is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=y
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+CONFIG_MOUSE_ELAN_I2C=y
+CONFIG_MOUSE_ELAN_I2C_I2C=y
+# CONFIG_MOUSE_ELAN_I2C_SMBUS is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=y
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+CONFIG_DEVMEM=y
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_ASPEED_VUART is not set
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_EM is not set
+# CONFIG_SERIAL_8250_RT288X is not set
+# CONFIG_SERIAL_8250_MOXA is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AMBA_PL010=y
+CONFIG_SERIAL_AMBA_PL010_CONSOLE=y
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_BCM63XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+CONFIG_SERIAL_ARC=y
+CONFIG_SERIAL_ARC_CONSOLE=y
+CONFIG_SERIAL_ARC_NR_PORTS=1
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_ST_ASC is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_HVC_DCC is not set
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_RAW_DRIVER is not set
+CONFIG_TCG_TPM=y
+# CONFIG_TCG_TIS is not set
+# CONFIG_TCG_TIS_SPI is not set
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+CONFIG_TCG_TIS_I2C_INFINEON=y
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+# CONFIG_TCG_ATMEL is not set
+# CONFIG_TCG_VTPM_PROXY is not set
+# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
+# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
+CONFIG_DEVPORT=y
+# CONFIG_XILLYBUS is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I2C_COMPAT is not set
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_GPMUX is not set
+# CONFIG_I2C_MUX_LTC4306 is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+# CONFIG_I2C_MUX_MLXCPLD is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+CONFIG_I2C_GPIO=y
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+CONFIG_I2C_RK3X=y
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_CROS_EC_TUNNEL=y
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+# CONFIG_SPI_MEM is not set
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_GPIO=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
+CONFIG_SPI_ROCKCHIP=y
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+CONFIG_PINCTRL_AS3722=y
+# CONFIG_PINCTRL_AXP209 is not set
+# CONFIG_PINCTRL_AMD is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+CONFIG_PINCTRL_ROCKCHIP=y
+CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_SX150X is not set
+CONFIG_PINCTRL_PALMAS=y
+# CONFIG_PINCTRL_RK805 is not set
+# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_DWAPB is not set
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_MPC8XXX is not set
+CONFIG_GPIO_PL061=y
+# CONFIG_GPIO_SAMA5D2_PIOBU is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_ZEVIO is not set
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+
+#
+# MFD GPIO expanders
+#
+# CONFIG_GPIO_DA9052 is not set
+# CONFIG_HTC_EGPIO is not set
+CONFIG_GPIO_PALMAS=y
+CONFIG_GPIO_TWL4030=y
+CONFIG_GPIO_TWL6040=y
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+
+#
+# USB GPIO expanders
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_AVS=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_AS3722=y
+# CONFIG_POWER_RESET_BRCMKONA is not set
+# CONFIG_POWER_RESET_BRCMSTB is not set
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+CONFIG_POWER_RESET_RESTART=y
+# CONFIG_POWER_RESET_VERSATILE is not set
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+CONFIG_REBOOT_MODE=y
+CONFIG_SYSCON_REBOOT_MODE=y
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_APM_POWER is not set
+# CONFIG_GENERIC_ADC_BATTERY is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_LEGO_EV3 is not set
+CONFIG_BATTERY_SBS=y
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_MANAGER_SBS is not set
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_DA9052 is not set
+# CONFIG_AXP20X_POWER is not set
+# CONFIG_AXP288_FUEL_GAUGE is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_TWL4030 is not set
+# CONFIG_CHARGER_LP8727 is not set
+CONFIG_CHARGER_GPIO=y
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LTC3651 is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_CROS_USBPD is not set
+# CONFIG_HWMON is not set
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_OF=y
+# CONFIG_THERMAL_WRITABLE_TRIPS is not set
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
+CONFIG_CPU_THERMAL=y
+# CONFIG_CLOCK_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+# CONFIG_QORIQ_THERMAL is not set
+CONFIG_ROCKCHIP_THERMAL=y
+# CONFIG_GENERIC_ADC_THERMAL is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+# CONFIG_WATCHDOG_SYSFS is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_DA9052_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_FTWDT010_WATCHDOG is not set
+CONFIG_DW_WATCHDOG=y
+# CONFIG_TWL4030_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+CONFIG_MFD_AS3722=y
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+CONFIG_MFD_AXP20X=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_CROS_EC=y
+CONFIG_MFD_CROS_EC_CHARDEV=y
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_PMIC_DA903X is not set
+CONFIG_PMIC_DA9052=y
+CONFIG_MFD_DA9052_SPI=y
+CONFIG_MFD_DA9052_I2C=y
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77620 is not set
+CONFIG_MFD_MAX77686=y
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_PM8XXX is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RC5T583 is not set
+CONFIG_MFD_RK808=y
+# CONFIG_MFD_RN5T618 is not set
+CONFIG_MFD_SEC_CORE=y
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+CONFIG_MFD_PALMAS=y
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+CONFIG_TWL4030_CORE=y
+CONFIG_TWL4030_POWER=y
+CONFIG_MFD_TWL4030_AUDIO=y
+CONFIG_TWL6040_CORE=y
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_88PG86X is not set
+CONFIG_REGULATOR_ACT8865=y
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_ANATOP is not set
+CONFIG_REGULATOR_AS3722=y
+# CONFIG_REGULATOR_AXP20X is not set
+# CONFIG_REGULATOR_DA9052 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+CONFIG_REGULATOR_FAN53555=y
+# CONFIG_REGULATOR_GPIO is not set
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX77686 is not set
+# CONFIG_REGULATOR_MAX77802 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+CONFIG_REGULATOR_PALMAS=y
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_RK808=y
+# CONFIG_REGULATOR_S2MPA01 is not set
+# CONFIG_REGULATOR_S2MPS11 is not set
+# CONFIG_REGULATOR_S5M8767 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_REGULATOR_VCTRL is not set
+# CONFIG_RC_CORE is not set
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_IMX_IPUV3_CORE is not set
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
+# CONFIG_DRM_DEBUG_MM is not set
+# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+# CONFIG_DRM_DP_CEC is not set
+CONFIG_DRM_GEM_CMA_HELPER=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# CONFIG_DRM_HDLCD is not set
+# CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+
+#
+# ACP (Audio CoProcessor) Configuration
+#
+
+#
+# AMD Library routines
+#
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_VGEM is not set
+# CONFIG_DRM_VKMS is not set
+# CONFIG_DRM_EXYNOS is not set
+CONFIG_DRM_ROCKCHIP=y
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+# CONFIG_ROCKCHIP_INNO_HDMI is not set
+# CONFIG_ROCKCHIP_LVDS is not set
+# CONFIG_ROCKCHIP_RGB is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_ARMADA is not set
+# CONFIG_DRM_RCAR_DW_HDMI is not set
+# CONFIG_DRM_RCAR_LVDS is not set
+# CONFIG_DRM_OMAP is not set
+# CONFIG_DRM_TILCDC is not set
+# CONFIG_DRM_QXL is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_VIRTIO_GPU is not set
+# CONFIG_DRM_FSL_DCU is not set
+# CONFIG_DRM_STM is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+CONFIG_DRM_PANEL_SIMPLE=y
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_DUMB_VGA_DAC is not set
+# CONFIG_DRM_LVDS_ENCODER is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+CONFIG_DRM_ANALOGIX_DP=y
+# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_DW_HDMI=y
+# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
+CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
+# CONFIG_DRM_DW_HDMI_CEC is not set
+CONFIG_DRM_DW_MIPI_DSI=y
+# CONFIG_DRM_STI is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_HISI_HIBMC is not set
+# CONFIG_DRM_MXSFB is not set
+# CONFIG_DRM_TINYDRM is not set
+# CONFIG_DRM_PL111 is not set
+# CONFIG_DRM_TVE200 is not set
+# CONFIG_DRM_LEGACY is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB_CMDLINE=y
+CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_ARMCLCD is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+CONFIG_FB_SIMPLE=y
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_DA9052 is not set
+# CONFIG_BACKLIGHT_PM8941_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_PANDORA is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_SEQ_DEVICE=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_HRTIMER=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_SEQUENCER=y
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+# CONFIG_SND_DRIVERS is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_ATMEL_SOC is not set
+CONFIG_SND_DESIGNWARE_I2S=y
+# CONFIG_SND_DESIGNWARE_PCM is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+CONFIG_SND_SOC_ROCKCHIP=y
+CONFIG_SND_SOC_ROCKCHIP_I2S=y
+CONFIG_SND_SOC_ROCKCHIP_PDM=y
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
+CONFIG_SND_SOC_ROCKCHIP_MAX98090=y
+CONFIG_SND_SOC_ROCKCHIP_RT5645=y
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=y
+# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+# CONFIG_ZX_TDM is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_DMIC is not set
+CONFIG_SND_SOC_HDMI_CODEC=y
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+CONFIG_SND_SOC_ES8328=y
+CONFIG_SND_SOC_ES8328_I2C=y
+CONFIG_SND_SOC_ES8328_SPI=y
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+CONFIG_SND_SOC_MAX98090=y
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98373 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RL6231=y
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+CONFIG_SND_SOC_RT5645=y
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+CONFIG_SND_SOC_TS3A227E=y
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZX_AUD96P22 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SIMPLE_CARD is not set
+# CONFIG_SND_SIMPLE_SCU_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+CONFIG_HIDRAW=y
+CONFIG_UHID=y
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+CONFIG_HID_CORSAIR=y
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+CONFIG_HID_ELAN=y
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+# CONFIG_USB_HIDDEV is not set
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_DYNAMIC_MINORS=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=y
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=y
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=y
+CONFIG_USB_STORAGE_FREECOM=y
+CONFIG_USB_STORAGE_ISD200=y
+CONFIG_USB_STORAGE_USBAT=y
+CONFIG_USB_STORAGE_SDDR09=y
+CONFIG_USB_STORAGE_SDDR55=y
+CONFIG_USB_STORAGE_JUMPSHOT=y
+CONFIG_USB_STORAGE_ALAUDA=y
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+CONFIG_USB_STORAGE_CYPRESS_ATACB=y
+CONFIG_USB_STORAGE_ENE_UB6250=y
+CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC2=y
+CONFIG_USB_DWC2_HOST=y
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_AM335X_PHY_USB is not set
+CONFIG_USB_GPIO_VBUS=y
+# CONFIG_USB_ISP1301 is not set
+# CONFIG_USB_ULPI is not set
+# CONFIG_USB_GADGET is not set
+# CONFIG_TYPEC is not set
+# CONFIG_USB_ROLE_SWITCH is not set
+# CONFIG_USB_LED_TRIG is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=16
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
+CONFIG_MMC_SDHCI_CADENCE=y
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_SPI=y
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+# CONFIG_MMC_DW_BLUEFIELD is not set
+# CONFIG_MMC_DW_EXYNOS is not set
+# CONFIG_MMC_DW_HI3798CV200 is not set
+# CONFIG_MMC_DW_K3 is not set
+# CONFIG_MMC_DW_PCI is not set
+CONFIG_MMC_DW_ROCKCHIP=y
+# CONFIG_MMC_VUB300 is not set
+CONFIG_MMC_USHC=y
+# CONFIG_MMC_USDHI6ROL0 is not set
+CONFIG_MMC_REALTEK_USB=y
+# CONFIG_MMC_CQHCI is not set
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_MMC_SDHCI_OMAP is not set
+# CONFIG_MMC_SDHCI_AM654 is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+# CONFIG_LEDS_CLASS_FLASH is not set
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_LP5562 is not set
+# CONFIG_LEDS_LP8501 is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DA9052 is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+# CONFIG_LEDS_SYSCON is not set
+# CONFIG_LEDS_MLXREG is not set
+# CONFIG_LEDS_USER is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+CONFIG_LEDS_TRIGGER_CPU=y
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_AS3722 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+CONFIG_RTC_DRV_HYM8563=y
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_MAX77686 is not set
+CONFIG_RTC_DRV_RK808=y
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_TWL4030 is not set
+# CONFIG_RTC_DRV_PALMAS is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_S5M is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_DA9052 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_CROS_EC=y
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_SNVS is not set
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+CONFIG_AMBA_PL08X=y
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_NBPFAXI_DMA is not set
+CONFIG_PL330_DMA=y
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_SW_SYNC is not set
+# CONFIG_UDMABUF is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO=y
+# CONFIG_VIRTIO_MENU is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# CONFIG_STAGING is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC_CTL=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_PROTO=y
+# CONFIG_MELLANOX_PLATFORM is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+# CONFIG_CLK_HSDK is not set
+# CONFIG_COMMON_CLK_MAX77686 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_RK808=y
+# CONFIG_COMMON_CLK_SCPI is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_S2MPS11 is not set
+# CONFIG_CLK_TWL6040 is not set
+# CONFIG_CLK_QORIQ is not set
+# CONFIG_COMMON_CLK_PALMAS is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_DW_APB_TIMER=y
+CONFIG_DW_APB_TIMER_OF=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_GLOBAL_TIMER=y
+CONFIG_ARM_TIMER_SP804=y
+CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y
+CONFIG_MAILBOX=y
+# CONFIG_ARM_MHU is not set
+# CONFIG_PLATFORM_MHU is not set
+CONFIG_PL320_MBOX=y
+CONFIG_ROCKCHIP_MBOX=y
+# CONFIG_ALTERA_MBOX is not set
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
+# CONFIG_IOMMU_DEBUGFS is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_ROCKCHIP_IOMMU=y
+# CONFIG_ARM_SMMU is not set
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=y
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_VIRTIO is not set
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+
+#
+# Broadcom SoC drivers
+#
+# CONFIG_SOC_BRCMSTB is not set
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+
+#
+# i.MX SoC drivers
+#
+
+#
+# Qualcomm SoC drivers
+#
+CONFIG_ROCKCHIP_GRF=y
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# CONFIG_XILINX_VCU is not set
+# CONFIG_PM_DEVFREQ is not set
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_PALMAS is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+# CONFIG_EXTCON_USB_GPIO is not set
+# CONFIG_EXTCON_USBC_CROS_EC is not set
+# CONFIG_MEMORY is not set
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_TRIGGERED_BUFFER=y
+# CONFIG_IIO_CONFIGFS is not set
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_SW_DEVICE is not set
+# CONFIG_IIO_SW_TRIGGER is not set
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADXL345_I2C is not set
+# CONFIG_ADXL345_SPI is not set
+# CONFIG_ADXL372_SPI is not set
+# CONFIG_ADXL372_I2C is not set
+# CONFIG_BMA180 is not set
+# CONFIG_BMA220 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_DA280 is not set
+# CONFIG_DA311 is not set
+# CONFIG_DMARD06 is not set
+# CONFIG_DMARD09 is not set
+# CONFIG_DMARD10 is not set
+# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MC3230 is not set
+# CONFIG_MMA7455_I2C is not set
+# CONFIG_MMA7455_SPI is not set
+# CONFIG_MMA7660 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_MXC6255 is not set
+# CONFIG_SCA3000 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7124 is not set
+# CONFIG_AD7266 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7766 is not set
+# CONFIG_AD7791 is not set
+# CONFIG_AD7793 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7923 is not set
+# CONFIG_AD7949 is not set
+# CONFIG_AD799X is not set
+# CONFIG_AXP20X_ADC is not set
+# CONFIG_AXP288_ADC is not set
+# CONFIG_CC10001_ADC is not set
+# CONFIG_ENVELOPE_DETECTOR is not set
+# CONFIG_HI8435 is not set
+# CONFIG_HX711 is not set
+# CONFIG_INA2XX_ADC is not set
+# CONFIG_LTC2471 is not set
+# CONFIG_LTC2485 is not set
+# CONFIG_LTC2497 is not set
+# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
+# CONFIG_MAX1118 is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MAX9611 is not set
+# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_MCP3911 is not set
+# CONFIG_NAU7802 is not set
+# CONFIG_PALMAS_GPADC is not set
+CONFIG_ROCKCHIP_SARADC=y
+CONFIG_SD_ADC_MODULATOR=y
+# CONFIG_TI_ADC081C is not set
+# CONFIG_TI_ADC0832 is not set
+# CONFIG_TI_ADC084S021 is not set
+# CONFIG_TI_ADC12138 is not set
+# CONFIG_TI_ADC108S102 is not set
+# CONFIG_TI_ADC128S052 is not set
+# CONFIG_TI_ADC161S626 is not set
+# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7950 is not set
+# CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_TLC4541 is not set
+# CONFIG_TWL4030_MADC is not set
+# CONFIG_TWL6030_GPADC is not set
+# CONFIG_VF610_ADC is not set
+
+#
+# Analog Front Ends
+#
+# CONFIG_IIO_RESCALE is not set
+
+#
+# Amplifiers
+#
+# CONFIG_AD8366 is not set
+
+#
+# Chemical Sensors
+#
+# CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_BME680 is not set
+# CONFIG_CCS811 is not set
+# CONFIG_IAQCORE is not set
+# CONFIG_VZ89X is not set
+# CONFIG_IIO_CROS_EC_SENSORS_CORE is not set
+
+#
+# Hid Sensor IIO Common
+#
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
+
+#
+# Counters
+#
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD5064 is not set
+# CONFIG_AD5360 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5421 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5449 is not set
+# CONFIG_AD5592R is not set
+# CONFIG_AD5593R is not set
+# CONFIG_AD5504 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_LTC1660 is not set
+# CONFIG_LTC2632 is not set
+# CONFIG_AD5686_SPI is not set
+# CONFIG_AD5696_I2C is not set
+# CONFIG_AD5755 is not set
+# CONFIG_AD5758 is not set
+# CONFIG_AD5761 is not set
+# CONFIG_AD5764 is not set
+# CONFIG_AD5791 is not set
+# CONFIG_AD7303 is not set
+# CONFIG_AD8801 is not set
+# CONFIG_DPOT_DAC is not set
+# CONFIG_DS4424 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MAX5821 is not set
+# CONFIG_MCP4725 is not set
+# CONFIG_MCP4922 is not set
+# CONFIG_TI_DAC082S085 is not set
+# CONFIG_TI_DAC5571 is not set
+# CONFIG_TI_DAC7311 is not set
+# CONFIG_VF610_DAC is not set
+
+#
+# IIO dummy driver
+#
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+# CONFIG_AD9523 is not set
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+# CONFIG_ADF4350 is not set
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16136 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADXRS450 is not set
+# CONFIG_BMG160 is not set
+# CONFIG_MPU3050_I2C is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+
+#
+# Health Sensors
+#
+
+#
+# Heart Rate Monitors
+#
+# CONFIG_AFE4403 is not set
+# CONFIG_AFE4404 is not set
+# CONFIG_MAX30100 is not set
+# CONFIG_MAX30102 is not set
+
+#
+# Humidity sensors
+#
+# CONFIG_AM2315 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HTS221 is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADIS16480 is not set
+# CONFIG_BMI160_I2C is not set
+# CONFIG_BMI160_SPI is not set
+# CONFIG_KMX61 is not set
+# CONFIG_INV_MPU6050_I2C is not set
+# CONFIG_INV_MPU6050_SPI is not set
+# CONFIG_IIO_ST_LSM6DSX is not set
+
+#
+# Light sensors
+#
+# CONFIG_ADJD_S311 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_BH1780 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM3605 is not set
+# CONFIG_CM36651 is not set
+# CONFIG_GP2AP020A00F is not set
+# CONFIG_SENSORS_ISL29018 is not set
+# CONFIG_SENSORS_ISL29028 is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_LV0104CS is not set
+# CONFIG_MAX44000 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_SI1133 is not set
+# CONFIG_SI1145 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_ST_UVIS25 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
+# CONFIG_SENSORS_TSL2563 is not set
+# CONFIG_TSL2583 is not set
+# CONFIG_TSL2772 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+# CONFIG_VCNL4035 is not set
+# CONFIG_VEML6070 is not set
+# CONFIG_VL6180 is not set
+# CONFIG_ZOPT2201 is not set
+
+#
+# Magnetometer sensors
+#
+# CONFIG_AK8974 is not set
+# CONFIG_AK8975 is not set
+# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN_I2C is not set
+# CONFIG_BMC150_MAGN_SPI is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+# CONFIG_SENSORS_HMC5843_I2C is not set
+# CONFIG_SENSORS_HMC5843_SPI is not set
+# CONFIG_SENSORS_RM3100_I2C is not set
+# CONFIG_SENSORS_RM3100_SPI is not set
+
+#
+# Multiplexers
+#
+# CONFIG_IIO_MUX is not set
+
+#
+# Inclinometer sensors
+#
+
+#
+# Triggers - standalone
+#
+# CONFIG_IIO_INTERRUPT_TRIGGER is not set
+CONFIG_IIO_SYSFS_TRIGGER=y
+
+#
+# Digital potentiometers
+#
+# CONFIG_AD5272 is not set
+# CONFIG_DS1803 is not set
+# CONFIG_MAX5481 is not set
+# CONFIG_MAX5487 is not set
+# CONFIG_MCP4018 is not set
+# CONFIG_MCP4131 is not set
+# CONFIG_MCP4531 is not set
+# CONFIG_MCP41010 is not set
+# CONFIG_TPL0102 is not set
+
+#
+# Digital potentiostats
+#
+# CONFIG_LMP91000 is not set
+
+#
+# Pressure sensors
+#
+# CONFIG_ABP060MG is not set
+# CONFIG_BMP280 is not set
+# CONFIG_HP03 is not set
+# CONFIG_MPL115_I2C is not set
+# CONFIG_MPL115_SPI is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+# CONFIG_HP206C is not set
+# CONFIG_ZPA2326 is not set
+
+#
+# Lightning sensors
+#
+# CONFIG_AS3935 is not set
+
+#
+# Proximity and distance sensors
+#
+# CONFIG_ISL29501 is not set
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_RFD77402 is not set
+# CONFIG_SRF04 is not set
+# CONFIG_SX9500 is not set
+# CONFIG_SRF08 is not set
+# CONFIG_VL53L0X_I2C is not set
+
+#
+# Resolver to digital converters
+#
+# CONFIG_AD2S90 is not set
+# CONFIG_AD2S1200 is not set
+
+#
+# Temperature sensors
+#
+# CONFIG_MAXIM_THERMOCOUPLE is not set
+# CONFIG_MLX90614 is not set
+# CONFIG_MLX90632 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_CROS_EC=y
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_PWM_ROCKCHIP=y
+# CONFIG_PWM_TWL is not set
+# CONFIG_PWM_TWL_LED is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_FMC is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_CADENCE_DP is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_FSL_IMX8MQ_USB is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+CONFIG_PHY_ROCKCHIP_DP=y
+CONFIG_PHY_ROCKCHIP_EMMC=y
+# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set
+# CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set
+# CONFIG_PHY_ROCKCHIP_PCIE is not set
+# CONFIG_PHY_ROCKCHIP_TYPEC is not set
+CONFIG_PHY_ROCKCHIP_USB=y
+# CONFIG_PHY_SAMSUNG_USB2 is not set
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# CONFIG_ARM_CCI_PMU is not set
+# CONFIG_ARM_CCN is not set
+CONFIG_ARM_PMU=y
+CONFIG_RAS=y
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_ROCKCHIP_EFUSE=y
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_TEE is not set
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_FS_IOMAP=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_ENCRYPTION is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_XFS_FS=m
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_POSIX_ACL is not set
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_ONLINE_SCRUB is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_MANDATORY_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_AUTOFS_FS=m
+CONFIG_FUSE_FS=m
+# CONFIG_CUSE is not set
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+
+#
+# Caches
+#
+CONFIG_FSCACHE=y
+# CONFIG_FSCACHE_STATS is not set
+# CONFIG_FSCACHE_HISTOGRAM is not set
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=y
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=850
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_FAT_DEFAULT_UTF8=y
+CONFIG_NTFS_FS=y
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_MEMFD_CREATE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=y
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XZ is not set
+# CONFIG_SQUASHFS_ZSTD is not set
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_BIG_KEYS is not set
+# CONFIG_TRUSTED_KEYS is not set
+# CONFIG_ENCRYPTED_KEYS is not set
+# CONFIG_KEY_DH_OPERATIONS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+CONFIG_SECURITYFS=y
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_FORTIFY_SOURCE is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_RSA=y
+# CONFIG_CRYPTO_DH is not set
+CONFIG_CRYPTO_ECDH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_USER is not set
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
+# CONFIG_CRYPTO_AEGIS128 is not set
+# CONFIG_CRYPTO_AEGIS128L is not set
+# CONFIG_CRYPTO_AEGIS256 is not set
+# CONFIG_CRYPTO_MORUS640 is not set
+# CONFIG_CRYPTO_MORUS1280 is not set
+CONFIG_CRYPTO_SEQIV=y
+# CONFIG_CRYPTO_ECHAINIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CFB is not set
+CONFIG_CRYPTO_CTR=y
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_ADIANTUM is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32 is not set
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_GHASH=y
+# CONFIG_CRYPTO_POLY1305 is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_SHA3 is not set
+# CONFIG_CRYPTO_SM3 is not set
+# CONFIG_CRYPTO_STREEBOG is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_CHACHA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_SM4 is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
+CONFIG_CRYPTO_LZ4=y
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_ROCKCHIP=y
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_CCREE is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_RAID6_PQ_BENCHMARK=y
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+CONFIG_CRC7=y
+CONFIG_LIBCRC32C=y
+# CONFIG_CRC8 is not set
+CONFIG_XXHASH=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMPRESS=m
+CONFIG_ZSTD_DECOMPRESS=m
+CONFIG_XZ_DEC=y
+# CONFIG_XZ_DEC_X86 is not set
+# CONFIG_XZ_DEC_POWERPC is not set
+# CONFIG_XZ_DEC_IA64 is not set
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+# CONFIG_XZ_DEC_SPARC is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_DMA_REMAP=y
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+# CONFIG_CORDIC is not set
+CONFIG_DDR=y
+CONFIG_IRQ_POLL=y
+CONFIG_MPILIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_SBITMAP=y
+# CONFIG_STRING_SELFTEST is not set
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=8
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+CONFIG_DYNAMIC_DEBUG=y
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_INFO_SPLIT is not set
+# CONFIG_DEBUG_INFO_DWARF4 is not set
+# CONFIG_GDB_SCRIPTS is not set
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_PAGE_OWNER is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
+# CONFIG_MAGIC_SYSRQ_SERIAL is not set
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_PAGE_REF is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_KASAN_STACK=1
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+# CONFIG_SOFTLOCKUP_DETECTOR is not set
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=300
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_SCHEDSTATS is not set
+CONFIG_SCHED_STACK_END_CHECK=y
+# CONFIG_DEBUG_TIMEKEEPING is not set
+# CONFIG_DEBUG_PREEMPT is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PI_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_RCU_PERF_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_PREEMPTIRQ_EVENTS is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_HWLAT_TRACER is not set
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_KPROBE_EVENTS is not set
+CONFIG_UPROBE_EVENTS=y
+CONFIG_BPF_EVENTS=y
+CONFIG_DYNAMIC_EVENTS=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+# CONFIG_FUNCTION_PROFILER is not set
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_TRACEPOINT_BENCHMARK is not set
+# CONFIG_RING_BUFFER_BENCHMARK is not set
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
+# CONFIG_TRACE_EVAL_MAP_FILE is not set
+CONFIG_TRACING_EVENTS_GPIO=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_UBSAN is not set
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM_PTDUMP_DEBUGFS is not set
+# CONFIG_DEBUG_WX is not set
+CONFIG_UNWINDER_FRAME_POINTER=y
+# CONFIG_UNWINDER_ARM is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
+# CONFIG_ARM_KPROBES_TEST is not set
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_CORESIGHT is not set
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 750311fd7b..a77114f723 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -32,6 +32,8 @@
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages image)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages netpbm)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages web))
@@ -776,6 +778,30 @@ datasets which are derived from the Allen Brain Atlas:
 All datasets are restricted to protein coding genes.")
     (license license:gpl2+)))
 
+(define-public r-arrmdata
+  (package
+    (name "r-arrmdata")
+    (version "1.18.0")
+    (source (origin
+              (method url-fetch)
+              ;; We cannot use bioconductor-uri here because this tarball is
+              ;; located under "data/experiment/" instead of "bioc/".
+              (uri (string-append "https://www.bioconductor.org/packages/"
+                                  "release/data/experiment/src/contrib/"
+                                  "ARRmData_" version ".tar.gz"))
+              (sha256
+               (base32
+                "0r1y3zn7ly4k3ngx55vfavn9s6aidbddlv2fbmj7hj3hvpslmyly"))))
+    (properties
+     `((upstream-name . "ARRmData")))
+    (build-system r-build-system)
+    (home-page "https://www.bioconductor.org/packages/ARRmData/")
+    (synopsis "Example dataset for normalization of Illumina 450k methylation data")
+    (description
+     "This package provides raw beta values from 36 samples across 3 groups
+from Illumina 450k methylation arrays.")
+    (license license:artistic2.0)))
+
 (define-public r-hsmmsinglecell
   (package
     (name "r-hsmmsinglecell")
@@ -1595,14 +1621,14 @@ genes or proteins in these datasets.")
 (define-public r-inspect
   (package
     (name "r-inspect")
-    (version "1.12.1")
+    (version "1.12.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "INSPEcT" version))
        (sha256
         (base32
-         "07q5msw9rnamx957mbiawnv3p9kr5ahwawzvv9xzla7d3lkk62xp"))))
+         "1ykkr15b4bc2carwppf9yxzpl2n6lqpc6z6i2qy37vc6xffzgdx4"))))
     (properties `((upstream-name . "INSPEcT")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2925,14 +2951,14 @@ profiles (GO and KEGG) of gene and gene clusters.")
 (define-public r-mlinterfaces
   (package
     (name "r-mlinterfaces")
-    (version "1.62.0")
+    (version "1.62.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MLInterfaces" version))
        (sha256
         (base32
-         "12bgplyzfh0hkwmdp5w4cs5zw3ygdhzmiqzm8vhjyni6m9nrxwy8"))))
+         "1h0x1p2h8x1h276wxx6kcnb4c4s5sglnmd58iigl81a224x8gxwp"))))
     (properties `((upstream-name . "MLInterfaces")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4040,3 +4066,208 @@ chromatographically separated and single-spectra mass spectral data.  It
 imports from AIA/ANDI NetCDF, mzXML, mzData and mzML files.  It preprocesses
 data for high-throughput, untargeted analyte profiling.")
     (license license:gpl2+)))
+
+(define-public r-wrench
+  (package
+    (name "r-wrench")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "Wrench" version))
+       (sha256
+        (base32
+         "12gfdj2p52pah67bimz14xcwmcb4c2snjwswj0fns7v3v1h9rlqg"))))
+    (properties `((upstream-name . "Wrench")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-limma" ,r-limma)
+       ("r-locfit" ,r-locfit)
+       ("r-matrixstats" ,r-matrixstats)))
+    (home-page "https://github.com/HCBravoLab/Wrench")
+    (synopsis "Wrench normalization for sparse count data")
+    (description
+     "Wrench is a package for normalization sparse genomic count data, like
+that arising from 16s metagenomic surveys.")
+    (license license:artistic2.0)))
+
+(define-public r-wiggleplotr
+  (package
+    (name "r-wiggleplotr")
+    (version "1.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "wiggleplotr" version))
+       (sha256
+        (base32
+         "12fhbskkjwv4d9bdy3gab8n9pcf7qpwiwgx0248as445vfw8dil3"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-assertthat" ,r-assertthat)
+       ("r-cowplot" ,r-cowplot)
+       ("r-dplyr" ,r-dplyr)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-iranges" ,r-iranges)
+       ("r-purrr" ,r-purrr)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-s4vectors" ,r-s4vectors)))
+    (home-page "https://bioconductor.org/packages/wiggleplotr/")
+    (synopsis "Make read coverage plots from BigWig files")
+    (description
+     "This package provides tools to visualize read coverage from sequencing
+experiments together with genomic annotations (genes, transcripts, peaks).
+Introns of long transcripts can be rescaled to a fixed length for better
+visualization of exonic read coverage.")
+    (license license:asl2.0)))
+
+(define-public r-widgettools
+  (package
+    (name "r-widgettools")
+    (version "1.60.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "widgetTools" version))
+       (sha256
+        (base32
+         "0mz69pdr6q69avsvs6r5ncdkdmgwfislpil4v18dsflw4j454gwf"))))
+    (properties `((upstream-name . "widgetTools")))
+    (build-system r-build-system)
+    (home-page "https://bioconductor.org/packages/widgetTools/")
+    (synopsis "Tools for creating interactive tcltk widgets")
+    (description
+     "This packages contains tools to support the construction of tcltk
+widgets in R.")
+    ;; Any version of the LGPL.
+    (license license:lgpl3+)))
+
+(define-public r-webbioc
+  (package
+    (name "r-webbioc")
+    (version "1.54.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "webbioc" version))
+       (sha256
+        (base32
+         "16n6wc9q51wfpmh9y77p53sqdqdd8pn50c67vf6h4n7gv5wgnpwi"))))
+    (build-system r-build-system)
+    (inputs
+     `(("netpbm" ,netpbm)
+       ("perl" ,perl)))
+    (propagated-inputs
+     `(("r-affy" ,r-affy)
+       ("r-annaffy" ,r-annaffy)
+       ("r-biobase" ,r-biobase)
+       ("r-biocmanager" ,r-biocmanager)
+       ("r-gcrma" ,r-gcrma)
+       ("r-multtest" ,r-multtest)
+       ("r-qvalue" ,r-qvalue)
+       ("r-vsn" ,r-vsn)))
+    (home-page "https://www.bioconductor.org/")
+    (synopsis "Bioconductor web interface")
+    (description
+     "This package provides an integrated web interface for doing microarray
+analysis using several of the Bioconductor packages.  It is intended to be
+deployed as a centralized bioinformatics resource for use by many users.
+Currently only Affymetrix oligonucleotide analysis is supported.")
+    (license license:gpl2+)))
+
+(define-public r-zfpkm
+  (package
+    (name "r-zfpkm")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "zFPKM" version))
+       (sha256
+        (base32
+         "0rvfrjxxvfng9fxxn316gm96v4rahx62vlk3axr2bzjbi1r4s8v5"))))
+    (properties `((upstream-name . "zFPKM")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-checkmate" ,r-checkmate)
+       ("r-dplyr" ,r-dplyr)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)
+       ("r-tidyr" ,r-tidyr)))
+    (home-page "https://github.com/ronammar/zFPKM/")
+    (synopsis "Functions to facilitate zFPKM transformations")
+    (description
+     "This is a package to perform the zFPKM transform on RNA-seq FPKM data.
+This algorithm is based on the publication by Hart et al., 2013 (Pubmed ID
+24215113).")
+    (license license:gpl3)))
+
+(define-public r-rbowtie2
+  (package
+    (name "r-rbowtie2")
+    (version "1.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "Rbowtie2" version))
+       (sha256
+        (base32
+         "045cmfwqzcj4zn6r16hkpmr5sd5y0mxvrs5yynf460fdz2p418cr"))))
+    (properties `((upstream-name . "Rbowtie2")))
+    (build-system r-build-system)
+    (inputs
+     `(("zlib" ,zlib)))
+    (home-page "https://bioconductor.org/packages/Rbowtie2/")
+    (synopsis "R wrapper for Bowtie2 and AdapterRemoval")
+    (description
+     "This package provides an R wrapper of the popular @code{bowtie2}
+sequencing reads aligner and @code{AdapterRemoval}, a convenient tool for
+rapid adapter trimming, identification, and read merging.")
+    (license license:gpl3+)))
+
+(define-public r-progeny
+  (package
+    (name "r-progeny")
+    (version "1.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "progeny" version))
+       (sha256
+        (base32
+         "02z09rbzi305jrwzai8zayxi82563lxcaldp4r9pw564qkbl7pk7"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-biobase" ,r-biobase)))
+    (home-page "https://github.com/saezlab/progeny")
+    (synopsis "Pathway responsive gene activity inference")
+    (description
+     "This package provides a function to infer pathway activity from gene
+expression.  It contains the linear model inferred in the publication
+\"Perturbation-response genes reveal signaling footprints in cancer gene
+expression\".")
+    (license license:asl2.0)))
+
+(define-public r-arrmnormalization
+  (package
+    (name "r-arrmnormalization")
+    (version "1.22.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "ARRmNormalization" version))
+       (sha256
+        (base32
+         "09wfd4vqfvmkpqn9dwqly1dz4h1ckh621jbwj1dab6q4z0dfmzmd"))))
+    (properties
+     `((upstream-name . "ARRmNormalization")))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-arrmdata" ,r-arrmdata)))
+    (home-page "https://bioconductor.org/packages/ARRmNormalization/")
+    (synopsis "Adaptive robust regression normalization for methylation data")
+    (description
+     "This is a package to perform the @dfn{Adaptive Robust Regression
+method} (ARRm) for the normalization of methylation data from the Illumina
+Infinium HumanMethylation 450k assay.")
+    (license license:artistic2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8f6a37a4f8..4cd032abd4 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -8344,6 +8344,7 @@ paired-end data.")
               (sha256
                (base32
                 "0ss5hcg2m7gjji6dd23zxa5bd5a7knwcnada4qs5q2l4clgk39ad"))))
+    (properties `((upstream-name . "RCAS")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -9831,14 +9832,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
 (define-public r-ensembldb
   (package
     (name "r-ensembldb")
-    (version "2.6.7")
+    (version "2.6.8")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ensembldb" version))
        (sha256
         (base32
-         "1wqq0m1fgvgkzq5zr2s9cj2s7qkg9lx3dwwsqixzs5fn52p4dn7f"))))
+         "0gijx2l2y00h6gfj3gfr7rd4vva6qf2vkfdfy5gdmvqlxy84ka38"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10157,14 +10158,14 @@ by Ernst and Kellis.")
 (define-public r-ldblock
   (package
     (name "r-ldblock")
-    (version "1.12.0")
+    (version "1.12.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ldblock" version))
        (sha256
         (base32
-         "0xbf4pmhrk5fnd1iz5wzjvdr75v114bwpznhcig4wiqmxc27sips"))))
+         "01lf74pby7si2g3kgc10qzr6lkcbigqcgqs2j3anc38vzxv0zhwv"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -12038,6 +12039,23 @@ graphs.  This library makes it easy to work with @file{.loom} files for
 single-cell RNA-seq data.")
     (license license:bsd-3)))
 
+;; pigx-scrnaseq does not work with the latest version of loompy.
+(define-public python-loompy-for-pigx-scrnaseq
+  (package (inherit python-loompy)
+    (name "python-loompy")
+    (version "2.0.3")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/linnarsson-lab/loompy.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0pjyl532pl8sbv71yci6h0agchn0naw2qjcwj50n6afrsahbsag3"))))
+    ;; There are none.
+    (arguments '(#:tests? #f))))
+
 ;; We cannot use the latest commit because it requires Java 9.
 (define-public java-forester
   (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6")
@@ -12651,7 +12669,7 @@ expression report comparing samples in an easily configurable manner.")
 (define-public pigx-chipseq
   (package
     (name "pigx-chipseq")
-    (version "0.0.31")
+    (version "0.0.40")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@@ -12659,7 +12677,7 @@ expression report comparing samples in an easily configurable manner.")
                                   "/pigx_chipseq-" version ".tar.gz"))
               (sha256
                (base32
-                "0l3vd9xwqzap3mmyj8xwqp84kj7scbq308diqnwg2albphl75xqs"))))
+                "0y9x62cfwzhsp82imnawyamxp58bcb00yjxdy44spylqnjdlsaj8"))))
     (build-system gnu-build-system)
     ;; parts of the tests rely on access to the network
     (arguments '(#:tests? #f))
@@ -12808,7 +12826,7 @@ methylation and segmentation.")
        ("python-pandas" ,python-pandas)
        ("python-magic" ,python-magic)
        ("python-numpy" ,python-numpy)
-       ("python-loompy" ,python-loompy)
+       ("python-loompy" ,python-loompy-for-pigx-scrnaseq)
        ("ghc-pandoc" ,ghc-pandoc)
        ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
        ("samtools" ,samtools)
@@ -13301,9 +13319,6 @@ in RNA-seq data.")
              (delete-file-recursively "scanpy/tests/notebooks")
              (delete-file "scanpy/tests/test_clustering.py")
 
-             ;; TODO: No module named 'louvain'
-             (delete-file "scanpy/tests/test_rank_genes_groups_logreg.py")
-
              ;; TODO: I can't get the plotting tests to work, even with Xvfb.
              (delete-file "scanpy/tests/test_plotting.py")
              (delete-file "scanpy/tests/test_preprocessing.py")
@@ -13316,18 +13331,19 @@ in RNA-seq data.")
              #t)))))
     (propagated-inputs
      `(("python-anndata" ,python-anndata)
+       ("python-h5py" ,python-h5py)
        ("python-igraph" ,python-igraph)
-       ("python-numba" ,python-numba)
        ("python-joblib" ,python-joblib)
+       ("python-louvain" ,python-louvain)
+       ("python-matplotlib" ,python-matplotlib)
        ("python-natsort" ,python-natsort)
        ("python-networkx" ,python-networkx)
-       ("python-statsmodels" ,python-statsmodels)
-       ("python-scikit-learn" ,python-scikit-learn)
-       ("python-matplotlib" ,python-matplotlib)
+       ("python-numba" ,python-numba)
        ("python-pandas" ,python-pandas)
+       ("python-scikit-learn" ,python-scikit-learn)
        ("python-scipy" ,python-scipy)
        ("python-seaborn" ,python-seaborn)
-       ("python-h5py" ,python-h5py)
+       ("python-statsmodels" ,python-statsmodels)
        ("python-tables" ,python-tables)))
     (native-inputs
      `(("python-pytest" ,python-pytest)))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 2678e49ca7..329fb3bff5 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -40,7 +40,6 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -51,6 +50,7 @@
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages ninja)
   #:use-module (gnu packages node)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
@@ -223,7 +223,7 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %chromium-version "73.0.3683.86")
+(define %chromium-version "73.0.3683.103")
 (define %ungoogled-revision "4c7fb6d1a86602999f30b58ef8b331b2115c5ad8")
 (define %debian-revision "debian/73.0.3683.75-1")
 (define package-revision "0")
@@ -246,7 +246,7 @@ from forcing GEXP-PROMISE."
                                %chromium-version ".tar.xz"))
            (sha256
             (base32
-             "18xzddqi8rgng5vksx23jaiv103prxc38pshwp702nfjfqap7fwy"))))
+             "1bskjr7yiwvdab1b5mp36y6964xqpgks6dqazm4qifwqvqcw80pb"))))
         (ungoogled-source
          (origin
            (method git-fetch)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index f741b20f15..94d2c1aca0 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -400,13 +400,13 @@ into a pipeline of data manipulation and visualisation.")
 (define-public r-httpuv
   (package
     (name "r-httpuv")
-    (version "1.5.0")
+    (version "1.5.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "httpuv" version))
               (sha256
                (base32
-                "19m9514yj5sg0rz1zvi8w1z98srnrql4iirgr794fkaap6bs7i2f"))))
+                "042piypg4c8sqrlcdl3dwajkafkbglsky3x7d0jpjv8s5wxnpfxm"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bh" ,r-bh)
@@ -1485,14 +1485,14 @@ validation and filtering on the values, making options invisible or private.")
 (define-public r-circlize
   (package
     (name "r-circlize")
-    (version "0.4.5")
+    (version "0.4.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "circlize" version))
        (sha256
         (base32
-         "0qhn9jzw7gd0jp9rmqrlbmy5ql6hjsa68pkp0acfz1h215dl8ah9"))))
+         "1yjnb88pnzk5c1p0vjxykc7cr3394ln5axviqcf12ajibvy8rj6f"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-colorspace" ,r-colorspace)
@@ -1905,14 +1905,14 @@ quantile mixture from L-moments and trimmed L-moments.")
 (define-public r-distillery
   (package
     (name "r-distillery")
-    (version "1.0-4")
+    (version "1.0-6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "distillery" version))
        (sha256
         (base32
-         "1m0pgmlvk7bsb6q3kxagnq422babk61sf73naavac68v8x2q8fix"))))
+         "1mi3ig9jq0kd7yrwc5m37lmrw04p1b4lirnbsxi10z3n5yay4429"))))
     (build-system r-build-system)
     (home-page "http://www.ral.ucar.edu/staff/ericg")
     (synopsis "Functions for confidence intervals and object information")
@@ -1926,19 +1926,18 @@ SpatialVx.")
 (define-public r-extremes
   (package
     (name "r-extremes")
-    (version "2.0-9")
+    (version "2.0-10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "extRemes" version))
        (sha256
         (base32
-         "0cpvcajk9xyy7662nqkyx333vrxpwsc5nmv0bfnhsbgijz5y0hvm"))))
+         "08fj72gpq2d6695hbm3cgwgal64z009ykrirby7g6r0akfcsx5ic"))))
     (properties `((upstream-name . "extRemes")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-car" ,r-car)
-       ("r-distillery" ,r-distillery)
+     `(("r-distillery" ,r-distillery)
        ("r-lmoments" ,r-lmoments)))
     (home-page "http://www.assessment.ucar.edu/toolkit/")
     (synopsis "Extreme value analysis")
@@ -3618,14 +3617,14 @@ iVAT).")
 (define-public r-xfun
   (package
     (name "r-xfun")
-    (version "0.5")
+    (version "0.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xfun" version))
        (sha256
         (base32
-         "1wkrapc490r9l9z6mz623zn9ijq64mckc17xg2s7n3s9yaxj98lb"))))
+         "123wmnykmlq9prqx1g9ij9vyqx25pib2jnqjrwy39rfmzbsypbx3"))))
     (build-system r-build-system)
     (home-page "https://github.com/yihui/xfun")
     (synopsis "Miscellaneous functions")
@@ -3751,14 +3750,14 @@ published results; and a routine for graphical display.")
 (define-public r-network
   (package
     (name "r-network")
-    (version "1.14-377")
+    (version "1.15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "network" version))
        (sha256
         (base32
-         "0iiy5n17kysrdfs20zr7qald4lwkvws0axi1qkr8f7vzv7w04g01"))))
+         "1cscw5978fyixhkicf06c4b2g1yf6gyi8vx86cz3dy75d41mrgjw"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-magrittr" ,r-magrittr)
@@ -5821,14 +5820,14 @@ other add-on packages.")
 (define-public r-insight
   (package
     (name "r-insight")
-    (version "0.1.2")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "insight" version))
        (sha256
         (base32
-         "0cy00j4m9r690hrjdmv8wzwn8mbnkjd3g527nvsmid64h9jgks5f"))))
+         "0fn9cd5qxqlpjv3d05mk66k5z5ll60x5la51mby5h7k4l6bqmsiz"))))
     (build-system r-build-system)
     (home-page "https://easystats.github.io/insight/")
     (synopsis "Easy access to model information for various model objects")
@@ -5953,21 +5952,21 @@ functions.")
 (define-public r-flextable
   (package
     (name "r-flextable")
-    (version "0.5.1")
+    (version "0.5.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "flextable" version))
        (sha256
         (base32
-         "0arxgal67ahsq8v0zbvc767qadn7lg3f7mmqa9gjjz6sri0y6gsx"))))
+         "0sabdvkdlx5i1nr7nz68cappwsibzsjxpmiz3yp948ckbfmkdb27"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-data-table" ,r-data-table)
+     `(("r-base64enc" ,r-base64enc)
+       ("r-data-table" ,r-data-table)
        ("r-gdtools" ,r-gdtools)
        ("r-htmltools" ,r-htmltools)
        ("r-knitr" ,r-knitr)
-       ("r-magick" ,r-magick)
        ("r-officer" ,r-officer)
        ("r-rlang" ,r-rlang)
        ("r-rmarkdown" ,r-rmarkdown)
@@ -7512,14 +7511,14 @@ observation.")
 (define-public r-sandwich
   (package
     (name "r-sandwich")
-    (version "2.5-0")
+    (version "2.5-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sandwich" version))
        (sha256
         (base32
-         "168kq5kk34xbhfsxsanard9zriyp6cw0s09ralzb57kk42pl9hbc"))))
+         "1mk685b9wq7k566pbml52rj96i5h6b3vf215k9picgmq296nzvyv"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-zoo" ,r-zoo)))
@@ -9212,14 +9211,14 @@ definiteness of a matrix.")
 (define-public r-rspectra
   (package
     (name "r-rspectra")
-    (version "0.13-1")
+    (version "0.14-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RSpectra" version))
        (sha256
         (base32
-         "1sw80chwyyjzf5px278l6xmp94yhwrlj5xh8d3wlw3dnvdkycca7"))))
+         "12w5vnz39gyciza0fl7fw4f9i9kjw763h3mvk1sxd97c5dsn26jg"))))
     (properties `((upstream-name . "RSpectra")))
     (build-system r-build-system)
     (propagated-inputs
@@ -11883,14 +11882,14 @@ whole genome approach to detecting significant QTL in linkage maps.")
 (define-public r-bedr
   (package
     (name "r-bedr")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bedr" version))
        (sha256
         (base32
-         "0q790695h8bls0qw284n1zn7lxzym1dnnj095fsbjga2p116z4yv"))))
+         "0zpqvyjgwyqawxm8qrhcv8zq2b3yxgcqkkc87br29yrl7sjb8h6j"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-data-table" ,r-data-table)
@@ -12238,14 +12237,14 @@ datum transformations.")
 (define-public r-spdep
   (package
     (name "r-spdep")
-    (version "1.0-2")
+    (version "1.1-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "spdep" version))
        (sha256
         (base32
-         "1ciqn5xslm4ryad10nm6fqy1qhq3qhd4hx9bj94kphfm8x1zm7kg"))))
+         "06mk81kc1ml2wjc8wwwgr0wasjcr4mwrxpfa8vfc373bmnha635s"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-boot" ,r-boot)
@@ -12700,14 +12699,14 @@ authoring books and technical documents with R Markdown.")
 (define-public r-optparse
   (package
     (name "r-optparse")
-    (version "1.6.1")
+    (version "1.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "optparse" version))
        (sha256
         (base32
-         "04vyb6dhcga30mvghsg1p052jmf69xqxkvh3hzqz7dscyppy76w1"))))
+         "0zrp6jakjhawrwfri270ym83vj5a7nvjk0w6b41z41ahw2da99dm"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-getopt" ,r-getopt)))
@@ -12878,14 +12877,14 @@ the corresponding outputs (tables and graphs).")
 (define-public r-rjava
   (package
     (name "r-rjava")
-    (version "0.9-10")
+    (version "0.9-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rJava" version))
        (sha256
         (base32
-         "0y7yg70i3zwbwl4g36js4dqpl51cmwss5ymrsk24d1z07bflp4y9"))))
+         "0s9cjy1wh7snmbqwznh8f1r4ipylr7mgda4a979z963a8lqy32n2"))))
     (properties `((upstream-name . "rJava")))
     (build-system r-build-system)
     (arguments
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 9f2c27d623..e04e3d9454 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -48,24 +48,6 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
-;; XXX A hidden special obsolete libssh2 for temporary use in the curl package.
-;; <https://bugs.gnu.org/34927>
-(define-public libssh2-1.8.0
-  (hidden-package
-    (package
-      (inherit libssh2)
-      (version "1.8.0")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append
-                      "https://www.libssh2.org/download/libssh2-"
-                      version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr"))
-                (patches
-                 (search-patches "libssh2-fix-build-failure-with-gcrypt.patch")))))))
-
 (define-public curl
   (package
    (name "curl")
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 006a381e26..e52c4614c1 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -46,11 +46,11 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 1e8d703ce3..c9cbbaa154 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -750,7 +750,7 @@ in certain cases.  It also enables recursion for anonymous functions.")
 (define-public emacs-xr
   (package
     (name "emacs-xr")
-    (version "1.9")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
@@ -758,7 +758,7 @@ in certain cases.  It also enables recursion for anonymous functions.")
              "https://elpa.gnu.org/packages/xr-" version ".tar"))
        (sha256
         (base32
-         "1mcild3034f4c1x8x05w9q0ps70i1nihvih22cmh3wj4cgllg5w0"))))
+         "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc"))))
     (build-system emacs-build-system)
     (home-page "http://elpa.gnu.org/packages/xr.html")
     (synopsis "Convert string regexp to rx notation")
@@ -780,7 +780,7 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
 (define-public emacs-relint
   (package
     (name "emacs-relint")
-    (version "1.5")
+    (version "1.6")
     (source
      (origin
        (method url-fetch)
@@ -788,7 +788,7 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
              "https://elpa.gnu.org/packages/relint-" version ".el"))
        (sha256
         (base32
-         "0y7lki2vndpkmzg4k0yh2722hp01qr77vm337xnm8wp3bmwn8s1f"))))
+         "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk"))))
     (build-system emacs-build-system)
     (propagated-inputs `(("emacs-xr" ,emacs-xr)))
     (home-page "https://github.com/mattiase/relint")
@@ -4535,6 +4535,31 @@ Emacs default configuration in uncontroversial ways that nearly everyone can
 agree upon.")
     (license license:gpl3+)))
 
+(define-public emacs-undohist-el
+  (let ((commit "d2239a5f736724ceb9e3b6bcaa86f4064805cda0")
+        (revision "1"))
+    (package
+      (name "emacs-undohist-el")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/m2ym/undohist-el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1c0daw246ky7b1x5b8h55x79pl1pjqk1k348l487bdd8zdj4w9wx"))
+         (patches
+          (search-patches "emacs-undohist-ignored.patch"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/m2ym/undohist-el")
+      (synopsis "Save undo history between sessions")
+      (description "This package allows persistent use of undo history for
+individual file buffers.")
+      (license license:gpl3+))))
+
 (define-public emacs-eprime
   (let ((commit "17a481af26496be91c07139a9bfc05cfe722506f"))
     (package
@@ -4611,7 +4636,7 @@ to all the other commands, too.")
 (define-public emacs-js2-mode
   (package
     (name "emacs-js2-mode")
-    (version "20180301")
+    (version "20190219")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mooz/js2-mode/archive/"
@@ -4619,7 +4644,7 @@ to all the other commands, too.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
+                "1gv1vinp2avnnn6an8ffcx79vmsdjhhikz7s6cmphligb26qp2vi"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/mooz/js2-mode/")
     (synopsis "Improved JavaScript editing mode for Emacs")
@@ -5243,28 +5268,26 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
     (license license:gpl3+)))
 
 (define-public emacs-wgrep
-  (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c"))
-    ;; Late commit fixes compatibility issue with Emacs 26+.
-    (package
-      (name "emacs-wgrep")
-      (version (git-version "2.1.10" "1" commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/mhayashi1120/Emacs-wgrep")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9"))))
-      (build-system emacs-build-system)
-      (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
-      (synopsis "Edit a grep buffer and apply those changes to the files")
-      (description
-       "Emacs wgrep allows you to edit a grep buffer and apply those changes
+  (package
+    (name "emacs-wgrep")
+    (version "2.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/mhayashi1120/Emacs-wgrep")
+    (synopsis "Edit a grep buffer and apply those changes to the files")
+    (description
+     "Emacs wgrep allows you to edit a grep buffer and apply those changes
 to the file buffer.  Several backends are supported beside the classic grep:
 ack, ag, helm and pt.")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-helm
   (package
@@ -5374,7 +5397,7 @@ target will call @code{compile} on it.")
 (define-public emacs-cider
   (package
     (name "emacs-cider")
-    (version "0.20.0")
+    (version "0.21.0")
     (source
      (origin
        (method git-fetch)
@@ -5384,7 +5407,7 @@ target will call @code{compile} on it.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0lfhzg9c931jbx27hpshk3l76gwbp6ggf668sqa77xrvymwdlsnw"))))
+         "0lbrwj67fnvynkdkzvnzp3p8vqlz0ldrcs317vg60bqfhx7hvqkj"))))
     (build-system emacs-build-system)
     (arguments
      '(#:exclude                        ; Don't exclude 'cider-test.el'.
@@ -5667,14 +5690,14 @@ passive voice.")
     (name "emacs-org")
     ;; emacs-org-contrib inherits from this package.  Please update its sha256
     ;; checksum as well.
-    (version "9.2.2")
+    (version "9.2.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://elpa.gnu.org/packages/org-"
                                   version ".tar"))
               (sha256
                (base32
-                "02fq3x4haady2vagg9b363ynsrxzpijfp420qhciy7x8y7m89abw"))))
+                "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw"))))
     (build-system emacs-build-system)
     (home-page "https://orgmode.org/")
     (synopsis "Outline-based notes management and organizer")
@@ -5688,14 +5711,14 @@ programming and reproducible research.")
   (package
     (inherit emacs-org)
     (name "emacs-org-contrib")
-    (version "20190311")
+    (version "20190402")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
                                   version ".tar"))
               (sha256
                (base32
-                "189p0f70j7z3hh72ay8cxa9n8xkcj06dlw765fwnqd2mm72vx0nb"))))
+                "0hbrhhq6sa0gz4ylzr54raxandqs4y953894b0hlr553b8sfl1wk"))))
     (arguments
      `(#:modules ((guix build emacs-build-system)
                   (guix build utils)
@@ -6980,7 +7003,7 @@ It should enable you to implement low-level X11 applications.")
                      Name=~a~@
                      Comment=~a~@
                      Exec=~a~@
-                     TryExec=~@*~a~@
+                     TryExec=~:*~a~@
                      Type=Application~%" ,name ,synopsis exwm-executable)))
                ;; Add a shell wrapper to bin
                (with-output-to-file exwm-executable
@@ -8306,7 +8329,7 @@ Feautures:
 (define-public emacs-evil-matchit
   (package
     (name "emacs-evil-matchit")
-    (version "2.2.6")
+    (version "2.2.9")
     (source
      (origin
        (method url-fetch)
@@ -8316,7 +8339,7 @@ Feautures:
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1yp9sl6542317mn1060ri90zyf6bs6qylagndhqy02p368q31rhi"))))
+         "1i5a7szl0m3xnqyjq6zhg5j68x9fgf9ffxghj918c4brj4436sjb"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-evil" ,emacs-evil)))
@@ -13131,7 +13154,7 @@ Emacs.")
   (let ((commit "a0623667b07a4bf60980c97b078e9faed97ace79"))
     (package
       (name "emacs-matrix-client")
-      (version (git-version "0.0.0" "3" commit))
+      (version (git-version "0.0.0" "4" commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -13142,6 +13165,18 @@ Emacs.")
                  (base32
                   "1zya8id3y9wzjaj7nplq7br6nhm3lsskv0fkn1xr1y77fzcfgcdb"))))
       (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'add-missing-require
+             ;; Fix a filter error at runtime due to a missing require.
+             ;; Reported upstream:
+             ;; <https://github.com/alphapapa/matrix-client.el/issues/76>
+             (lambda _
+               (substitute* "matrix-client-room.el"
+                 (("\\(require 'dash-functional\\)" all)
+                  (string-append all "\n" "(require 'anaphora)")))
+               #t)))))
       (propagated-inputs
        `(("a" ,emacs-a)
          ("anaphora" ,emacs-anaphora)
@@ -14177,3 +14212,29 @@ and article extracts for Wikipedia.")
 files.  The various elements of the HTML input are parsed with customizable
 functions (e.g. @code{webfeeder-title-function}).")
   (license license:gpl3+)))
+
+(define-public emacs-evil-numbers
+  (let ((commit "6ea1c8c3a9b37bed63d48f1128e9a4910e68187e"))
+    (package
+      (name "emacs-evil-numbers")
+      (version (git-version "0.4" "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/dieggsy/evil-numbers")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1aq95hj8x13py0pwsnc6wvd8cc5yv5qin8ym9js42y5966vwj4np"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/dieggsy/evil-numbers")
+      (synopsis "Increment and decrement numbers in Emacs")
+      (description "This package increments and decrements binary, octal,
+decimal and hex literals.  It works like C-a/C-x in Vim, i.e. searches for
+number up to EOL and then increments or decrements and keeps zero padding up
+(unlike in Vim).  When a region is active, as in Evil's visual mode, all the
+numbers within that region will be incremented/decremented (unlike in Vim).
+
+It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
+      (license license:gpl3+))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 04a510cdcf..902e766438 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1191,7 +1191,7 @@ play them on systems for which they were never designed!")
 (define-public mame
   (package
     (name "mame")
-    (version "0.206")
+    (version "0.208")
     (source
      (origin
        (method git-fetch)
@@ -1201,7 +1201,7 @@ play them on systems for which they were never designed!")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0i01h5ars1yd96ndmzhk47931hf261m8frqz1ha7s2gy52f0q86y"))
+         "14j7n4haggqsph0nw69d79z3y9lrdc7rzs2sl1kzggfnd37nh81s"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove bundled libraries.
@@ -1339,7 +1339,8 @@ play them on systems for which they were never designed!")
                #t))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("python-sphinx" ,python-sphinx)
+       ("sphinx" ,python-sphinx)
+       ("sphinxcontrib-svg2pdfconverter" ,python-sphinxcontrib-svg2pdfconverter)
        ("texinfo" ,texinfo)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index d2853e62d6..790be1a59e 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -185,7 +185,7 @@ removable devices or support for multimedia.")
 (define-public terminology
   (package
     (name "terminology")
-    (version "1.3.2")
+    (version "1.4.0")
     (source (origin
               (method url-fetch)
               (uri
@@ -193,7 +193,7 @@ removable devices or support for multimedia.")
                               "terminology/terminology-" version ".tar.xz"))
               (sha256
                (base32
-                "1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm"))
+                "0q1y7fadj42n23aspx9y8hm4w4xlc316wc3415wnf75ibsx08ngd"))
               (modules '((guix build utils)))
               ;; Remove the bundled fonts.
               (snippet
@@ -204,11 +204,24 @@ removable devices or support for multimedia.")
                   #t))))
     (build-system meson-build-system)
     (arguments
-     '(#:phases
+     `(#:configure-flags '("-Dtests=true")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-home-directory
            ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2
-           (lambda _ (setenv "HOME" "/tmp") #t)))))
+           (lambda _ (setenv "HOME" "/tmp") #t))
+         (replace 'check
+           (lambda _
+             (with-directory-excursion
+               (string-append "../" ,name "-" ,version "/tests")
+               (invoke "sh" "run_tests.sh" "--verbose"
+                       "-t" "../../build/src/bin/tytest"))))
+         (add-after 'install 'remove-test-binary
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; This file is not meant to be installed.
+             (delete-file (string-append (assoc-ref outputs "out")
+                                         "/bin/tytest"))
+             #t)))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
        ("perl" ,perl)
diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm
index 19667ce23f..d0111452df 100644
--- a/gnu/packages/entr.scm
+++ b/gnu/packages/entr.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,14 +28,14 @@
 (define-public entr
   (package
     (name "entr")
-    (version "4.1")
+    (version "4.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://entrproject.org/code/entr-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0y7gvyf0iykpf3gfw09m21hy51m6qn4cpkbrm4nnn7pwrwycj0y5"))))
+                "0w2xkf77jikcjh15fp9g7661ss30pz3jbnh261vqpaqavwah4c17"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm
index 9c38b53581..4fba7ee0c8 100644
--- a/gnu/packages/erlang.scm
+++ b/gnu/packages/erlang.scm
@@ -23,6 +23,7 @@
 (define-module (gnu packages erlang)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system emacs)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
@@ -212,3 +213,21 @@ built-in support for concurrency, distribution and fault tolerance.")
     ;; have other licenses. See 'system/COPYRIGHT' in the source distribution.
     (license (list license:asl2.0 license:bsd-2 license:bsd-3 license:expat
                    license:lgpl2.0+ license:tcl/tk license:zlib))))
+
+(define-public emacs-erlang
+  (package
+    (name "emacs-erlang")
+    (version (package-version erlang))
+    (source (package-source erlang))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'set-emacs-load-path 'change-working-directory
+           (lambda _ (chdir "lib/tools/emacs") #t)))))
+    (home-page "https://www.erlang.org/")
+    (synopsis "Erlang major mode for Emacs")
+    (description
+     "This package provides an Emacs major mode for editing Erlang source
+files.")
+    (license license:asl2.0)))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 4eb0d57a36..575569d3aa 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
 ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
 ;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -139,7 +139,7 @@ line client and a client based on Qt.")
 (define-public ledger
   (package
     (name "ledger")
-    (version "3.1.2")
+    (version "3.1.3")
     (source
      (origin
        (method git-fetch)
@@ -148,8 +148,7 @@ line client and a client based on Qt.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0hwnipj2m9p95hhyv6kyq54m27g14r58gnsy2my883kxhpcyb2vc"))
-       (patches (search-patches "ledger-fix-uninitialized.patch"))))
+        (base32 "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
@@ -926,7 +925,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
 (define-public python-duniterpy
   (package
     (name "python-duniterpy")
-    (version "0.52.0")
+    (version "0.53.0")
     (source
      (origin
        (method git-fetch)
@@ -937,7 +936,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "07liba2d21hb8m3n6yccfamq9yq0ryywh18vs9g2sgywfsnv82lh"))))
+         "1km585xlv6dm693s5x6apcnx3ixvz08g8yjfclszhy4jakhpv0ya"))))
     (build-system python-build-system)
     (arguments
      ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 20e14417e4..d9c663d7f4 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -48,16 +48,15 @@
 (define-public flashrom
   (package
     (name "flashrom")
-    ;; XXX: The CFLAGS=... line below can probably be removed when updating.
-    (version "1.0")
+    (version "1.0.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "https://download.flashrom.org/releases/flashrom-"
+                    "https://download.flashrom.org/releases/flashrom-v"
                     version ".tar.bz2"))
               (sha256
                (base32
-                "0r7fkpfc8w51n8ffbhclj4wa3kwrk0ijv1acwpw5myx5bchzl0ip"))))
+                "0i6yrrl69hrqmwd7azj7x3j46m0qpvzmk3b5basym7mnlpfzhyfm"))))
     (build-system gnu-build-system)
     (inputs `(("dmidecode" ,dmidecode)
               ("pciutils" ,pciutils)
@@ -67,9 +66,6 @@
     (arguments
      '(#:make-flags
        (list "CC=gcc"
-             ;; The default includes ‘-Wall -Werror’, causing the build to fail
-             ;; with deprecation warnings against libusb versions >= 1.0.22.
-             "CFLAGS=-Os -Wshadow"
              (string-append "PREFIX=" %output)
              "CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no")
        #:tests? #f                      ; no 'check' target
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a46aa3e417..2d6c36a3b9 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com>
-;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -57,7 +57,6 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)                ;intltool
   #:use-module (gnu packages gnome)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
@@ -66,6 +65,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages pkg-config)
@@ -304,6 +304,152 @@ the org.freedesktop.login1 interface over the system bus, allowing other parts
 of a the system to know what users are logged in, and where.")
     (license license:lgpl2.1+)))
 
+(define-public localed
+  ;; XXX: This package is extracted from systemd but we retain so little of it
+  ;; that it would make more sense to maintain a fork of the bits we need.
+  (package
+    (name "localed")
+    (version "241")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/systemd/systemd")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "0sy91flzbhpq58k7v0294pa2gxpr0bk27rcnxlbhk2fi6nc51d28"))
+              (file-name (git-file-name name version))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Connect to the right location for our D-Bus daemon.
+                  (substitute* '("src/basic/def.h"
+                                 "src/libsystemd/sd-bus/sd-bus.c"
+                                 "src/stdio-bridge/stdio-bridge.c")
+                    (("/run/dbus/system_bus_socket")
+                     "/var/run/dbus/system_bus_socket"))
+
+                  ;; Don't insist on having systemd as PID 1 (otherwise
+                  ;; 'localectl' would exit without doing anything.)
+                  (substitute* "src/shared/bus-util.c"
+                    (("sd_booted\\(\\)")
+                     "(1)"))
+                  #t))
+              (patches (search-patches "localed-xorg-keyboard.patch"))))
+    (build-system meson-build-system)
+    (arguments
+     ;; Try to build as little as possible (list of components taken from the
+     ;; top-level 'meson.build' file.)
+     (let ((components '("utmp"
+                         "hibernate"
+                         "environment-d"
+                         "binfmt"
+                         "coredump"
+                         "resolve"
+                         "logind"
+                         "hostnamed"
+                         "localed"
+                         "machined"
+                         "portabled"
+                         "networkd"
+                         "timedated"
+                         "timesyncd"
+                         "firstboot"
+                         "randomseed"
+                         "backlight"
+                         "vconsole"
+                         "quotacheck"
+                         "sysusers"
+                         "tmpfiles"
+                         "hwdb"
+                         "rfkill"
+                         "ldconfig"
+                         "efi"
+                         "tpm"
+                         "ima"
+                         "smack"
+                         "gshadow"
+                         "idn"
+                         "nss-myhostname"
+                         "nss-systemd")))
+       `(#:configure-flags ',(map (lambda (component)
+                                    (string-append "-D" component "=false"))
+                                  (delete "localed" components))
+
+         ;; It doesn't make sense to test all of systemd.
+         #:tests? #f
+
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'set-xkeyboard-config-file-name
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        ;; Set the file name to xkeyboard-config and kbd.
+                        ;; This is used by 'localectl list-x11-keymap-layouts'
+                        ;; and similar functions.
+                        (let ((xkb (assoc-ref inputs "xkeyboard-config"))
+                              (kbd (assoc-ref inputs "kbd")))
+                          (substitute* "src/locale/localectl.c"
+                            (("/usr/share/X11/xkb/rules")
+                             (string-append xkb "/share/X11/xkb/rules")))
+                          (substitute* "src/basic/def.h"
+                            (("/usr/share/keymaps")
+                             (string-append kbd "/share/keymaps")))
+                          #t)))
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        ;; Install 'localed', the D-Bus and polkit files, and
+                        ;; 'localectl'.
+                        (let* ((out (assoc-ref outputs "out"))
+                               (libexec (string-append out "/libexec/localed"))
+                               (bin     (string-append out "/bin"))
+                               (lib     (string-append out "/lib"))
+                               (dbus    (string-append out
+                                                       "/share/dbus-1/system-services"))
+                               (conf    (string-append out
+                                                       "/etc/dbus-1/system.d/"))
+                               (polkit  (string-append out
+                                                       "/share/polkit-1/actions"))
+                               (data    (string-append out "/share/systemd")))
+                          (define (source-file regexp)
+                            (car (find-files ".." regexp)))
+
+                          (mkdir-p libexec)
+                          (copy-file "systemd-localed"
+                                     (string-append libexec "/localed"))
+                          (install-file "localectl" bin)
+
+                          (let ((service-file (source-file
+                                               "\\.locale1\\.service$")))
+                            (substitute* service-file
+                              (("^Exec=.*$")
+                               (string-append "Exec=" libexec "/localed\n")))
+                            (install-file service-file dbus))
+                          (install-file (source-file "\\.locale1\\.policy$")
+                                        polkit)
+                          (install-file (source-file "\\.locale1\\.conf$")
+                                        conf)
+                          (for-each (lambda (file)
+                                      (install-file file lib))
+                                    (find-files "src/shared"
+                                                "libsystemd-shared.*\\.so"))
+
+                          (for-each (lambda (map)
+                                      (install-file map data))
+                                    (find-files ".." "^(kbd-model-map|language-fallback-map)$"))
+                          #t)))))))
+    (native-inputs (package-native-inputs elogind))
+    (inputs `(("libmount" ,util-linux)
+              ("xkeyboard-config" ,xkeyboard-config)
+              ("kbd" ,kbd)
+              ,@(package-inputs elogind)))
+    (home-page "https://www.freedesktop.org/wiki/Software/systemd/localed/")
+    (synopsis "Control the system locale and keyboard layout")
+    (description
+     "Localed is a tiny daemon that can be used to control the system locale
+and keyboard mapping from user programs.  It is used among other things by the
+GNOME Shell.  The @command{localectl} command-line tool allows you to interact
+with localed.  This package is extracted from the broader systemd package.")
+    (license license:lgpl2.1+)))
+
 (define-public packagekit
   (package
     (name "packagekit")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index adcad53a11..5ff28532fb 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
@@ -1074,7 +1074,7 @@ of use.")
 (define-public openmw
   (package
     (name "openmw")
-    (version "0.44.0")
+    (version "0.45.0")
     (source
      (origin
        (method url-fetch)
@@ -1083,7 +1083,7 @@ of use.")
                        "openmw-" version ".tar.gz"))
        (sha256
         (base32
-         "03fgm2f2r7y0aqlgp038pdlnllgvm3jimrp968p4nhz1sffvjzcy"))))
+         "0r0wgvv1faan8z8lbply8lks4hcnppifjrcz04l5zvq6yiqzjg5n"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; No test target
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8207b92dc9..2afe5b58ba 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -113,7 +113,6 @@
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
-  #:use-module (gnu packages haskell)
   #:use-module (gnu packages man)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mp3)
@@ -156,7 +155,6 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
-  #:use-module (guix build-system haskell)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system scons)
   #:use-module (guix build-system python)
@@ -2291,48 +2289,6 @@ on the screen and keyboard to display letters.")
     ;; Most files under gpl2+ or gpl3+, but eat.wav under gpl3
     (license license:gpl3)))
 
-(define-public raincat
-  (package
-    (name "raincat")
-    (version "1.2.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "http://hackage.haskell.org/package/Raincat/"
-                           "Raincat-" version ".tar.gz"))
-       (sha256
-        (base32
-         "10y9zi22m6hf13c9h8zd9vg7mljpwbw0r3djb6r80bna701fdf6c"))))
-    (build-system haskell-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-executable
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/raincat")
-                 `("LD_LIBRARY_PATH" ":" =
-                   (,(string-append (assoc-ref inputs "freeglut")
-                                    "/lib"))))
-               #t))))))
-    (inputs
-     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
-       ("ghc-random" ,ghc-random)
-       ("ghc-glut" ,ghc-glut)
-       ("freeglut" ,freeglut)
-       ("ghc-opengl" ,ghc-opengl)
-       ("ghc-sdl2" ,ghc-sdl2)
-       ("ghc-sdl2-image" ,ghc-sdl2-image)
-       ("ghc-sdl2-mixer" ,ghc-sdl2-mixer)))
-    (home-page "http://www.bysusanlin.com/raincat/")
-    (synopsis "Puzzle game with a cat in lead role")
-    (description "Project Raincat is a game developed by Carnegie Mellon
-students through GCS during the Fall 2008 semester.  Raincat features game
-play inspired from classics Lemmings and The Incredible Machine.  The project
-proved to be an excellent learning experience for the programmers.  Everything
-is programmed in Haskell.")
-    (license license:bsd-3)))
-
 (define-public manaplus
   (package
     (name "manaplus")
@@ -6749,3 +6705,63 @@ exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%"
     (description "Flare is a single-player 2D action RPG with
 fast-paced action and a dark fantasy style.")
     (license license:cc-by-sa3.0)))
+
+(define-public meritous
+  (package
+    (name "meritous")
+    (version "1.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/meritous/meritous.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0n5jm4g0arjllgqmd2crv8h02i6hs3hlh1zyc7ng7yfpg1mbd8p8"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test
+       #:make-flags
+       (list "CC=gcc"
+             (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'fix-sdl-path
+           ;; XXX: For some reason, `sdl-config' reports stand-alone SDL
+           ;; directory, not SDL-union provided as an input to the package.
+           ;; We force the latter with "--prefix=" option.
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "Makefile"
+               (("sdl-config" command)
+                (string-append command " --prefix=" (assoc-ref inputs "sdl"))))
+             #t))
+         (add-after 'unpack 'fix-crash
+           ;; XXX: Songs are not present in the repository, due to licensing
+           ;; issues.  Yet, the game tries to load them, and, since it cannot
+           ;; find them, crashes.  Users cannot add them back, the store being
+           ;; read-only, so we turn off background music altogether.
+           (lambda _
+             (substitute* "src/audio.c"
+               (("PlayBackgroundMusic\\(new_track\\);" all)
+                (string-append "// " all)))
+             #t)))))
+    (native-inputs
+     `(("intltool" ,intltool)))
+    (inputs
+     `(("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer)))
+       ("zlib" ,zlib)))
+    (home-page "https://gitlab.com/meritous/meritous")
+    (synopsis "Action-adventure dungeon crawl game")
+    (description "Far below the surface of the planet is a place of limitless
+power.  Those that seek to control such a utopia will soon bring an end to
+themselves.  Seeking an end to the troubles that plague him, PSI user Merit
+journeys into the hallowed Orcus Dome in search of answers.
+
+Meritous is a action-adventure game with simple controls but a challenge to
+find a balance of power versus recovery time during real-time battles.  Set in
+a procedurally generated world, the player can explore thousands of rooms in
+search of powerful artifacts, tools to help them, and to eventually free the
+Orcus Dome from evil.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index d8c0050513..53a9b60fdb 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
@@ -47,6 +47,7 @@
 (define-public lcms
   (package
    (name "lcms")
+   (replacement lcms/fixed)
    (version "2.9")
    (source (origin
             (method url-fetch)
@@ -67,6 +68,14 @@ Consortium standard (ICC), approved as ISO 15076-1.")
    (home-page "http://www.littlecms.com/")
    (properties '((cpe-name . "little_cms_color_engine")))))
 
+(define lcms/fixed
+  (package
+    (inherit lcms)
+    (source
+      (origin
+        (inherit (package-source lcms))
+        (patches (search-patches "lcms-CVE-2018-16435.patch"))))))
+
 (define-public libpaper
   (package
    (name "libpaper")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c54cd65ff2..ff8e8ad2e0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -112,6 +112,7 @@
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
@@ -5901,6 +5902,17 @@ properties, screen resolution, and other GNOME parameters.")
              ;; Convert the logo from SVG to PNG.
              (invoke "inkscape" "--export-png=data/theme/guix-logo.png"
                      "data/theme/guix-logo.svg")))
+         (add-before 'configure 'record-absolute-file-names
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "js/misc/ibusManager.js"
+               (("'ibus-daemon'")
+                (string-append "'" (assoc-ref inputs "ibus")
+                               "/bin/ibus-daemon'")))
+             (substitute* "js/ui/status/keyboard.js"
+               (("'gkbd-keyboard-display'")
+                (string-append "'" (assoc-ref inputs "libgnomekbd")
+                               "/bin/gkbd-keyboard-display'")))
+             #t))
          (add-before 'check 'pre-check
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Tests require a running X server.
@@ -5965,6 +5977,7 @@ properties, screen resolution, and other GNOME parameters.")
        ("ibus" ,ibus)
        ("libcanberra" ,libcanberra)
        ("libcroco" ,libcroco)
+       ("libgnomekbd" ,libgnomekbd)               ;for gkbd-keyboard-display
        ("libgweather" ,libgweather)
        ("libsoup" ,libsoup)
        ("mesa-headers" ,mesa-headers)
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 19e99644dd..09fad6a268 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
-;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
@@ -35,7 +35,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -48,6 +47,7 @@
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages music)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages perl)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c68809652b..56b9310343 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
@@ -45,7 +45,6 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
-  #:use-module (gnu packages check)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
@@ -70,6 +69,7 @@
   #:use-module (gnu packages assembly)
   #:use-module (gnu packages rust)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph)
@@ -404,158 +404,6 @@ in C/C++.")
        ("pkg-config" ,pkg-config)
        ("python" ,python-2)))))
 
-(define-public nspr
-  (package
-    (name "nspr")
-    (version "4.21")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v"
-                   version "/src/nspr-" version ".tar.gz"))
-             (sha256
-              (base32
-               "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm"))))
-    (build-system gnu-build-system)
-    (native-inputs
-     `(("perl" ,perl)))
-    (arguments
-     `(#:tests? #f ; no check target
-       #:configure-flags (list "--enable-64bit"
-                               (string-append "LDFLAGS=-Wl,-rpath="
-                                              (assoc-ref %outputs "out")
-                                              "/lib"))
-       ;; Use fixed timestamps for reproducibility.
-       #:make-flags '("SH_DATE='1970-01-01 00:00:01'"
-                      ;; This is epoch 1 in microseconds.
-                      "SH_NOW=100000")
-       #:phases (modify-phases %standard-phases
-                  (add-before 'configure 'chdir
-                    (lambda _ (chdir "nspr") #t)))))
-    (home-page
-     "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR")
-    (synopsis "Netscape API for system level and libc-like functions")
-    (description "Netscape Portable Runtime (@dfn{NSPR}) provides a
-platform-neutral API for system level and libc-like functions.  It is used
-in the Mozilla clients.")
-    (license license:mpl2.0)))
-
-(define-public nss
-  (package
-    (name "nss")
-    (version "3.43")
-    (source (origin
-              (method url-fetch)
-              (uri (let ((version-with-underscores
-                          (string-join (string-split version #\.) "_")))
-                     (string-append
-                      "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
-                      "releases/NSS_" version-with-underscores "_RTM/src/"
-                      "nss-" version ".tar.gz")))
-              (sha256
-               (base32
-                "1jp27w4w9nj5pkzrbc1zqj6pa09h2yy7vhzyx5fvg1q86fvw22zk"))
-              ;; Create nss.pc and nss-config.
-              (patches (search-patches "nss-pkgconfig.patch"
-                                       "nss-increase-test-timeout.patch"))))
-    (build-system gnu-build-system)
-    (outputs '("out" "bin"))
-    (arguments
-     `(#:parallel-build? #f ; not supported
-       #:make-flags
-       (let* ((out (assoc-ref %outputs "out"))
-              (nspr (string-append (assoc-ref %build-inputs "nspr")))
-              (rpath (string-append "-Wl,-rpath=" out "/lib/nss")))
-         (list "-C" "nss" (string-append "PREFIX=" out)
-               "NSDISTMODE=copy"
-               "NSS_USE_SYSTEM_SQLITE=1"
-               (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr")
-               ;; Add $out/lib/nss to RPATH.
-               (string-append "RPATH=" rpath)
-               (string-append "LDFLAGS=" rpath)))
-       #:modules ((guix build gnu-build-system)
-                  (guix build utils)
-                  (ice-9 ftw)
-                  (ice-9 match)
-                  (srfi srfi-26))
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             (setenv "CC" "gcc")
-             ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
-             ,@(match (%current-system)
-                 ((or "x86_64-linux" "aarch64-linux")
-                  `((setenv "USE_64" "1")))
-                 (_
-                  '()))
-             #t))
-         (replace 'check
-           (lambda _
-             ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing.
-             ;; The later requires a working DNS or /etc/hosts.
-             (setenv "DOMSUF" "localdomain")
-             (setenv "USE_IP" "TRUE")
-             (setenv "IP_ADDRESS" "127.0.0.1")
-
-             ;; The "PayPalEE.cert" certificate expires every six months,
-             ;; leading to test failures:
-             ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>.  To
-             ;; work around that, set the time to roughly the release date.
-             (invoke "faketime" "2019-02-01" "./nss/tests/all.sh")))
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (bin (string-append (assoc-ref outputs "bin") "/bin"))
-                      (inc (string-append out "/include/nss"))
-                      (lib (string-append out "/lib/nss"))
-                      (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
-                             ((obj) (string-append "dist/" obj)))))
-                 ;; Install nss-config to $out/bin.
-                 (install-file (string-append obj "/bin/nss-config")
-                               (string-append out "/bin"))
-                 (delete-file (string-append obj "/bin/nss-config"))
-                 ;; Install nss.pc to $out/lib/pkgconfig.
-                 (install-file (string-append obj "/lib/pkgconfig/nss.pc")
-                               (string-append out "/lib/pkgconfig"))
-                 (delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
-                 (rmdir (string-append obj "/lib/pkgconfig"))
-                 ;; Install other files.
-                 (copy-recursively "dist/public/nss" inc)
-                 (copy-recursively (string-append obj "/bin") bin)
-                 (copy-recursively (string-append obj "/lib") lib)
-
-                 ;; FIXME: libgtest1.so is installed in the above step, and it's
-                 ;; (unnecessarily) linked with several NSS libraries, but
-                 ;; without the needed rpaths, causing the 'validate-runpath'
-                 ;; phase to fail.  Here we simply delete libgtest1.so, since it
-                 ;; seems to be used only during the tests.
-                 (delete-file (string-append lib "/libgtest1.so"))
-                 (delete-file (string-append lib "/libgtestutil.so"))
-
-                 #t))))))
-    (inputs
-     `(("sqlite" ,sqlite)
-       ("zlib" ,zlib)))
-    (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc.
-    (native-inputs `(("perl" ,perl)
-                     ("libfaketime" ,libfaketime))) ;for tests
-
-    ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when
-    ;; another build is happening concurrently on the same machine.
-    (properties '((timeout . 216000)))  ; 60 hours
-
-    (home-page
-     "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
-    (synopsis "Network Security Services")
-    (description
-     "Network Security Services (@dfn{NSS}) is a set of libraries designed to
-support cross-platform development of security-enabled client and server
-applications.  Applications built with NSS can support SSL v2 and v3, TLS,
-PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
-security standards.")
-    (license license:mpl2.0)))
-
 (define (mozilla-patch file-name changeset hash)
   "Return an origin for CHANGESET from the mozilla-esr60 repository."
   (origin
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index cc896405cb..0b44bd3d02 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -775,8 +775,8 @@ expressing configuration which is easy for both humans and machines to read.")
       (license license:mpl2.0))))
 
 (define-public go-golang-org-x-crypto-bcrypt
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
+  (let ((commit "b7391e95e576cacdcdd422573063bc057239113d")
+        (revision "3"))
     (package
       (name "go-golang-org-x-crypto-bcrypt")
       (version (git-version "0.0.0" revision commit))
@@ -789,7 +789,7 @@ expressing configuration which is easy for both humans and machines to read.")
                                           version "-checkout"))
                 (sha256
                  (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
+                  "1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm"))))
       (build-system go-build-system)
       (arguments
        `(#:import-path "golang.org/x/crypto/bcrypt"
@@ -801,186 +801,81 @@ password hashing function.")
       (license license:bsd-3))))
 
 (define-public go-golang-org-x-crypto-blowfish
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-blowfish")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/blowfish"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Blowfish in Go")
-      (description "This package provides a Go implementation of the Blowfish
-symmetric-key block cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-blowfish")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/blowfish"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Blowfish in Go")
+    (description "This package provides a Go implementation of the Blowfish
+symmetric-key block cipher.")))
 
 (define-public go-golang-org-x-crypto-pbkdf2
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-pbkdf2")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/pbkdf2"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "PBKDF2 in Go")
-      (description "This package provides a Go implementation of the PBKDF2 key
-derivation function.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-pbkdf2")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/pbkdf2"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "PBKDF2 in Go")
+    (description "This package provides a Go implementation of the PBKDF2 key
+derivation function.")))
 
 (define-public go-golang-org-x-crypto-tea
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-tea")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/tea"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Tiny Encryption Algorithm (TEA) in Go")
-      (description "This packages a Go implementation of the Tiny Encryption
-Algorithm (TEA) block cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-tea")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/tea"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Tiny Encryption Algorithm (TEA) in Go")
+    (description "This packages a Go implementation of the Tiny Encryption
+Algorithm (TEA) block cipher.")))
 
 (define-public go-golang-org-x-crypto-salsa20
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-salsa20")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/salsa20"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Salsa20 in Go")
-      (description "This packages provides a Go implementation of the Salsa20
-stream cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-salsa20")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/salsa20"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Salsa20 in Go")
+    (description "This packages provides a Go implementation of the Salsa20
+stream cipher.")))
 
 (define-public go-golang-org-x-crypto-cast5
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-cast5")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/cast5"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Cast5 in Go")
-      (description "This packages provides a Go implementation of the Cast5
-symmetric-key block cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-cast5")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/cast5"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Cast5 in Go")
+    (description "This packages provides a Go implementation of the Cast5
+symmetric-key block cipher.")))
 
 (define-public go-golang-org-x-crypto-twofish
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-twofish")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/twofish"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Twofish in Go")
-      (description "This packages provides a Go implementation of the Twofish
-symmetric-key block cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-twofish")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/twofish"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Twofish in Go")
+    (description "This packages provides a Go implementation of the Twofish
+symmetric-key block cipher.")))
 
 (define-public go-golang-org-x-crypto-xtea
-  (let ((commit "0fcca4842a8d74bfddc2c96a073bd2a4d2a7a2e8")
-        (revision "2"))
-    (package
-      (name "go-golang-org-x-crypto-xtea")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "033ghifvrxmqr54nm8gmgxz7qxlqgw9z7z976kp88yf1rmxm2kjr"))))
-      (build-system go-build-system)
-      (arguments
-       `(#:import-path "golang.org/x/crypto/xtea"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
-      (description "This package provides a Go implementation of the eXtended
-Tiny Encryption Algorithm (XTEA) block cipher.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-xtea")
+    (arguments
+     `(#:import-path "golang.org/x/crypto/xtea"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
+    (description "This package provides a Go implementation of the eXtended
+Tiny Encryption Algorithm (XTEA) block cipher.")))
 
 (define-public go-golang-org-x-crypto-ed25519
   (package
@@ -1024,6 +919,8 @@ hash algorithm.")))
      (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
        ((#:import-path _)
         "golang.org/x/crypto/blake2s")))
+    (propagated-inputs
+     `(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu)))
     (synopsis "BLAKE2s in Go")
     (description "This package provides a Go implementation of the BLAKE2s
 hash algorithm.")))
@@ -1272,6 +1169,17 @@ for low-level interaction with the operating system.")
       (home-page "https://go.googlesource.com/sys")
       (license license:bsd-3))))
 
+(define-public go-golang-org-x-sys-cpu
+  (package
+    (inherit go-golang-org-x-sys-unix)
+    (name "go-golang-org-x-sys-cpu")
+    (arguments
+     '(#:import-path "golang.org/x/sys/cpu"
+       #:unpack-path "golang.org/x/sys"))
+    (synopsis "CPU feature detection")
+    (description "Thi spackage provides @code{cpu}, which offers tools for CPU
+feature detection in Go.")))
+
 (define-public go-golang-org-x-text-transform
   (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
         (revision "1"))
@@ -1354,60 +1262,40 @@ limiting in Go.")
       (license license:bsd-3))))
 
 (define-public go-golang-org-x-crypto-ssh-terminal
-  (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
-        (revision "1"))
-    (package
-      (name "go-golang-org-x-crypto-ssh-terminal")
-      (version (git-version "0.0.0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://go.googlesource.com/crypto")
-                      (commit commit)))
-                (file-name (string-append "go.googlesource.com-crypto-"
-                                          version "-checkout"))
-                (sha256
-                 (base32
-                  "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
-      (build-system go-build-system)
-      (inputs
-       `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
-      (arguments
-       `(#:import-path "golang.org/x/crypto/ssh/terminal"
-         #:unpack-path "golang.org/x/crypto"))
-      (synopsis "Terminal functions for Go")
-      (description "This package provides @{terminal}, which implements
-support functions for dealing with terminals, as commonly found on UNIX
-systems.")
-      (home-page "https://go.googlesource.com/crypto/")
-      (license license:bsd-3))))
+  (package
+    (inherit go-golang-org-x-crypto-bcrypt)
+    (name "go-golang-org-x-crypto-ssh-terminal")
+    (inputs
+     `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+    (arguments
+     `(#:import-path "golang.org/x/crypto/ssh/terminal"
+       #:unpack-path "golang.org/x/crypto"))
+    (synopsis "Terminal functions for Go")
+    (description "This package provides @{terminal}, which implements support
+functions for dealing with terminals, as commonly found on UNIX systems.")))
 
 (define-public go-github-com-burntsushi-toml
-  (let ((commit
-         "a368813c5e648fee92e5f6c30e3944ff9d5e8895")
-        (revision "0"))
-    (package
-      (name "go-github-com-burntsushi-toml")
-      (version (git-version "0.0.0" revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/BurntSushi/toml.git")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"))))
-      (build-system go-build-system)
-      (arguments
-       '(#:import-path "github.com/BurntSushi/toml"))
-      (home-page "https://github.com/BurntSushi/toml")
-      (synopsis "Toml parser and encoder for Go")
-      (description "This package is toml parser and encoder for Go.  The
-interface is similar to Go's standard library @code{json} and @code{xml}
-package.")
-      (license license:expat))))
+  (package
+    (name "go-github-com-burntsushi-toml")
+    (version "0.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/BurntSushi/toml.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/BurntSushi/toml"))
+    (home-page "https://github.com/BurntSushi/toml")
+    (synopsis "Toml parser and encoder for Go")
+    (description "This package is toml parser and encoder for Go.  The interface
+is similar to Go's standard library @code{json} and @code{xml} package.")
+    (license license:expat)))
 
 (define-public go-github-com-getsentry-raven-go
   (let ((commit
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 9dca2be98e..7ed35f1f29 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -245,6 +245,40 @@ subplots, multiple-axes, polar charts, and bubble charts. ")
 (define-public python2-plotly
   (package-with-python2 python-plotly))
 
+(define-public python-louvain
+  (package
+    (name "python-louvain")
+    (version "0.6.1")
+    ;; The tarball on Pypi does not include the tests.
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/vtraag/louvain-igraph.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0w31537sifkf65sck1iaip5i6d8g64pa3wdwad83d6p9jwkck57k"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-ddt" ,python-ddt)
+       ("python-igraph" ,python-igraph)))
+    (inputs
+     `(("igraph" ,igraph)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/vtraag/louvain-igraph")
+    (synopsis "Algorithm for methods of community detection in large networks")
+    (description
+     "This package provides an implementation of the Louvain algorithm for use
+with igraph.  Louvain is a general algorithm for methods of community
+detection in large networks.
+
+This package has been superseded by the @code{leidenalg} package and should
+not be used for new projects.")
+    (license license:gpl3+)))
+
 (define-public faiss
   (package
     (name "faiss")
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
new file mode 100644
index 0000000000..d675863090
--- /dev/null
+++ b/gnu/packages/haskell-apps.scm
@@ -0,0 +1,400 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages haskell-apps)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system haskell)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages haskell)
+  #:use-module (gnu packages haskell-check)
+  #:use-module (gnu packages haskell-crypto)
+  #:use-module (gnu packages haskell-web)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
+  #:use-module (gnu packages version-control))
+
+;; Darcs has no https support: http://irclog.perlgeek.de/darcs/2016-09-17
+;; http://darcs.net/manual/Configuring_darcs.html#SECTION00440070000000000000
+;; and results of search engines will show that if the protocol is http, https
+;; is never mentioned.
+(define-public darcs
+  (package
+    (name "darcs")
+    (version "2.14.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/darcs/"
+                           "darcs-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0zm2486gyhiga1amclbg92cd09bvki6vgh0ll75hv5kl72j61lb5"))
+       (modules '((guix build utils)))
+       ;; Remove time-dependent code for reproducibility.
+       (snippet
+        '(begin
+           (substitute* "darcs/darcs.hs"
+             (("__DATE__") "\"1970-01-01\"")
+             (("__TIME__") "\"00:00:00\""))
+           #t))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
+                           "-fnetwork-uri" "-fhttp" "--flag=executable"
+                           "--flag=library")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'patch-source-shebangs 'patch-sh
+           (lambda _
+             (substitute* "tests/issue538.sh"
+               (("/bin/sh") (which "sh")))
+             #t)))))
+    (inputs
+     `(("ghc-cmdargs" ,ghc-cmdargs)
+       ("ghc-split" ,ghc-split)
+       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+       ("ghc-test-framework" ,ghc-test-framework)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-findbin" ,ghc-findbin)
+       ("ghc-hunit" ,ghc-hunit)
+       ("ghc-async" ,ghc-async)
+       ("ghc-attoparsec" ,ghc-attoparsec)
+       ("ghc-base16-bytestring" ,ghc-base16-bytestring)
+       ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+       ("ghc-cryptohash" ,ghc-cryptohash)
+       ("ghc-data-ordlist" ,ghc-data-ordlist)
+       ("ghc-fgl" ,ghc-fgl)
+       ("ghc-system-filepath" ,ghc-system-filepath)
+       ("ghc-graphviz" ,ghc-graphviz)
+       ("ghc-hashable" ,ghc-hashable)
+       ("ghc-html" ,ghc-html)
+       ("ghc-mmap" ,ghc-mmap)
+       ("ghc-old-time" ,ghc-old-time)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-random" ,ghc-random)
+       ("ghc-regex-applicative" ,ghc-regex-applicative)
+       ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa)
+       ("ghc-sandi" ,ghc-sandi)
+       ("ghc-shelly" ,ghc-shelly)
+       ("ghc-tar" ,ghc-tar)
+       ("ghc-transformers-compat" ,ghc-transformers-compat)
+       ("ghc-unix-compat" ,ghc-unix-compat)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-vector" ,ghc-vector)
+       ("ghc-zip-archive" ,ghc-zip-archive)
+       ("ghc-zlib" ,ghc-zlib)
+       ("ghc-http" ,ghc-http)
+       ("curl" ,curl)
+       ("ghc" ,ghc)
+       ("ncurses" ,ncurses)
+       ("perl" ,perl)
+       ("libiconv" ,libiconv)
+       ("ghc-network" ,ghc-network)
+       ("ghc-network-uri" ,ghc-network-uri)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://darcs.net")
+    (synopsis "Distributed Revision Control System")
+    (description
+     "Darcs is a revision control system.  It is:
+
+@enumerate
+@item Distributed: Every user has access to the full command set, removing boundaries
+between server and client or committer and non-committers.
+@item Interactive: Darcs is easy to learn and efficient to use because it asks you
+questions in response to simple commands, giving you choices in your work flow.
+You can choose to record one change in a file, while ignoring another.  As you update
+from upstream, you can review each patch name, even the full diff for interesting
+patches.
+@item Smart: Originally developed by physicist David Roundy, darcs is based on a
+unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
+@end enumerate")
+    (license license:gpl2)))
+
+(define-public git-annex
+  (package
+    (name "git-annex")
+    (version "6.20180926")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "git-annex/git-annex-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:configure-flags
+       '("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-shell
+           (lambda _
+             (substitute* "Utility/Shell.hs"
+               (("/bin/sh") (which "sh")))
+             #t))
+         (add-before 'configure 'factor-setup
+           (lambda _
+             ;; Factor out necessary build logic from the provided
+             ;; `Setup.hs' script.  The script as-is does not work because
+             ;; it cannot find its dependencies, and there is no obvious way
+             ;; to tell it where to look.  Note that we do not preserve the
+             ;; code that installs man pages here.
+             (call-with-output-file "PreConf.hs"
+               (lambda (out)
+                 (format out "import qualified Build.Configure as Configure~%")
+                 (format out "main = Configure.run Configure.tests~%")))
+             (call-with-output-file "Setup.hs"
+               (lambda (out)
+                 (format out "import Distribution.Simple~%")
+                 (format out "main = defaultMain~%")))
+             #t))
+         (add-before 'configure 'pre-configure
+           (lambda _
+             (invoke "runhaskell" "PreConf.hs")
+             #t))
+         (replace 'check
+           (lambda _
+             ;; We need to set the path so that Git recognizes
+             ;; `git annex' as a custom command.
+             (setenv "PATH" (string-append (getenv "PATH") ":"
+                                           (getcwd) "/dist/build/git-annex"))
+             (with-directory-excursion "dist/build/git-annex"
+               (symlink "git-annex" "git-annex-shell"))
+             (invoke "git-annex" "test")
+             #t))
+         (add-after 'install 'install-symlinks
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (symlink (string-append bin "/git-annex")
+                        (string-append bin "/git-annex-shell"))
+               (symlink (string-append bin "/git-annex")
+                        (string-append bin "/git-remote-tor-annex"))
+               #t))))))
+    (inputs
+     `(("curl" ,curl)
+       ("ghc-aeson" ,ghc-aeson)
+       ("ghc-async" ,ghc-async)
+       ("ghc-bloomfilter" ,ghc-bloomfilter)
+       ("ghc-byteable" ,ghc-byteable)
+       ("ghc-case-insensitive" ,ghc-case-insensitive)
+       ("ghc-crypto-api" ,ghc-crypto-api)
+       ("ghc-cryptonite" ,ghc-cryptonite)
+       ("ghc-data-default" ,ghc-data-default)
+       ("ghc-disk-free-space" ,ghc-disk-free-space)
+       ("ghc-dlist" ,ghc-dlist)
+       ("ghc-edit-distance" ,ghc-edit-distance)
+       ("ghc-esqueleto" ,ghc-esqueleto)
+       ("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-feed" ,ghc-feed)
+       ("ghc-free" ,ghc-free)
+       ("ghc-hslogger" ,ghc-hslogger)
+       ("ghc-http-client" ,ghc-http-client)
+       ("ghc-http-conduit" ,ghc-http-conduit)
+       ("ghc-http-types" ,ghc-http-types)
+       ("ghc-ifelse" ,ghc-ifelse)
+       ("ghc-memory" ,ghc-memory)
+       ("ghc-monad-control" ,ghc-monad-control)
+       ("ghc-monad-logger" ,ghc-monad-logger)
+       ("ghc-network" ,ghc-network)
+       ("ghc-old-locale" ,ghc-old-locale)
+       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
+       ("ghc-persistent" ,ghc-persistent)
+       ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
+       ("ghc-persistent-template" ,ghc-persistent-template)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-random" ,ghc-random)
+       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+       ("ghc-resourcet" ,ghc-resourcet)
+       ("ghc-safesemaphore" ,ghc-safesemaphore)
+       ("ghc-sandi" ,ghc-sandi)
+       ("ghc-securemem" ,ghc-securemem)
+       ("ghc-socks" ,ghc-socks)
+       ("ghc-split" ,ghc-split)
+       ("ghc-stm" ,ghc-stm)
+       ("ghc-stm-chans" ,ghc-stm-chans)
+       ("ghc-tagsoup" ,ghc-tagsoup)
+       ("ghc-text" ,ghc-text)
+       ("ghc-unix-compat" ,ghc-unix-compat)
+       ("ghc-unordered-containers" ,ghc-unordered-containers)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-uuid" ,ghc-uuid)
+       ("git" ,git)
+       ("rsync" ,rsync)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-tasty-rerun" ,ghc-tasty-rerun)))
+    (home-page "https://git-annex.branchable.com/")
+    (synopsis "Manage files with Git, without checking in their contents")
+    (description "This package allows managing files with Git, without
+checking the file contents into Git.  It can store files in many places,
+such as local hard drives and cloud storage services.  It can also be
+used to keep a folder in sync between computers.")
+    ;; The web app is released under the AGPLv3+.
+    (license (list license:gpl3+
+                   license:agpl3+))))
+
+(define-public ghc-sdl2
+  (package
+    (name "ghc-sdl2")
+    (version "2.4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "sdl2/sdl2-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
+    (build-system haskell-build-system)
+    (arguments '(#:tests? #f)) ; tests require graphical environment
+    (inputs
+     `(("ghc-exceptions" ,ghc-exceptions)
+       ("ghc-linear" ,ghc-linear)
+       ("ghc-statevar" ,ghc-statevar)
+       ("ghc-text" ,ghc-text)
+       ("ghc-vector" ,ghc-vector)
+       ("sdl2" ,sdl2)))
+    (native-inputs
+     `(("ghc-weigh" ,ghc-weigh)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://hackage.haskell.org/package/sdl2")
+    (synopsis "High- and low-level bindings to the SDL library")
+    (description
+     "This package contains bindings to the SDL 2 library, in both high- and
+low-level forms.  The @code{SDL} namespace contains high-level bindings, where
+enumerations are split into sum types, and we perform automatic
+error-checking.  The @code{SDL.Raw} namespace contains an almost 1-1
+translation of the C API into Haskell FFI calls.  As such, this does not
+contain sum types nor error checking.  Thus this namespace is suitable for
+building your own abstraction over SDL, but is not recommended for day-to-day
+programming.")
+    (license license:bsd-3)))
+
+(define-public ghc-sdl2-mixer
+  (package
+    (name "ghc-sdl2-mixer")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
+                           "sdl2-mixer-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-data-default-class" ,ghc-data-default-class)
+       ("ghc-lifted-base" ,ghc-lifted-base)
+       ("ghc-monad-control" ,ghc-monad-control)
+       ("ghc-sdl2" ,ghc-sdl2)
+       ("ghc-vector" ,ghc-vector)
+       ("sdl2-mixer" ,sdl2-mixer)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://hackage.haskell.org/package/sdl2-mixer")
+    (synopsis "Bindings to SDL2 mixer")
+    (description "This package provides Haskell bindings to
+@code{SDL2_mixer}.")
+    (license license:bsd-3)))
+
+(define-public ghc-sdl2-image
+  (package
+    (name "ghc-sdl2-image")
+    (version "2.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
+                           "sdl2-image-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-sdl2" ,ghc-sdl2)
+       ("ghc-text" ,ghc-text)
+       ("sdl2-image" ,sdl2-image)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://hackage.haskell.org/package/sdl2-image")
+    (synopsis "Bindings to SDL2_image")
+    (description "This package provides Haskell bindings to
+@code{SDL2_image}.")
+    (license license:expat)))
+
+(define-public raincat
+  (package
+    (name "raincat")
+    (version "1.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://hackage.haskell.org/package/Raincat/"
+                           "Raincat-" version ".tar.gz"))
+       (sha256
+        (base32
+         "10y9zi22m6hf13c9h8zd9vg7mljpwbw0r3djb6r80bna701fdf6c"))))
+    (build-system haskell-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/raincat")
+                 `("LD_LIBRARY_PATH" ":" =
+                   (,(string-append (assoc-ref inputs "freeglut")
+                                    "/lib"))))
+               #t))))))
+    (inputs
+     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+       ("ghc-random" ,ghc-random)
+       ("ghc-glut" ,ghc-glut)
+       ("freeglut" ,freeglut)
+       ("ghc-opengl" ,ghc-opengl)
+       ("ghc-sdl2" ,ghc-sdl2)
+       ("ghc-sdl2-image" ,ghc-sdl2-image)
+       ("ghc-sdl2-mixer" ,ghc-sdl2-mixer)))
+    (home-page "http://www.bysusanlin.com/raincat/")
+    (synopsis "Puzzle game with a cat in lead role")
+    (description "Project Raincat is a game developed by Carnegie Mellon
+students through GCS during the Fall 2008 semester.  Raincat features game
+play inspired from classics Lemmings and The Incredible Machine.  The project
+proved to be an excellent learning experience for the programmers.  Everything
+is programmed in Haskell.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index 8f216a379d..8d28a77fc1 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -733,3 +733,46 @@ It also includes support for detached signatures, and thorough
 documentation on the design and implementation, including usage
 guidelines.")
     (license license:expat)))
+
+(define-public ghc-tls
+  (package
+    (name "ghc-tls")
+    (version "1.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://hackage.haskell.org/package/"
+                                  "tls/tls-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1y083724mym28n6xfaz7pcc7zqxdhjpaxpbvzxfbs25qq2px3smv"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-cereal" ,ghc-cereal)
+       ("ghc-data-default-class" ,ghc-data-default-class)
+       ("ghc-memory" ,ghc-memory)
+       ("ghc-cryptonite" ,ghc-cryptonite)
+       ("ghc-asn1-types" ,ghc-asn1-types)
+       ("ghc-asn1-encoding" ,ghc-asn1-encoding)
+       ("ghc-x509" ,ghc-x509)
+       ("ghc-x509-store" ,ghc-x509-store)
+       ("ghc-x509-validation" ,ghc-x509-validation)
+       ("ghc-async" ,ghc-async)
+       ("ghc-network" ,ghc-network)
+       ("ghc-hourglass" ,ghc-hourglass)))
+    (native-inputs
+     `(("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+       ("ghc-quickcheck" ,ghc-quickcheck)))
+    (home-page "https://github.com/vincenthz/hs-tls")
+    (synopsis
+     "TLS/SSL protocol native implementation (Server and Client)")
+    (description
+     "Native Haskell TLS and SSL protocol implementation for server and client.
+This provides a high-level implementation of a sensitive security protocol,
+eliminating a common set of security issues through the use of the advanced
+type system, high level constructions and common Haskell features.  Currently
+implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
+Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
+extensions.")
+    (license license:bsd-3)))
+
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 2e404e2fcf..555fee12d4 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
-;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
@@ -27,7 +27,6 @@
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages haskell-check)
   #:use-module (gnu packages haskell-crypto)
-  #:use-module (gnu packages tls)
   #:use-module (guix build-system haskell)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
@@ -1244,3 +1243,108 @@ providing richtext field using Nic editor. ")
 Yesod related packages into one cohesive whole.  This is the version of Yesod,
 whereas most of the core code lives in @code{ghc-yesod-core}.")
     (license license:expat)))
+
+(define-public ghc-hxt-charproperties
+  (package
+    (name "ghc-hxt-charproperties")
+    (version "9.2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "hxt-charproperties/hxt-charproperties-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
+    (build-system haskell-build-system)
+    (home-page "https://github.com/UweSchmidt/hxt")
+    (synopsis "Character properties and classes for XML and Unicode")
+    (description
+     "The modules provided by this package contain predicates for Unicode
+blocks and char properties and character predicates defined by XML.  The
+supported Unicode version is 7.0.0")
+    (license license:expat)))
+
+(define-public ghc-hxt-unicode
+  (package
+    (name "ghc-hxt-unicode")
+    (version "9.0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
+    (home-page
+     "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
+    (synopsis
+     "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
+    (description
+     "This package provides Unicode encoding and decoding functions for
+encodings used in the Haskell XML Toolbox.  ISO Latin 1-16, utf8, utf16, ASCII
+are supported. Decoding is done with lazy functions, errors may be detected or
+ignored.")
+    (license license:expat)))
+
+(define-public ghc-hxt-regex-xmlschema
+  (package
+    (name "ghc-hxt-regex-xmlschema")
+    (version "9.2.0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "hxt-regex-xmlschema/hxt-regex-xmlschema-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-text" ,ghc-text)
+       ("ghc-hunit" ,ghc-hunit)))
+    (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
+    (synopsis "Regular expression library for W3C XML Schema regular expressions")
+    (description
+     "This library supports full W3C XML Schema regular expressions inclusive
+all Unicode character sets and blocks.  It is implemented by the technique of
+derivations of regular expressions.")
+    (license license:expat)))
+
+(define-public ghc-hxt
+  (package
+    (name "ghc-hxt")
+    (version "9.3.1.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://hackage.haskell.org/package/hxt/hxt-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-parsec" ,ghc-parsec)
+       ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
+       ("ghc-hxt-unicode" ,ghc-hxt-unicode)
+       ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
+       ("ghc-network-uri" ,ghc-network-uri)))
+    (home-page "https://github.com/UweSchmidt/hxt")
+    (synopsis "Collection of tools for processing XML with Haskell")
+    (description
+     "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
+introduces a more general approach for processing XML with Haskell.")
+    (license license:expat)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9fc29ec284..3b2bb23252 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -561,6 +561,7 @@ work.")
   (package
     (name "openjpeg")
     (version "2.3.0")
+    (replacement openjpeg-2.3.1)
     (source
       (origin
         (method url-fetch)
@@ -594,6 +595,20 @@ error-resilience, a Java-viewer for j2k-images, ...")
     (home-page "https://github.com/uclouvain/openjpeg")
     (license license:bsd-2)))
 
+(define-public openjpeg-2.3.1
+  (package
+    (inherit openjpeg)
+    (version "2.3.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uclouvain/openjpeg")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "openjpeg" version))
+              (sha256
+               (base32
+                "1dn98d2dfa1lqyxxmab6rrcv52dyhjr4g7i4xf2w54fqsx14ynrb"))))))
+
 (define-public openjpeg-1
   (package (inherit openjpeg)
     (name "openjpeg")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 47dc89d373..51c21b68cc 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -52,7 +52,6 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gl)
-  #:use-module (gnu packages gnuzilla) ;nss
   #:use-module (gnu packages ghostscript) ;lcms
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages groovy)
@@ -64,6 +63,7 @@
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux) ;alsa
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages web)
   #:use-module (gnu packages wget)
@@ -10970,3 +10970,78 @@ class/interface/method definitions from source files complete with JavaDoc
 @code{@@tags}.  It is designed to be used by active code generators or
 documentation tools.")
     (license license:asl2.0)))
+
+(define-public java-jgit
+  (package
+    (name "java-jgit")
+    (version "4.7.0.201704051617-r")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "org/eclipse/jgit/org.eclipse.jgit/"
+                                  version "/org.eclipse.jgit-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "13ii4jn02ynzq6i7gsyi21k2i94jpc85wf6bcm31q4cyvzv0mk4k"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f                      ; There are no tests to run.
+       #:jar-name "jgit.jar"
+       ;; JGit must be built with a JDK supporting Java 8.
+       #:jdk ,icedtea-8
+       ;; Target our older default JDK.
+       #:make-flags (list "-Dtarget=1.7")
+       #:phases
+       (modify-phases %standard-phases
+         ;; The jar file generated by the default build.xml does not include
+         ;; the text properties files, so we need to add them.
+         (add-after 'build 'add-properties
+           (lambda* (#:key jar-name #:allow-other-keys)
+             (with-directory-excursion "src"
+               (apply invoke "jar" "-uf"
+                      (string-append "../build/jar/" jar-name)
+                      (find-files "." "\\.properties$")))
+             #t)))))
+    (inputs
+     `(("java-classpathx-servletapi" ,java-classpathx-servletapi)
+       ("java-javaewah" ,java-javaewah)
+       ("java-jsch" ,java-jsch)
+       ("java-slf4j-api" ,java-slf4j-api)))
+    (home-page "https://eclipse.org/jgit/")
+    (synopsis "Java library implementing the Git version control system")
+    (description "JGit is a lightweight, pure Java library implementing the
+Git version control system, providing repository access routines, support for
+network protocols, and core version control algorithms.")
+    (license license:edl1.0)))
+
+;; For axoloti.  This package can still be built with icedtea-7, which is
+;; currently used as the default JDK.
+(define-public java-jgit-4.2
+  (package (inherit java-jgit)
+    (version "4.2.0.201601211800-r")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "org/eclipse/jgit/org.eclipse.jgit/"
+                                  version "/org.eclipse.jgit-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "15gm537iivhnzlkjym4x3wn5jqdjdragsw9pdpzqqg21nrc817mm"))))
+    (build-system ant-build-system)
+    (arguments
+     (substitute-keyword-arguments (package-arguments java-jgit)
+       ;; Build for default JDK.
+       ((#:jdk _) icedtea-7)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'unpack 'use-latest-javaewah-API
+             (lambda _
+               (substitute* "src/org/eclipse/jgit/internal/storage/file/BitmapIndexImpl.java"
+                 (("wordinbits") "WORD_IN_BITS"))
+               #t))))))
+    (inputs
+     `(("java-javaewah" ,java-javaewah)
+       ("java-jsch" ,java-jsch)
+       ("java-slf4j-api" ,java-slf4j-api)))))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 23078d00a0..37c67b8788 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -47,10 +47,12 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg))
 
 (define-public kdenlive
@@ -531,3 +533,79 @@ cards.")
 Using a plugin system it is possible to create notifications with many
 different notification systems.")
     (license license:lgpl3)))
+
+(define-public kdeconnect
+  (package
+    (name "kdeconnect")
+    (version "1.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://kde/stable/kdeconnect/"
+                            version "/src/kdeconnect-kde-"
+                            version ".tar.xz"))
+        (sha256
+         (base32
+          "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DBUILD_TESTING=ON")
+       #:tests? #f ; tests fail hard in our build environment
+       #:modules ((guix build cmake-build-system)
+                  (guix build qt-utils)
+                  (guix build utils))
+       #:imported-modules (,@%cmake-build-system-modules
+                            (guix build qt-utils))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'check-setup
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t))
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (setenv "QT_PLUGIN_PATH"
+                       (string-append out "/lib/qt5/plugins"
+                                      ":" (getenv "QT_PLUGIN_PATH")))
+               (wrap-qt-program out "../lib/libexec/kdeconnectd")
+               (wrap-qt-program out "kdeconnect-cli")
+               (wrap-qt-program out "kdeconnect-handler")
+               (wrap-qt-program out "kdeconnect-indicator"))
+             #t)))))
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)
+       ("kdoctools" ,kdoctools)
+       ("libxtst" ,libxtst)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("kcmutils" ,kcmutils)
+       ("kconfigwidgets" ,kconfigwidgets)
+       ("kdbusaddons" ,kdbusaddons)
+       ("ki18n" ,ki18n)
+       ("kiconthemes" ,kiconthemes)
+       ("kio" ,kio)
+       ("knotifications" ,knotifications)
+       ("kwayland" ,kwayland)
+       ("libfakekey" ,libfakekey)
+       ("qca" ,qca)
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtx11extras" ,qtx11extras)))
+    (home-page "https://community.kde.org/KDEConnect")
+    (synopsis "Enable your devices to communicate with each other")
+    (description "KDE Connect is a project that enables all your devices to
+communicate with each other.  Here's a few things KDE Connect can do:
+@enumerate
+@item Receive your phone notifications on your desktop computer and reply to messages
+@item Control music playing on your desktop from your phone
+@item Use your phone as a remote control for your desktop
+@item Run predefined commands on your PC from connected devices
+@item Check your phones battery level from the desktop
+@item Ring your phone to help finding it
+@item Share files and links between devices
+@item Browse your phone from the desktop
+@item Control the desktop's volume from the phone
+@end enumerate")
+    (license (list license:gpl2 license:gpl3)))) ; dual licensed
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 588b2f15c7..3b8fa514d1 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
-;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -59,7 +59,6 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
@@ -67,6 +66,7 @@
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4642514dd4..4a85859c6d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -77,7 +77,6 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libunwind)
@@ -90,6 +89,7 @@
   #:use-module (gnu packages nettle)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages ninja)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pkg-config)
@@ -254,6 +254,15 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
          (file (string-append "linux-libre/" name)))
     (search-auxiliary-file file)))
 
+;; FIXME: merge into kernel-config
+(define* (kernel-config-veyron arch #:key variant)
+  "Return the absolute file name of the Linux-Libre build configuration file
+for ARCH and optionally VARIANT, or #f if there is no such configuration."
+  (let* ((name (string-append (if variant (string-append variant "-") "")
+                              (if (string=? "i386" arch) "i686" arch) "-veyron.conf"))
+         (file (string-append "linux-libre/" name)))
+    (search-auxiliary-file file)))
+
 (define %default-extra-linux-options
   `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
     ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
@@ -415,8 +424,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
 It has been modified to remove all non-free binary blobs.")
     (license license:gpl2)))
 
-(define %linux-libre-version "5.0.5")
-(define %linux-libre-hash "1yivxqprxfzhzid4qv9hpnb5i38kijrj2g2pyzz7niliya1c58li")
+(define %linux-libre-version "5.0.6")
+(define %linux-libre-hash "0zznxchsdljw4swnr4i0qlvdww7cxskmil1691baj53xjv3wsh3n")
 
 (define %linux-libre-5.0-patches
   (list %boot-logo-patch
@@ -429,8 +438,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-5.0-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.19-version "4.19.32")
-(define %linux-libre-4.19-hash "19bryl8nmnnnrfh91pc8q9yiayh5ca2nb6b32qyx6riahc5dy0i9")
+(define %linux-libre-4.19-version "4.19.33")
+(define %linux-libre-4.19-hash "147ksl3ksxdv2ifr18cbzq4647n9d7yr7kbxg02sljia7z3b70cm")
 
 (define %linux-libre-4.19-patches
   (list %boot-logo-patch
@@ -443,8 +452,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-4.19-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.109")
-(define %linux-libre-4.14-hash "05xnnyfiypg4sdcnh42wvg7h72ar8xx98dik12sgwysnfldi0gk9")
+(define %linux-libre-4.14-version "4.14.110")
+(define %linux-libre-4.14-hash "05cfb1wb4ml5a1vfakq5v6192f584j3701d2mf03mv5fzxb7l2dx")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -453,14 +462,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.166"
-                    "1gijzvhky3x0nl0dm9ksg113z7jc1mc1n30qbr6r1dd78lfd050p"
+  (make-linux-libre "4.9.167"
+                    "16428a6mxxi6k4ag7pj6jl01d3a3yshynn3b9jf3vjip6kcrhw03"
                     '("x86_64-linux" "i686-linux")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.177"
-                    "0vvppw7j6jwn3cd5hhzgj5xfqkmz682zy36iyr6ynd0rbh1j7bhm"
+  (make-linux-libre "4.4.178"
+                    "1lgsd760md6b32qb5ng3anfq1n754a9d0c4xnf2mjxkimncb1jpp"
                     '("x86_64-linux" "i686-linux")
                     #:configuration-file kernel-config))
 
@@ -472,6 +481,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:defconfig "multi_v7_defconfig"
                     #:extra-version "arm-generic"))
 
+(define-public linux-libre-arm-veyron
+  (make-linux-libre %linux-libre-version
+                    %linux-libre-hash
+                    '("armhf-linux")
+                    #:patches %linux-libre-5.0-patches
+                    #:configuration-file kernel-config-veyron
+                    #:extra-version "arm-veyron"))
+
 (define-public linux-libre-arm-generic-4.19
   (make-linux-libre %linux-libre-4.19-version
                     %linux-libre-4.19-hash
@@ -3631,6 +3648,7 @@ from userspace.")
               (method url-fetch)
               (uri (string-append "https://tuxera.com/opensource/"
                                   "ntfs-3g_ntfsprogs-" version ".tgz"))
+              (patches (search-patches "ntfs-3g-CVE-2019-9755.patch"))
               (sha256
                (base32
                 "1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy"))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index d92d69985b..3039feb62d 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -65,6 +66,7 @@
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages databases)
@@ -318,14 +320,14 @@ an interpreter, a compiler, a debugger, and much more.")
 (define-public sbcl
   (package
     (name "sbcl")
-    (version "1.4.16")
+    (version "1.5.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
                            version "-source.tar.bz2"))
        (sha256
-        (base32 "1myg4wkxnbfn5nz38xy62r1jhjy07x3h0b04vg858n41chdsv4wd"))
+        (base32 "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph"))
        (modules '((guix build utils)))
        (snippet
         ;; Add sbcl-bundle-systems to 'default-system-source-registry'.
@@ -2554,8 +2556,7 @@ which causes everything printed in the body to be displayed with the provided
 color.  It further provides functions which will print the argument with the
 named color.")
       (home-page "https://github.com/pnathan/cl-ansi-text")
-      ;; REVIEW: The actual license is LLGPL.  Should we add it to Guix?
-      (license license:lgpl3+))))
+      (license license:llgpl))))
 
 (define-public cl-ansi-text
   (sbcl-package->cl-source-package sbcl-cl-ansi-text))
@@ -3840,3 +3841,1400 @@ client and server.")
 
 (define-public ecl-trivial-clipboard
   (sbcl-package->ecl-package sbcl-trivial-clipboard))
+
+(define-public sbcl-trivial-backtrace
+  (let ((commit "ca81c011b86424a381a7563cea3b924f24e6fbeb")
+        (revision "1"))
+    (package
+     (name "sbcl-trivial-backtrace")
+     (version (git-version "0.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gwkkwg/trivial-backtrace.git")
+             (commit commit)))
+       (sha256
+        (base32 "10p41p43skj6cimdg8skjy7372s8v2xpkg8djjy0l8rm45i654k1"))))
+     (build-system asdf-build-system/sbcl)
+     (inputs
+      `(("sbcl-lift" ,sbcl-lift)))
+     (home-page "https://common-lisp.net/project/trivial-backtrace/")
+     (synopsis "Portable simple API to work with backtraces in Common Lisp")
+     (description
+      "On of the many things that didn't quite get into the Common Lisp
+standard was how to get a Lisp to output its call stack when something has
+gone wrong.  As such, each Lisp has developed its own notion of what to
+display, how to display it, and what sort of arguments can be used to
+customize it.  @code{trivial-backtrace} is a simple solution to generating a
+backtrace portably.")
+     (license license:bsd-style))))
+
+(define-public cl-trivial-backtrace
+  (sbcl-package->cl-source-package sbcl-trivial-backtrace))
+
+(define-public sbcl-rfc2388
+  (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e")
+        (revision "1"))
+    (package
+     (name "sbcl-rfc2388")
+     (version (git-version "0.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jdz/rfc2388.git")
+             (commit commit)))
+       (sha256
+        (base32 "0phh5n3clhl9ji8jaxrajidn22d3f0aq87mlbfkkxlnx2pnw694k"))))
+     (build-system asdf-build-system/sbcl)
+     (home-page "https://github.com/jdz/rfc2388/")
+     (synopsis "An implementation of RFC 2388 in Common Lisp")
+     (description
+      "This package contains an implementation of RFC 2388, which is used to
+process form data posted with HTTP POST method using enctype
+\"multipart/form-data\".")
+     (license license:bsd-2))))
+
+(define-public cl-rfc2388
+  (sbcl-package->cl-source-package sbcl-rfc2388))
+
+(define-public sbcl-md5
+  (package
+    (name "sbcl-md5")
+    (version "2.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/pmai/md5/archive/release-" version ".tar.gz"))
+       (sha256
+        (base32 "19yl9n0pjdz5gw4qi711lka97xcd9f81ylg434hk7jwn9f2s6w11"))))
+    (build-system asdf-build-system/sbcl)
+    (home-page "https://github.com/pmai/md5")
+    (synopsis
+     "Common Lisp implementation of the MD5 Message-Digest Algorithm (RFC 1321)")
+    (description
+     "This package implements The MD5 Message-Digest Algorithm, as defined in
+RFC 1321 by R. Rivest, published April 1992.")
+    (license license:public-domain)))
+
+(define-public cl-md5
+  (sbcl-package->cl-source-package sbcl-md5))
+
+(define-public sbcl-cl+ssl
+  (let ((commit "b81c1135cf5700e870ce2573d5035d249e491788")
+        (revision "1"))
+    (package
+      (name "sbcl-cl+ssl")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/cl-plus-ssl/cl-plus-ssl.git")
+               (commit commit)))
+         (sha256
+          (base32 "1845i1pafmqb6cdlr53yaqy67kjrhkvbx6c37ca15cw70vhdr3z9"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "src/reload.lisp"
+                 (("libssl.so" all)
+                  (string-append
+                   (assoc-ref inputs "openssl") "/lib/" all))))))))
+      (inputs
+       `(("openssl" ,openssl)
+         ("sbcl-cffi" ,sbcl-cffi)
+         ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
+         ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+         ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)
+         ("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
+      (home-page "http://common-lisp.net/project/cl-plus-ssl/")
+      (synopsis "Common Lisp bindings to OpenSSL")
+      (description
+       "This library is a fork of SSL-CMUCL.  The original SSL-CMUCL source
+code was written by Eric Marsden and includes contributions by Jochen Schmidt.
+Development into CL+SSL was done by David Lichteblau.")
+      (license license:expat))))
+
+(define-public cl-cl+ssl
+  (sbcl-package->cl-source-package sbcl-cl+ssl))
+
+(define-public sbcl-kmrcl
+  (let ((version "1.109.0")
+        (commit "5260068b2eb735af6796740c2db4955afac21636")
+        (revision "1"))
+    (package
+      (name "sbcl-kmrcl")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "http://git.kpe.io/kmrcl.git/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a
+       ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel
+       '(#:tests? #f))
+      (inputs
+       `(("sbcl-rt" ,sbcl-rt)))
+      (home-page "http://files.kpe.io/kmrcl/")
+      (synopsis "General utilities for Common Lisp programs")
+      (description
+       "KMRCL is a collection of utilities used by a number of Kevin
+Rosenberg's CL packages.")
+      (license license:llgpl))))
+
+(define-public cl-kmrcl
+  (sbcl-package->cl-source-package sbcl-kmrcl))
+
+(define-public sbcl-cl-base64
+  (let ((version "3.3.3"))
+    (package
+      (name "sbcl-cl-base64")
+      (version version)
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "http://git.kpe.io/cl-base64.git")
+               (commit (string-append "v" version))))
+         (sha256
+          (base32 "1dw6j7n6gsd2qa0p0rbsjxj00acxx3i9ca1qkgl0liy8lpnwkypl"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed
+       ;; in a nested call to ASDF/OPERATE:OPERATE unless identically
+       ;; to toplevel
+       '(#:tests? #f))
+      (inputs
+       `(("sbcl-ptester" ,sbcl-ptester)
+         ("sbcl-kmrcl" ,sbcl-kmrcl)))
+      (home-page "http://files.kpe.io/cl-base64/")
+      (synopsis
+       "Common Lisp package to encode and decode base64 with URI support")
+      (description
+       "This package provides highly optimized base64 encoding and decoding.
+Besides conversion to and from strings, integer conversions are supported.
+Encoding with Uniform Resource Identifiers is supported by using a modified
+encoding table that uses only URI-compatible characters.")
+      (license license:bsd-3))))
+
+(define-public cl-base64
+  (sbcl-package->cl-source-package sbcl-cl-base64))
+
+(define-public sbcl-chunga
+  (package
+    (name "sbcl-chunga")
+    (version "1.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/edicl/chunga/archive/v" version ".tar.gz"))
+       (sha256
+        (base32 "0ra17kyc9l7qbaw003ly111r1cbn4zixbfq1ydr9cxw10v30q1n7"))))
+    (build-system asdf-build-system/sbcl)
+    (inputs
+     `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+    (home-page "https://edicl.github.io/chunga/")
+    (synopsis "Portable chunked streams for Common Lisp")
+    (description
+     "Chunga implements streams capable of chunked encoding on demand as
+defined in RFC 2616.")
+    (license license:bsd-2)))
+
+(define-public cl-chunga
+  (sbcl-package->cl-source-package sbcl-chunga))
+
+(define-public sbcl-cl-who
+  (let ((version "1.1.4")
+        (commit "2c08caa4bafba720409af9171feeba3f32e86d32")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-who")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/edicl/cl-who.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0yjb6sr3yazm288m318kqvj9xk8rm9n1lpimgf65ymqv0i5agxsb"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+      (home-page "https://edicl.github.io/cl-who/")
+      (synopsis "Yet another Lisp markup language")
+      (description
+       "There are plenty of Lisp Markup Languages out there - every Lisp
+programmer seems to write at least one during his career - and CL-WHO (where
+WHO means \"with-html-output\" for want of a better acronym) is probably just
+as good or bad as the next one.")
+      (license license:bsd-2))))
+
+(define-public cl-cl-who
+  (sbcl-package->cl-source-package sbcl-cl-who))
+
+(define-public sbcl-chipz
+  (let ((version "0.8")
+        (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d")
+        (revision "1"))
+    (package
+      (name "sbcl-chipz")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/froydnj/chipz.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0plx4rs39zbs4gjk77h4a2q11zpy75fh9v8hnxrvsf8fnakajhwg"))))
+      (build-system asdf-build-system/sbcl)
+      (native-inputs
+       `(("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+      (home-page "http://method-combination.net/lisp/chipz/")
+      (synopsis
+       "Common Lisp library for decompressing deflate, zlib, gzip, and bzip2
+data")
+      (description
+       "DEFLATE data, defined in RFC1951, forms the core of popular
+compression formats such as zlib (RFC 1950) and gzip (RFC 1952).  As such,
+Chipz also provides for decompressing data in those formats as well.  BZIP2 is
+the format used by the popular compression tool bzip2.")
+      ;; The author describes it as "MIT-like"
+      (license license:expat))))
+
+(define-public cl-chipz
+  (sbcl-package->cl-source-package sbcl-chipz))
+
+(define-public sbcl-drakma
+  (let ((version "2.0.4")
+        (commit "7647c0ae842ff2058624e53979c7f297760c97a7")
+        (revision "1"))
+    (package
+      (name "sbcl-drakma")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/edicl/drakma.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1c4i9wakhj5pxfyyykxshdmv3180sbkrx6fcyynikmc0jd0rh84r"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("sbcl-puri" ,sbcl-puri)
+         ("sbcl-cl-base64" ,sbcl-cl-base64)
+         ("sbcl-chunga" ,sbcl-chunga)
+         ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+         ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+         ("sbcl-chipz" ,sbcl-chipz)
+         ("sbcl-usocket" ,sbcl-usocket)
+         ("sbcl-cl+ssl" ,sbcl-cl+ssl)))
+      (native-inputs
+       `(("sbcl-fiveam" ,sbcl-fiveam)))
+      (home-page "https://edicl.github.io/drakma/")
+      (synopsis "HTTP client written in Common Lisp")
+      (description
+       "Drakma is a full-featured HTTP client implemented in Common Lisp.  It
+knows how to handle HTTP/1.1 chunking, persistent connections, re-usable
+sockets, SSL, continuable uploads, file uploads, cookies, and more.")
+      (license license:bsd-2))))
+
+(define-public cl-drakma
+  (sbcl-package->cl-source-package sbcl-drakma))
+
+(define-public sbcl-hunchentoot
+  (package
+    (name "sbcl-hunchentoot")
+    (version "1.2.38")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/edicl/hunchentoot/archive/v"
+             version ".tar.gz"))
+       (sha256
+        (base32 "17z8rpd6b5w93jwrdwfwxjha617xnjqw8aq1hw2z76zp1fn8yrmh"))))
+    (build-system asdf-build-system/sbcl)
+    (native-inputs
+     `(("sbcl-cl-who" ,sbcl-cl-who)
+       ("sbcl-drakma" ,sbcl-drakma)))
+    (inputs
+     `(("sbcl-chunga" ,sbcl-chunga)
+       ("sbcl-cl-base64" ,sbcl-cl-base64)
+       ("sbcl-cl-fad" ,sbcl-cl-fad)
+       ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+       ("sbcl-flexi-streams" ,sbcl-flexi-streams)
+       ("sbcl-cl+ssl" ,sbcl-cl+ssl)
+       ("sbcl-md5" ,sbcl-md5)
+       ("sbcl-rfc2388" ,sbcl-rfc2388)
+       ("sbcl-trivial-backtrace" ,sbcl-trivial-backtrace)
+       ("sbcl-usocket" ,sbcl-usocket)))
+    (home-page "https://edicl.github.io/hunchentoot/")
+    (synopsis "Web server written in Common Lisp")
+    (description
+     "Hunchentoot is a web server written in Common Lisp and at the same
+time a toolkit for building dynamic websites.  As a stand-alone web server,
+Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
+connections (keep-alive), and SSL.")
+    (license license:bsd-2)))
+
+(define-public cl-hunchentoot
+  (sbcl-package->cl-source-package sbcl-hunchentoot))
+
+(define-public sbcl-trivial-types
+  (package
+    (name "sbcl-trivial-types")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/m2ym/trivial-types.git")
+             (commit "ee869f2b7504d8aa9a74403641a5b42b16f47d88")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1s4cp9bdlbn8447q7w7f1wkgwrbvfzp20mgs307l5pxvdslin341"))))
+    (build-system asdf-build-system/sbcl)
+    (home-page "https://github.com/m2ym/trivial-types")
+    (synopsis "Trivial type definitions for Common Lisp")
+    (description
+     "TRIVIAL-TYPES provides missing but important type definitions such as
+PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.")
+    (license license:llgpl)))
+
+(define-public cl-trivial-types
+  (sbcl-package->cl-source-package sbcl-trivial-types))
+
+(define-public sbcl-cl-syntax
+  (package
+    (name "sbcl-cl-syntax")
+    (version "0.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/m2ym/cl-syntax.git")
+             (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
+       (sha256
+        (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
+    (build-system asdf-build-system/sbcl)
+    (arguments
+     '(#:asd-file "cl-syntax.asd"
+       #:asd-system-name "cl-syntax"))
+    (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types)
+              ("sbcl-named-readtables" ,sbcl-named-readtables)))
+    (home-page "https://github.com/m2ym/cl-syntax")
+    (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
+    (description
+     "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.")
+    (license license:llgpl)))
+
+(define-public cl-syntax
+  (sbcl-package->cl-source-package sbcl-cl-syntax))
+
+(define-public sbcl-cl-annot
+  (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-annot")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/m2ym/cl-annot.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n"))))
+      (build-system asdf-build-system/sbcl)
+    (arguments
+     '(#:asd-file "cl-annot.asd"
+       #:asd-system-name "cl-annot"))
+      (inputs
+       `(("sbcl-alexandria" ,sbcl-alexandria)))
+      (home-page "https://github.com/m2ym/cl-annot")
+      (synopsis "Python-like Annotation Syntax for Common Lisp.")
+      (description
+       "@code{cl-annot} is an general annotation library for Common Lisp.")
+      (license license:llgpl))))
+
+(define-public cl-annot
+  (sbcl-package->cl-source-package sbcl-cl-annot))
+
+(define-public sbcl-cl-syntax-annot
+  (package
+    (name "sbcl-cl-syntax-annot")
+    (version "0.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/m2ym/cl-syntax.git")
+             (commit "03f0c329bbd55b8622c37161e6278366525e2ccc")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y"))))
+    (build-system asdf-build-system/sbcl)
+    (arguments
+     '(#:asd-file "cl-syntax-annot.asd"
+       #:asd-system-name "cl-syntax-annot"))
+    (inputs
+     `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+       ("sbcl-cl-annot" ,sbcl-cl-annot)))
+    (home-page "https://github.com/m2ym/cl-syntax")
+    (synopsis "Reader Syntax Coventions for Common Lisp and SLIME")
+    (description
+     "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and
+SLIME.")
+    (license license:llgpl)))
+
+(define-public cl-syntax-annot
+  (sbcl-package->cl-source-package sbcl-cl-syntax-annot))
+
+(define-public sbcl-cl-utilities
+  (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-utilities")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method url-fetch)
+         (uri
+          (string-append
+           "https://gitlab.common-lisp.net/cl-utilities/cl-utilities/-/"
+           "archive/" commit "/cl-utilities-" commit ".tar.gz"))
+         (sha256
+          (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:asd-file "cl-utilities.asd"
+         #:asd-system-name "cl-utilities"
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "rotate-byte.lisp"
+                 (("in-package :cl-utilities)" all)
+                  "in-package :cl-utilities)\n\n#+sbcl\n(require :sb-rotate-byte)")))))))
+      (home-page "http://common-lisp.net/project/cl-utilities")
+      (synopsis "A collection of semi-standard utilities")
+      (description
+       "On Cliki.net <http://www.cliki.net/Common%20Lisp%20Utilities>, there
+is a collection of Common Lisp Utilities, things that everybody writes since
+they're not part of the official standard.  There are some very useful things
+there; the only problems are that they aren't implemented as well as you'd
+like (some aren't implemented at all) and they aren't conveniently packaged
+and maintained.  It takes quite a bit of work to carefully implement utilities
+for common use, commented and documented, with error checking placed
+everywhere some dumb user might make a mistake.")
+      (license license:public-domain))))
+
+(define-public cl-utilities
+  (sbcl-package->cl-source-package sbcl-cl-utilities))
+
+(define-public sbcl-map-set
+  (let ((commit "7b4b545b68b8")
+        (revision "1"))
+    (package
+      (name "sbcl-map-set")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append
+               "https://bitbucket.org/tarballs_are_good/map-set/get/"
+               commit ".tar.gz"))
+         (sha256
+          (base32 "1sx5j5qdsy5fklspfammwb16kjrhkggdavm922a9q86jm5l0b239"))))
+      (build-system asdf-build-system/sbcl)
+      (home-page "https://bitbucket.org/tarballs_are_good/map-set")
+      (synopsis "Set-like data structure")
+      (description
+       "Implementation of a set-like data structure with constant time
+addition, removal, and random selection.")
+      (license license:bsd-3))))
+
+(define-public cl-map-set
+  (sbcl-package->cl-source-package sbcl-map-set))
+
+(define-public sbcl-quri
+  (let ((commit "76b75103f21ead092c9f715512fa82441ef61185")
+        (revision "1"))
+    (package
+      (name "sbcl-quri")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fukamachi/quri.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1ccbxsgzdibmzq33mmbmmz9vwl6l03xh6nbpsh1hkdvdcl7q0a60"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Tests fail with: Component QURI-ASD::QURI-TEST not found,
+       ;; required by #<SYSTEM "quri">. Why?
+       '(#:tests? #f))
+      (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+                       ("sbcl-prove" ,sbcl-prove)))
+      (inputs `(("sbcl-babel" ,sbcl-babel)
+                ("sbcl-split-sequence" ,sbcl-split-sequence)
+                ("sbcl-cl-utilities" ,sbcl-cl-utilities)
+                ("sbcl-alexandria" ,sbcl-alexandria)))
+      (home-page "https://github.com/fukamachi/quri")
+      (synopsis "Yet another URI library for Common Lisp")
+      (description
+       "QURI (pronounced \"Q-ree\") is yet another URI library for Common
+Lisp. It is intended to be a replacement of PURI.")
+      (license license:bsd-3))))
+
+(define-public cl-quri
+  (sbcl-package->cl-source-package sbcl-quri))
+
+(define-public sbcl-myway
+  (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7")
+        (revision "1"))
+    (package
+     (name "sbcl-myway")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/myway.git")
+             (commit commit)))
+       (sha256
+        (base32 "0briia9bk3lbr0frnx39d1qg6i38dm4j6z9w3yga3d40k6df4a90"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; Tests fail with: Component MYWAY-ASD::MYWAY-TEST not found, required
+      ;; by #<SYSTEM "myway">. Why?
+      '(#:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (inputs
+      `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
+        ("sbcl-quri" ,sbcl-quri)
+        ("sbcl-map-set" ,sbcl-map-set)))
+     (home-page "https://github.com/fukamachi/myway")
+     (synopsis "Sinatra-compatible URL routing library for Common Lisp")
+     (description "My Way is a Sinatra-compatible URL routing library.")
+     (license license:llgpl))))
+
+(define-public cl-myway
+  (sbcl-package->cl-source-package sbcl-myway))
+
+(define-public sbcl-xsubseq
+  (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b")
+        (revision "1"))
+    (package
+     (name "sbcl-xsubseq")
+     (version (git-version "0.0.1" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/xsubseq")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1xz79q0p2mclf3sqjiwf6izdpb6xrsr350bv4mlmdlm6rg5r99px"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; Tests fail with: Component XSUBSEQ-ASD::XSUBSEQ-TEST not found,
+      ;; required by #<SYSTEM "xsubseq">. Why?
+      '(#:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (home-page "https://github.com/fukamachi/xsubseq")
+     (synopsis "Efficient way to use \"subseq\"s in Common Lisp")
+     (description
+      "XSubseq provides functions to be able to handle \"subseq\"s more
+effieiently.")
+     (license license:bsd-2))))
+
+(define-public cl-xsubseq
+  (sbcl-package->cl-source-package sbcl-xsubseq))
+
+(define-public sbcl-smart-buffer
+  (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62")
+        (revision "1"))
+    (package
+      (name "sbcl-smart-buffer")
+      (version (git-version "0.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fukamachi/smart-buffer")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0qz1zzxx0wm5ff7gpgsq550a59p0qj594zfmm2rglj97dahj54l7"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Tests fail with: Component SMART-BUFFER-ASD::SMART-BUFFER-TEST not
+       ;; found, required by #<SYSTEM "smart-buffer">. Why?
+       `(#:tests? #f))
+      (native-inputs
+       `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+         ("sbcl-prove" ,sbcl-prove)))
+      (inputs
+       `(("sbcl-xsubseq" ,sbcl-xsubseq)
+         ("sbcl-flexi-streams" ,sbcl-flexi-streams)))
+      (home-page "https://github.com/fukamachi/smart-buffer")
+      (synopsis "Smart octets buffer")
+      (description
+       "Smart-buffer provides an output buffer which changes the destination
+depending on content size.")
+      (license license:bsd-3))))
+
+(define-public cl-smart-buffer
+  (sbcl-package->cl-source-package sbcl-smart-buffer))
+
+(define-public sbcl-fast-http
+  (let ((commit "f9e7597191bae380503e20724fd493a24d024935")
+        (revision "1"))
+    (package
+      (name "sbcl-fast-http")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fukamachi/fast-http")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0qdmwv2zm0sizxdb8nnclgwl0nfjcbjaimbakavikijw7lr9b4jp"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Tests fail with: Component FAST-HTTP-ASD::FAST-HTTP-TEST not found,
+       ;; required by #<SYSTEM "fast-http">. Why?
+       `(#:tests? #f))
+      (native-inputs
+       `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+         ("sbcl-prove" ,sbcl-prove)))
+      (inputs
+       `(("sbcl-alexandria" ,sbcl-alexandria)
+         ("sbcl-proc-parse" ,sbcl-proc-parse)
+         ("sbcl-xsubseq" ,sbcl-xsubseq)
+         ("sbcl-smart-buffer" ,sbcl-smart-buffer)
+         ("sbcl-cl-utilities" ,sbcl-cl-utilities)))
+      (home-page "https://github.com/fukamachi/fast-http")
+      (synopsis "HTTP request/response parser for Common Lisp")
+      (description
+       "@code{fast-http} is a HTTP request/response protocol parser for Common
+Lisp.")
+      ;; Author specified the MIT license
+      (license license:expat))))
+
+(define-public cl-fast-http
+  (sbcl-package->cl-source-package sbcl-fast-http))
+
+(define-public sbcl-static-vectors
+  (let ((commit "0681eac1f49370cde03e64b077251e8abf47d702")
+        (revision "1"))
+    (package
+     (name "sbcl-static-vectors")
+     (version (git-version "1.8.3" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/sionescu/static-vectors.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "138nlsq14hv8785ycjm6jw3i6ablhq8vcwys7q09y80arcgrg6r3"))))
+     (native-inputs
+      `(("sbcl-fiveam" ,sbcl-fiveam)))
+     (inputs
+      `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
+        ("sbcl-cffi" ,sbcl-cffi)))
+     (build-system asdf-build-system/sbcl)
+     (home-page "http://common-lisp.net/projects/iolib/")
+     (synopsis "Allocate SIMPLE-ARRAYs in static memory")
+     (description
+      "With @code{static-vectors}, you can create vectors allocated in static
+memory.")
+     (license license:expat))))
+
+(define-public cl-static-vectors
+  (sbcl-package->cl-source-package sbcl-static-vectors))
+
+(define-public sbcl-marshal
+  (let ((commit "eff1b15f2b0af2f26f71ad6a4dd5c4beab9299ec")
+        (revision "1"))
+    (package
+     (name "sbcl-marshal")
+     (version (git-version "1.3.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/wlbr/cl-marshal.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "08qs6fhk38xpkkjkpcj92mxx0lgy4ygrbbzrmnivdx281syr0gwh"))))
+     (build-system asdf-build-system/sbcl)
+     (home-page "https://github.com/wlbr/cl-marshal")
+     (synopsis "Simple (de)serialization of Lisp datastructures")
+     (description
+      "Simple and fast marshalling of Lisp datastructures.  Convert any object
+into a string representation, put it on a stream an revive it from there.
+Only minimal changes required to make your CLOS objects serializable.")
+     (license license:expat))))
+
+(define-public cl-marshal
+  (sbcl-package->cl-source-package sbcl-marshal))
+
+(define-public sbcl-checkl
+  (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9")
+        (revision "1"))
+    (package
+      (name "sbcl-checkl")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/rpav/CheckL.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; Error while trying to load definition for system checkl-test from
+       ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP
+       ;; is undefined.
+       '(#:tests? #f))
+      (native-inputs
+       `(("sbcl-fiveam" ,sbcl-fiveam)))
+      (inputs
+       `(("sbcl-marshal" ,sbcl-marshal)))
+      (home-page "https://github.com/rpav/CheckL/")
+      (synopsis "Dynamic testing for Common Lisp")
+      (description
+       "CheckL lets you write tests dynamically, it checks resulting values
+against the last run.")
+      ;; The author specifies both LLGPL and "BSD", but the "BSD" license
+      ;; isn't specified anywhere, so I don't know which kind.  LLGPL is the
+      ;; stronger of the two and so I think only listing this should suffice.
+      (license license:llgpl))))
+
+(define-public cl-checkl
+  (sbcl-package->cl-source-package sbcl-checkl))
+
+(define-public sbcl-fast-io
+  (let ((commit "dc3a71db7e9b756a88781ae9c342fe9d4bbab51c")
+        (revision "1"))
+    (package
+     (name "sbcl-fast-io")
+     (version (git-version "1.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rpav/fast-io.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1jsp6xvi26ln6fdy5j5zi05xvan8jsqdhisv552dy6xg6ws8i1yq"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; Error while trying to load definition for system fast-io-test from
+      ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP
+      ;; is undefined.
+      '(#:tests? #f))
+     (native-inputs
+      `(("sbcl-fiveam" ,sbcl-fiveam)
+        ("sbcl-checkl" ,sbcl-checkl)))
+     (inputs
+      `(("sbcl-alexandria" ,sbcl-alexandria)
+        ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)
+        ("sbcl-static-vectors" ,sbcl-static-vectors)))
+     (home-page "https://github.com/rpav/fast-io")
+     (synopsis "Fast octet-vector/stream I/O for Common Lisp")
+     (description
+      "Fast-io is about improving performance to octet-vectors and octet
+streams (though primarily the former, while wrapping the latter).")
+     ;; Author specifies this as NewBSD which is an alias
+     (license license:bsd-3))))
+
+(define-public cl-fast-io
+  (sbcl-package->cl-source-package sbcl-fast-io))
+
+(define-public sbcl-jonathan
+  (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300")
+        (revision "1"))
+    (package
+     (name "sbcl-jonathan")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/Rudolph-Miller/jonathan.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "14x4iwz3mbag5jzzzr4sb6ai0m9r4q4kyypbq32jmsk2dx1hi807"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; Tests fail with: Component JONATHAN-ASD::JONATHAN-TEST not found,
+      ;; required by #<SYSTEM "jonathan">. Why?
+      `(#:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (inputs
+      `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+        ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
+        ("sbcl-fast-io" ,sbcl-fast-io)
+        ("sbcl-proc-parse" ,sbcl-proc-parse)
+        ("sbcl-cl-ppcre" ,sbcl-cl-ppcre)))
+     (home-page "http://rudolph-miller.github.io/jonathan/overview.html")
+     (synopsis "JSON encoder and decoder")
+     (description
+      "High performance JSON encoder and decoder.  Currently support: SBCL,
+CCL.")
+     ;; Author specifies the MIT license
+     (license license:expat))))
+
+(define-public cl-jonathan
+  (sbcl-package->cl-source-package sbcl-jonathan))
+
+(define-public sbcl-http-body
+  (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73")
+        (revision "1"))
+    (package
+     (name "sbcl-http-body")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/http-body")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1jd06snjvxcprhapgfq8sx0y5lrldkvhf206ix6d5a23dd6zcmr0"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; Tests fail with: Component HTTP-BODY-ASD::HTTP-BODY-TEST not
+      ;; found, required by #<SYSTEM "http-body">. Why?
+      `(#:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (inputs
+      `(("sbcl-fast-http" ,sbcl-fast-http)
+        ("sbcl-jonathan" ,sbcl-jonathan)
+        ("sbcl-quri" ,sbcl-quri)))
+     (home-page "https://github.com/fukamachi/http-body")
+     (synopsis "HTTP POST data parser")
+     (description
+      "HTTP-Body parses HTTP POST data and returns POST parameters.  It
+supports application/x-www-form-urlencoded, application/json, and
+multipart/form-data.")
+     (license license:bsd-2))))
+
+(define-public cl-http-body
+  (sbcl-package->cl-source-package sbcl-http-body))
+
+(define-public sbcl-circular-streams
+  (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df")
+        (revision "1"))
+    (package
+     (name "sbcl-circular-streams")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/circular-streams")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1wpw6d5cciyqcf92f7mvihak52pd5s47kk4qq6f0r2z2as68p5rs"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; The tests depend on cl-test-more which is now prove. Prove
+      ;; tests aren't working for some reason.
+      `(#:tests? #f))
+     (inputs
+      `(("sbcl-fast-io" ,sbcl-fast-io)
+        ("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+     (home-page "https://github.com/fukamachi/circular-streams")
+     (synopsis "Circularly readable streams for Common Lisp")
+     (description
+      "Circular-Streams allows you to read streams circularly by wrapping real
+streams. Once you reach end-of-file of a stream, it's file position will be
+reset to 0 and you're able to read it again.")
+     (license license:llgpl))))
+
+(define-public cl-circular-streams
+  (sbcl-package->cl-source-package sbcl-circular-streams))
+
+(define-public sbcl-lack-request
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-request")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-request.asd"
+        #:asd-system-name "lack-request"
+        #:test-asd-file "t-lack-request.asd"
+        ;; XXX: Component :CLACK-TEST not found
+        #:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (inputs
+      `(("sbcl-quri" ,sbcl-quri)
+        ("sbcl-http-body" ,sbcl-http-body)
+        ("sbcl-circular-streams" ,sbcl-circular-streams)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-request
+  (sbcl-package->cl-source-package sbcl-lack-request))
+
+(define-public sbcl-local-time
+  (let ((commit "beac054eef428552b63d4ae7820c32ffef9a3015")
+        (revision "1"))
+    (package
+     (name "sbcl-local-time")
+     (version (git-version "1.0.6" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/dlowe-net/local-time.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0xhkmgxh41dg2wwlsp0h2l41jp144xn4gpxhh0lna6kh0560w2cc"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      ;; TODO: Component :STEFIL not found, required by #<SYSTEM
+      ;; "local-time/test">
+      '(#:tests? #f))
+     (native-inputs
+      `(("stefil" ,sbcl-hu.dwim.stefil)))
+     (inputs
+      `(("sbcl-cl-fad" ,sbcl-cl-fad)))
+     (home-page "https://common-lisp.net/project/local-time/")
+     (synopsis "Time manipulation library for Common Lisp")
+     (description
+      "The LOCAL-TIME library is a Common Lisp library for the manipulation of
+dates and times.  It is based almost entirely upon Erik Naggum's paper \"The
+Long Painful History of Time\".")
+     (license license:expat))))
+
+(define-public cl-local-time
+  (sbcl-package->cl-source-package sbcl-local-time))
+
+(define-public sbcl-lack-response
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-response")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-response.asd"
+        #:asd-system-name "lack-response"
+        ;; XXX: no tests for lack-response.
+        #:tests? #f))
+     (native-inputs
+      `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+        ("sbcl-prove" ,sbcl-prove)))
+     (inputs
+      `(("sbcl-quri" ,sbcl-quri)
+        ("sbcl-http-body" ,sbcl-http-body)
+        ("sbcl-circular-streams" ,sbcl-circular-streams)
+        ("sbcl-local-time" ,sbcl-local-time)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-response
+  (sbcl-package->cl-source-package sbcl-lack-response))
+
+(define-public sbcl-lack-component
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-component")
+     (version (git-version "0.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-component.asd"
+        #:asd-system-name "lack-component"
+        #:test-asd-file "t-lack-component.asd"
+        ;; XXX: Component :LACK-TEST not found
+        #:tests? #f))
+     (native-inputs
+      `(("prove-asdf" ,sbcl-prove-asdf)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-component
+  (sbcl-package->cl-source-package sbcl-lack-component))
+
+(define-public sbcl-lack-util
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-util")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-util.asd"
+        #:asd-system-name "lack-util"
+        #:test-asd-file "t-lack-util.asd"
+        ;; XXX: Component :LACK-TEST not found
+        #:tests? #f))
+     (native-inputs
+      `(("prove-asdf" ,sbcl-prove-asdf)))
+     (inputs
+      `(("sbcl-ironclad" ,sbcl-ironclad)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-util
+  (sbcl-package->cl-source-package sbcl-lack-util))
+
+(define-public sbcl-lack-middleware-backtrace
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-middleware-backtrace")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-middleware-backtrace.asd"
+        #:asd-system-name "lack-middleware-backtrace"
+        #:test-asd-file "t-lack-middleware-backtrace.asd"
+        ;; XXX: Component :LACK not found
+        #:tests? #f))
+     (native-inputs
+      `(("prove-asdf" ,sbcl-prove-asdf)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-middleware-backtrace
+  (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace))
+
+(define-public sbcl-trivial-mimes
+  (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab")
+        (revision "1"))
+    (package
+      (name "sbcl-trivial-mimes")
+      (version (git-version "1.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Shinmera/trivial-mimes.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after
+               'unpack 'fix-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ((anchor "#p\"/etc/mime.types\""))
+                 (substitute* "mime-types.lisp"
+                   ((anchor all)
+                    (string-append
+                     anchor "\n"
+                     "(asdf:system-relative-pathname :trivial-mimes \"../../share/common-lisp/sbcl-source/trivial-mimes/mime.types\")")))))))))
+      (native-inputs
+       `(("stefil" ,sbcl-hu.dwim.stefil)))
+      (inputs
+       `(("sbcl-cl-fad" ,sbcl-cl-fad)))
+      (home-page "http://shinmera.github.io/trivial-mimes/")
+      (synopsis "Tiny Common Lisp library to detect mime types in files")
+      (description
+       "This is a teensy library that provides some functions to determine the
+mime-type of a file.")
+      (license license:artistic2.0))))
+
+(define-public cl-trivial-mimes
+  (sbcl-package->cl-source-package sbcl-trivial-mimes))
+
+(define-public sbcl-lack-middleware-static
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack-middleware-static")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:asd-file "lack-middleware-static.asd"
+        #:asd-system-name "lack-middleware-static"
+        #:test-asd-file "t-lack-middleware-static.asd"
+        ;; XXX: Component :LACK not found
+        #:tests? #f))
+     (native-inputs
+      `(("prove-asdf" ,sbcl-prove-asdf)))
+     (inputs
+      `(("sbcl-ironclad" ,sbcl-ironclad)
+        ("sbcl-trivial-mimes" ,sbcl-trivial-mimes)
+        ("sbcl-local-time" ,sbcl-local-time)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack-middleware-static
+  (sbcl-package->cl-source-package sbcl-lack-middleware-static))
+
+(define-public sbcl-lack
+  (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b")
+        (revision "1"))
+    (package
+     (name "sbcl-lack")
+     (version (git-version "0.1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/lack.git")
+             (commit commit)))
+       (sha256
+        (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85"))))
+     (build-system asdf-build-system/sbcl)
+     (arguments
+      '(#:test-asd-file "t-lack.asd"
+        ;; XXX: Component :CLACK not found
+        #:tests? #f))
+     (native-inputs
+      `(("prove-asdf" ,sbcl-prove-asdf)))
+     (inputs
+      `(("sbcl-lack-component" ,sbcl-lack-component)
+        ("sbcl-lack-util" ,sbcl-lack-util)))
+     (home-page "https://github.com/fukamachi/lack")
+     (synopsis "Lack, the core of Clack")
+     (description
+      "Lack is a Common Lisp library which allows web applications to be
+constructed of modular components.  It was originally a part of Clack, however
+it's going to be rewritten as an individual project since Clack v2 with
+performance and simplicity in mind.")
+     (license license:llgpl))))
+
+(define-public cl-lack
+  (sbcl-package->cl-source-package sbcl-lack))
+
+(define-public sbcl-ningle
+  (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad")
+        (revision "1"))
+    (package
+      (name "sbcl-ningle")
+      (version (git-version "0.3.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/fukamachi/ningle.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1bsl8cnxhacb8p92z9n89vhk1ikmij5zavk0m2zvmj7iqm79jzgw"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       ;; TODO: pull in clack-test
+       '(#:tests? #f
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'cleanup-files)
+           (delete 'cleanup)
+           (add-before 'cleanup 'combine-fasls
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib (string-append out "/lib/sbcl"))
+                      (ningle-path (string-append lib "/ningle"))
+                      (fasl-files (find-files out "\\.fasl$")))
+                 (mkdir-p ningle-path)
+                 (let ((fasl-path (lambda (name)
+                                    (string-append ningle-path
+                                                   "/"
+                                                   (basename name)
+                                                   "--system.fasl"))))
+                   (for-each (lambda (file)
+                               (rename-file file
+                                            (fasl-path
+                                             (basename file ".fasl"))))
+                             fasl-files))
+                 fasl-files)
+               #t)))))
+      (native-inputs
+       `(("sbcl-prove-asdf" ,sbcl-prove-asdf)
+         ("sbcl-prove" ,sbcl-prove)))
+      (inputs
+       `(("sbcl-cl-syntax" ,sbcl-cl-syntax)
+         ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot)
+         ("sbcl-myway" ,sbcl-myway)
+         ("sbcl-lack-request" ,sbcl-lack-request)
+         ("sbcl-lack-response" ,sbcl-lack-response)
+         ("sbcl-lack-component" ,sbcl-lack-component)
+         ("sbcl-alexandria" ,sbcl-alexandria)
+         ("sbcl-babel" ,sbcl-babel)))
+      (home-page "http://8arrow.org/ningle/")
+      (synopsis "Super micro framework for Common Lisp")
+      (description
+       "Ningle is a lightweight web application framework for Common Lisp.")
+      (license license:llgpl))))
+
+(define-public cl-ningle
+  (sbcl-package->cl-source-package sbcl-ningle))
+
+(define-public sbcl-clack
+  (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0")
+        (revision "1"))
+    (package
+     (name "sbcl-clack")
+     (version (git-version "2.0.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/fukamachi/clack.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0"))))
+     (build-system asdf-build-system/sbcl)
+     (inputs
+      `(("sbcl-lack" ,sbcl-lack)
+        ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace)
+        ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads)))
+     (home-page "https://github.com/fukamachi/clack")
+     (synopsis "Web Application Environment for Common Lisp")
+     (description
+      "Clack is a web application environment for Common Lisp inspired by
+Python's WSGI and Ruby's Rack.")
+     (license license:llgpl))))
+
+(define-public cl-clack
+  (sbcl-package->cl-source-package sbcl-clack))
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index f02bb41cda..6d157e6ec3 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -46,7 +47,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
@@ -56,6 +56,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages messaging)
   #:use-module (gnu packages nettle)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages photo)
@@ -73,7 +74,7 @@
 (define-public mate-common
   (package
     (name "mate-common")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -82,7 +83,7 @@
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1005laf3z1h8qczm7pmwr40r842665cv6ykhjg7r93vldra48z6p"))))
+         "11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z"))))
     (build-system gnu-build-system)
     (home-page "https://mate-desktop.org/")
     (synopsis "Common files for development of MATE packages")
@@ -94,7 +95,7 @@ MATE applications.")
 (define-public mate-icon-theme
   (package
     (name "mate-icon-theme")
-    (version "1.18.2")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/"
@@ -102,7 +103,7 @@ MATE applications.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0si3li3kza7s45zhasjvqn5f85zpkn0x8i4kq1dlnqvjjqzkg4ch"))))
+                "090vfxpn1b1wwvkilv1j3cx4swdm4z0s7xyvhvqhdzj58zsf2000"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -117,7 +118,7 @@ MATE applications.")
 (define-public mate-icon-theme-faenza
   (package
     (name "mate-icon-theme-faenza")
-    (version "1.18.1")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/"
@@ -125,7 +126,7 @@ MATE applications.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0vc3wg9l5yrxm0xmligz4lw2g3nqj1dz8fwv90xvym8pbjds2849"))))
+                "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -155,7 +156,7 @@ from Mint-X-F and Faenza-Fresh icon packs.")
 (define-public mate-themes
   (package
     (name "mate-themes")
-    (version "3.22.16")
+    (version "3.22.19")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/themes/"
@@ -163,7 +164,7 @@ from Mint-X-F and Faenza-Fresh icon packs.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1k8qp2arjv4vj8kyjhjgyj5h46jy0darlfh48l5h25623z1firdj"))))
+                "1ycb8b8r0s8d1h1477135mynr53s5781gdb2ap8xlvj2g58492wq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -183,7 +184,7 @@ themes for both gtk+-2 and gtk+-3.")
 (define-public mate-desktop
   (package
     (name "mate-desktop")
-    (version "1.18.0")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/"
@@ -191,7 +192,7 @@ themes for both gtk+-2 and gtk+-3.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "12iv2y4dan962fs7vkkxbjkp77pbvjnwfa43ggr0zkdsc3ydjbbg"))))
+                "09gn840p6qds21kxab4pidjd53g76s76i7178fdibrz462mda217"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -203,6 +204,7 @@ themes for both gtk+-2 and gtk+-3.")
     (inputs
      `(("gtk+" ,gtk+)
        ("libxrandr" ,libxrandr)
+       ("iso-codes" ,iso-codes)
        ("startup-notification" ,startup-notification)))
     (propagated-inputs
      `(("dconf" ,dconf))) ; mate-desktop-2.0.pc
@@ -216,7 +218,7 @@ desktop and the mate-about program.")
 (define-public libmateweather
   (package
     (name "libmateweather")
-    (version "1.18.1")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/"
@@ -224,7 +226,7 @@ desktop and the mate-about program.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0z6vfh42fv9rqjrraqfpf6h9nd9h662bxy3l3r48j19xvxrwmx3a"))))
+                "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -262,7 +264,7 @@ the MATE desktop environment.")
 (define-public mate-terminal
   (package
     (name "mate-terminal")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -271,7 +273,7 @@ the MATE desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1zihm609d2d9cw53ry385whshjl1dnkifpk41g1ddm9f58hv4da1"))))
+         "16r492s34la2fs2cj1xr0r93wkjglwy77jyrc66i2ahs9gnivj4g"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -303,7 +305,7 @@ configurations (profiles).")
 (define-public mate-session-manager
   (package
     (name "mate-session-manager")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -312,7 +314,7 @@ configurations (profiles).")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0i0xq6041x2qmb26x9bawx0qpfkgjn6x9w3phnm9s7rc4s0z20ll"))))
+         "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list "--enable-elogind"
@@ -336,7 +338,20 @@ configurations (profiles).")
                (("#ifdef HAVE_SYSTEMD") "#if 0"))
              (substitute* "mate-session/gsm-autostart-app.c"
                (("#ifdef HAVE_SYSTEMD") "#if 0"))
-             #t)))))
+             #t))
+         (add-after 'install 'update-xsession-dot-desktop
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Record the absolute file name of 'mate-session' in the
+             ;; '.desktop' file.
+             (let* ((out (assoc-ref outputs "out"))
+                    (xsession (string-append
+                               out "/share/xsessions/mate.desktop")))
+               (substitute* xsession
+                 (("^Exec=.*$")
+                  (string-append "Exec=" out "/bin/mate-session\n"))
+                 (("^TryExec=.*$")
+                  (string-append "Exec=" out "/bin/mate-session\n")))
+               #t))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("intltool" ,intltool)
@@ -358,7 +373,7 @@ configuration program to choose applications starting on login.")
 (define-public mate-settings-daemon
   (package
     (name "mate-settings-daemon")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -367,7 +382,7 @@ configuration program to choose applications starting on login.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "07b2jkxqv07njdrgkdck93d872p6lch1lrvi7ydnpicspg3rfid6"))))
+         "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -401,7 +416,7 @@ configuration program to choose applications starting on login.")
 (define-public libmatemixer
   (package
     (name "libmatemixer")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -410,7 +425,7 @@ configuration program to choose applications starting on login.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "09vyxnlnalws318gsafdfi5c6jwpp92pbafn1ddlqqds23ihk4mr"))))
+         "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -431,7 +446,7 @@ sound systems.")
 (define-public libmatekbd
   (package
     (name "libmatekbd")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -440,7 +455,7 @@ sound systems.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "030bl18qbjm7l92bp1bhs7v82bp8j3mv7c1j1a4gd89iz4611pq3"))))
+         "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -463,7 +478,7 @@ MATE desktop environment.")
 (define-public mate-menus
   (package
     (name "mate-menus")
-    (version "1.18.0")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://pub.mate-desktop.org/releases/"
@@ -471,7 +486,7 @@ MATE desktop environment.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "05kyr37xqv6hm1rlvnqd5ng0x1n883brqynkirkk5drl56axnz7h"))))
+                "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -504,7 +519,7 @@ assorted menu related utility programs.")
 (define-public mate-applets
   (package
     (name "mate-applets")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -513,7 +528,7 @@ assorted menu related utility programs.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1nplr8i1mxbxd7pqhcy8j69v25nsp5dk9fq7ffrmjmp39lrf3fh5"))))
+         "0f5ym6z7awi0kw6i1sdkj2qly88sl692j5r1zhklihyz1z9a6j0h"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -578,7 +593,7 @@ Interactive Weather Information Network (IWIN).
 (define-public mate-media
   (package
     (name "mate-media")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -587,7 +602,7 @@ Interactive Weather Information Network (IWIN).
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1l0j71d07898wb6ily09sj1xczwrmcw13wyhxwns7sxw592nwi04"))))
+         "0jrxbz00vjas0yp3ixvyzfsdby2ac3p3bds9yd7q1437mmhf71mj"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -615,7 +630,7 @@ mate-volume-control, a MATE volume control application and applet.")
 (define-public mate-panel
   (package
     (name "mate-panel")
-    (version "1.18.4")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -624,7 +639,7 @@ mate-volume-control, a MATE volume control application and applet.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1n565ff1n7jrfx223i3cl3m69wjda506nvbn8gra7m1jwdfzpbw1"))))
+         "17l4ryy71bkszr6shm9dm31zcsd7m0digi1mmvdlib5hqzvc7li7"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags
@@ -689,7 +704,7 @@ infamous 'Wanda the Fish'.")
 (define-public atril
   (package
     (name "atril")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -698,13 +713,12 @@ infamous 'Wanda the Fish'.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1wl332v80c0nzz7nw36d1pfmbiibvl3l0i4d25ihg6mg9wbc0145"))))
+         "1xd49j4qwrlg2nh2zvspf91yk033dp8a58dy9azqg2yz4bcvywxb"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list (string-append "--with-openjpeg="
                                               (assoc-ref %build-inputs "openjpeg"))
                                "--enable-introspection"
-                               "--with-gtk=3.0"
                                "--disable-schemas-compile"
                                ;; FIXME: Enable build of Caja extensions.
                                "--disable-caja")
@@ -794,7 +808,7 @@ infamous 'Wanda the Fish'.")
 (define-public caja
   (package
     (name "caja")
-    (version "1.18.3")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -803,7 +817,7 @@ infamous 'Wanda the Fish'.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0mljqcx7k8p27854zm7qzzn8ca6hs7hva9p43hp4p507z52caqmm"))))
+         "14x9n9q7vip5zp4mdgccj1p1dm4xn429g0bjw2v8iz7zmjb7vcgl"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--disable-update-mimedb")
@@ -853,7 +867,7 @@ icons on the MATE desktop.  It works on local and remote file systems.")
 (define-public caja-extensions
   (package
     (name "caja-extensions")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -862,7 +876,7 @@ icons on the MATE desktop.  It works on local and remote file systems.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0hgala7zkfsa60jflq3s4n9yd11dhfdcla40l83cmgc3r1az7cmw"))))
+         "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list "--enable-sendto"
@@ -908,7 +922,7 @@ icons on the MATE desktop.  It works on local and remote file systems.")
 (define-public mate-control-center
   (package
     (name "mate-control-center")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -917,7 +931,7 @@ icons on the MATE desktop.  It works on local and remote file systems.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0flnn0h8f5aqyccwrlv7qxchvr3kqmlfdga6wq28d55zkpv5m7dl"))))
+         "06wpfsxsiv7w3dl7p395r5vcxqbjlllydqbnvbr6yn0lrac15i71"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -968,7 +982,7 @@ of various aspects of your desktop.")
 (define-public marco
   (package
     (name "marco")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -977,7 +991,7 @@ of various aspects of your desktop.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0lwbp9wyd66hl5d7g272l8g3k1pb9s4s2p9fb04750a58w87d8k5"))))
+         "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -1019,7 +1033,7 @@ for use with MATE or as a standalone window manager.")
 (define-public mate-user-guide
   (package
     (name "mate-user-guide")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1028,7 +1042,7 @@ for use with MATE or as a standalone window manager.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0f3b46r9a3cywm7rpj08xlkfnlfr9db58xfcpix8i33qp50fxqmb"))))
+         "0ckn7h7l0qdgdx440dwx1h8i601s22sxlf5a7179hfirk9016j0z"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1059,7 +1073,7 @@ sessions, panels, menus, file management, and preferences.")
 (define-public mate-calc
   (package
     (name "mate-calc")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1068,7 +1082,7 @@ sessions, panels, menus, file management, and preferences.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0qfs6kx2nymbn6j3mnzgvk8p54ghc78jslsf4wjqsdq021qyl0ly"))))
+         "1njk6v7z3969ikvcrabr1lw5f5572vb14w064zm3mydj8cc5inlr"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -1091,7 +1105,7 @@ sessions, panels, menus, file management, and preferences.")
 (define-public mate-backgrounds
   (package
     (name "mate-backgrounds")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1100,7 +1114,7 @@ sessions, panels, menus, file management, and preferences.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "06q8ksjisijps2wn959arywsimhzd3j35mqkr048c26ck24d60zi"))))
+         "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("intltool" ,intltool)))
@@ -1114,7 +1128,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public mate-netbook
   (package
     (name "mate-netbook")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1123,7 +1137,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0zj4x9qis8dw0irxzb4va1189k8bqbvymxq3h7phnjwvr1m983gf"))))
+         "17p1wv9bcr3kvlahnxmxj786vka86nysi90x5xci6ilwyjlaxh0l"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -1156,7 +1170,7 @@ Re-decorates windows on un-maximise.
 (define-public mate-screensaver
   (package
     (name "mate-screensaver")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1165,7 +1179,7 @@ Re-decorates windows on un-maximise.
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0dfi10faf1fnvrm7c7wnfqg35ygq09ws1vjyv8394jlf0nn39g9j"))))
+         "17fxyccsc410wbyxmds1sm7gjqbj6z46x5cjk1791hfzf0sh82sy"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags
@@ -1228,7 +1242,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public mate-utils
   (package
     (name "mate-utils")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1237,7 +1251,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0wr395dqfigj19ps0d76ycgwfljl9xxgs1a1g5wx6kcz5mvhzn5v"))))
+         "0kz95hicjksgkwaj83fdp2rnaygfgjbj0jsnwy4n0lj5q90j7r28"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -1281,7 +1295,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public eom
   (package
     (name "eom")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1290,7 +1304,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "00ns7g7qykakc89lijrw2vwy9x9ijqiyvmnd4sw0j6py90zs8m87"))))
+         "093vbip848bp9y603yasbrg1bcp68m64hma7zhi5m37x2r103r6l"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -1332,7 +1346,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public engrampa
   (package
     (name "engrampa")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1341,7 +1355,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0d98zhqqc7qdnxcf0195kd04xmhijc0w2qrn6q61zd0daiswnv98"))))
+         "16yjplfl2sqa7n6404hjn0vwkh0xkdch73q7n5czynihmh3azc7p"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags (list "--disable-schemas-compile"
@@ -1386,7 +1400,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public pluma
   (package
     (name "pluma")
-    (version "1.18.2")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1395,7 +1409,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1z0938yiygxipj2a77n9dv8v4253snrc5gbbnarcnim9xba2j3zz"))))
+         "07rr5asdjr9slmaijp4m8v9vxscihvm36mfrwlp3lv12kry42a05"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(; Tests can not succeed.
@@ -1437,7 +1451,7 @@ can be used as backgrounds in the MATE Desktop environment.")
 (define-public mate-system-monitor
   (package
     (name "mate-system-monitor")
-    (version "1.18.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1446,7 +1460,7 @@ can be used as backgrounds in the MATE Desktop environment.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1wcvrl4lfnjkhywb311p29prf1qiab6iynb6q1fgfsl6za8hsz48"))))
+         "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -1478,7 +1492,7 @@ MATE Desktop to monitor your system resources and usage.")
 (define-public mate-polkit
   (package
     (name "mate-polkit")
-    (version "1.18.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
@@ -1487,7 +1501,7 @@ MATE Desktop to monitor your system resources and usage.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "15vf2hnyjg8zsw3iiwjwi497yygkmvpnn6w1hik7dfw4a621w0gc"))))
+         "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0"))))
     (build-system glib-or-gtk-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7370db5883..90fdb468f9 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1353,6 +1353,38 @@ large-scale nonlinear optimization.  It provides C++, C, and Fortran
 interfaces.")
     (license license:epl1.0)))
 
+(define-public clp
+  (package
+    (name "clp")
+    (version "1.17.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.coin-or.org/download/source/"
+                                  "Clp/Clp-" version ".tgz"))
+              (sha256
+               (base32
+                "1wdg820g3iikf9344ijwsc8sy6c0m6im42bzzizm6rlmkvnmxhk9"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Make sure we don't use the bundled software.
+               '(begin
+                  (delete-file-recursively "ThirdParty")
+                  #t))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gfortran" ,gfortran)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("openblas" ,openblas)))
+    (home-page "https://www.coin-or.org")
+    (synopsis "Linear programming solver")
+    (description
+     "CLP is a high quality linear programming solver.  Its main strengths are
+its dual and primal Simplex algorithms.  It also has a barrier algorithm for
+linear and quadratic objectives.  There are limited facilities for nonlinear
+and quadratic objectives using the Simplex algorithm.")
+    (license license:epl1.0)))
+
 (define-public ceres
   (package
     (name "ceres-solver")
@@ -2818,7 +2850,7 @@ point numbers.")
 (define-public wxmaxima
   (package
     (name "wxmaxima")
-    (version "19.01.3")
+    (version "19.03.1")
     (source
      (origin
        (method git-fetch)
@@ -2828,7 +2860,7 @@ point numbers.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1vwahx3zxkn3qlv4z0fm7v8wh0wspvs026alrh7ff7s0c2dcy95x"))))
+         "1qkf4jg86xnn3wk3782ffmfz12axb92dkjagcz3ffzw2wi1rclml"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)))
@@ -3366,7 +3398,7 @@ Failure to do so will result in a library with poor performance.")
 (define-public glm
   (package
     (name "glm")
-    (version "0.9.9.4")
+    (version "0.9.9.5")
     (source
      (origin
        (method url-fetch)
@@ -3374,7 +3406,7 @@ Failure to do so will result in a library with poor performance.")
                            version  "/glm-" version ".zip"))
        (sha256
         (base32
-         "17vxbqzy4pxciq5i39bgpxz54f7ifqqmcqwwq7m6xfgikwqqqawp"))))
+         "1vmg7hb4xvsa77zpbwiw6lqc7pyaj56dihx6xriny5b9rrh4iqsg"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("unzip" ,unzip)))
@@ -4829,3 +4861,54 @@ implemented as callable objects, and bases of finite element spaces.")
 built on top of DUNE, the Distributed and Unified Numerics Environment.")
     ;; Either GPL version 2 with "runtime exception" or LGPLv3+.
     (license (list license:lgpl3+ license:gpl2))))
+
+(define-public mlucas
+  (package
+    (name "mlucas")
+    (version "18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://mersenneforum.org/mayer/src/C/mlucas_v" version ".txz"))
+       (sha256
+        (base32
+         "1ax12qj9lyvnx4vs3gx7l8r3wx5gjbsdswp5f00ik9z0wz7xf297"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("python2" ,python-2)))
+    (arguments
+     `(#:tests? #f ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (chdir "src")
+             (call-with-output-file "Makefile"
+               (lambda (port)
+                 (format port "CC = gcc
+CFLAGS = -O3 ~a -DUSE_THREADS
+LDLIBS = -lm -lpthread -lrt
+Mlucas: $(addsuffix .o,$(basename $(wildcard *.c)))
+"
+                         ,(let ((system (or (%current-target-system)
+                                            (%current-system))))
+                            (cond
+                             ((string-prefix? "x86_64" system) "-DUSE_SSE2")
+                             (else ""))))))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+               (install-file "Mlucas" bin)
+               (install-file "primenet.py" bin))
+             #t)))))
+    (home-page "https://www.mersenne.org")
+    (synopsis "Great Internet Mersenne Prime Search (GIMPS) distributed computing client")
+    (description "Mlucas performs Lucas-Lehmer primality testing of Mersenne
+numbers in search of a world-record prime.  You may use it to test any
+suitable number as you wish, but it is preferable that you do so in a
+coordinated fashion, as part of the Great Internet Mersenne Prime
+Search (GIMPS).  Mlucas also includes a simple Python script for assignment
+management via the GIMPS project's Primenet server.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 41148027bc..0147ce7756 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -91,7 +91,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.21.6")
+    (version "0.21.7")
     (source (origin
               (method url-fetch)
               (uri
@@ -100,7 +100,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "17z580gqwsr4xp3x124aapw96pl8hk91c43ld2x75606rim12kcd"))))
+                "0b217f5m3vdmjsh51674f6q5pj5g43kwd8psrka09vlvaay6482i"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Ddocumentation=true") ; The default is 'false'...
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
new file mode 100644
index 0000000000..480f64a046
--- /dev/null
+++ b/gnu/packages/nss.scm
@@ -0,0 +1,184 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages nss)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages sqlite)
+  #:use-module (ice-9 match))
+
+(define-public nspr
+  (package
+    (name "nspr")
+    (version "4.21")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v"
+                   version "/src/nspr-" version ".tar.gz"))
+             (sha256
+              (base32
+               "0nkbgk0x31nfm4xl8la0a3vrnpa8gzkh7g4k65p7n880n73k5shm"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("perl" ,perl)))
+    (arguments
+     `(#:tests? #f ; no check target
+       #:configure-flags (list "--enable-64bit"
+                               (string-append "LDFLAGS=-Wl,-rpath="
+                                              (assoc-ref %outputs "out")
+                                              "/lib"))
+       ;; Use fixed timestamps for reproducibility.
+       #:make-flags '("SH_DATE='1970-01-01 00:00:01'"
+                      ;; This is epoch 1 in microseconds.
+                      "SH_NOW=100000")
+       #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'chdir
+                    (lambda _ (chdir "nspr") #t)))))
+    (home-page
+     "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR")
+    (synopsis "Netscape API for system level and libc-like functions")
+    (description "Netscape Portable Runtime (@dfn{NSPR}) provides a
+platform-neutral API for system level and libc-like functions.  It is used
+in the Mozilla clients.")
+    (license license:mpl2.0)))
+
+(define-public nss
+  (package
+    (name "nss")
+    (version "3.43")
+    (source (origin
+              (method url-fetch)
+              (uri (let ((version-with-underscores
+                          (string-join (string-split version #\.) "_")))
+                     (string-append
+                      "https://ftp.mozilla.org/pub/mozilla.org/security/nss/"
+                      "releases/NSS_" version-with-underscores "_RTM/src/"
+                      "nss-" version ".tar.gz")))
+              (sha256
+               (base32
+                "1jp27w4w9nj5pkzrbc1zqj6pa09h2yy7vhzyx5fvg1q86fvw22zk"))
+              ;; Create nss.pc and nss-config.
+              (patches (search-patches "nss-pkgconfig.patch"
+                                       "nss-increase-test-timeout.patch"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "bin"))
+    (arguments
+     `(#:parallel-build? #f ; not supported
+       #:make-flags
+       (let* ((out (assoc-ref %outputs "out"))
+              (nspr (string-append (assoc-ref %build-inputs "nspr")))
+              (rpath (string-append "-Wl,-rpath=" out "/lib/nss")))
+         (list "-C" "nss" (string-append "PREFIX=" out)
+               "NSDISTMODE=copy"
+               "NSS_USE_SYSTEM_SQLITE=1"
+               (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr")
+               ;; Add $out/lib/nss to RPATH.
+               (string-append "RPATH=" rpath)
+               (string-append "LDFLAGS=" rpath)))
+       #:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 ftw)
+                  (ice-9 match)
+                  (srfi srfi-26))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (setenv "CC" "gcc")
+             ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
+             ,@(match (%current-system)
+                 ((or "x86_64-linux" "aarch64-linux")
+                  `((setenv "USE_64" "1")))
+                 (_
+                  '()))
+             #t))
+         (replace 'check
+           (lambda _
+             ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing.
+             ;; The later requires a working DNS or /etc/hosts.
+             (setenv "DOMSUF" "localdomain")
+             (setenv "USE_IP" "TRUE")
+             (setenv "IP_ADDRESS" "127.0.0.1")
+
+             ;; The "PayPalEE.cert" certificate expires every six months,
+             ;; leading to test failures:
+             ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>.  To
+             ;; work around that, set the time to roughly the release date.
+             (invoke "faketime" "2019-02-01" "./nss/tests/all.sh")))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append (assoc-ref outputs "bin") "/bin"))
+                      (inc (string-append out "/include/nss"))
+                      (lib (string-append out "/lib/nss"))
+                      (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>))
+                             ((obj) (string-append "dist/" obj)))))
+                 ;; Install nss-config to $out/bin.
+                 (install-file (string-append obj "/bin/nss-config")
+                               (string-append out "/bin"))
+                 (delete-file (string-append obj "/bin/nss-config"))
+                 ;; Install nss.pc to $out/lib/pkgconfig.
+                 (install-file (string-append obj "/lib/pkgconfig/nss.pc")
+                               (string-append out "/lib/pkgconfig"))
+                 (delete-file (string-append obj "/lib/pkgconfig/nss.pc"))
+                 (rmdir (string-append obj "/lib/pkgconfig"))
+                 ;; Install other files.
+                 (copy-recursively "dist/public/nss" inc)
+                 (copy-recursively (string-append obj "/bin") bin)
+                 (copy-recursively (string-append obj "/lib") lib)
+
+                 ;; FIXME: libgtest1.so is installed in the above step, and it's
+                 ;; (unnecessarily) linked with several NSS libraries, but
+                 ;; without the needed rpaths, causing the 'validate-runpath'
+                 ;; phase to fail.  Here we simply delete libgtest1.so, since it
+                 ;; seems to be used only during the tests.
+                 (delete-file (string-append lib "/libgtest1.so"))
+                 (delete-file (string-append lib "/libgtestutil.so"))
+
+                 #t))))))
+    (inputs
+     `(("sqlite" ,sqlite)
+       ("zlib" ,zlib)))
+    (propagated-inputs `(("nspr" ,nspr))) ; required by nss.pc.
+    (native-inputs `(("perl" ,perl)
+                     ("libfaketime" ,libfaketime))) ;for tests
+
+    ;; The NSS test suite takes around 48 hours on Loongson 3A (MIPS) when
+    ;; another build is happening concurrently on the same machine.
+    (properties '((timeout . 216000)))  ; 60 hours
+
+    (home-page
+     "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
+    (synopsis "Network Security Services")
+    (description
+     "Network Security Services (@dfn{NSS}) is a set of libraries designed to
+support cross-platform development of security-enabled client and server
+applications.  Applications built with NSS can support SSL v2 and v3, TLS,
+PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
+security standards.")
+    (license license:mpl2.0)))
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index e0190d2c0e..b84a417ff5 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -29,13 +29,13 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 07a6c24bc8..ad0b8f06f8 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -50,7 +50,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -59,6 +58,7 @@
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages man)
   #:use-module (gnu packages nettle)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages patchutils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -1010,7 +1010,7 @@ the bootloader configuration.")
 (define-public flatpak
   (package
    (name "flatpak")
-   (version "1.2.3")
+   (version "1.2.4")
    (source
     (origin
      (method url-fetch)
@@ -1018,7 +1018,7 @@ the bootloader configuration.")
                          version "/flatpak-" version ".tar.xz"))
      (sha256
       (base32
-       "0i0dn3w3545lvmjlzqj3j70lk8yrq64r9frp1rk6a161gwq20ixv"))))
+       "1qf3ys84fzv11z6f6li59rxjdjbyrv7cyi9539k73r9i9pckjr8v"))))
 
    ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
    ;; find the TLS backend in glib-networking.
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index ad89cee5a8..5c11d8c437 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -58,7 +58,6 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages kerberos)
@@ -67,6 +66,7 @@
   #:use-module (gnu packages man)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages opencl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/patches/emacs-undohist-ignored.patch b/gnu/packages/patches/emacs-undohist-ignored.patch
new file mode 100644
index 0000000000..c1ad827a26
--- /dev/null
+++ b/gnu/packages/patches/emacs-undohist-ignored.patch
@@ -0,0 +1,27 @@
+From 52bfd419bf9022726048f818d955b8ea10a16d5c Mon Sep 17 00:00:00 2001
+From: Patrick Mosby <info@schreiblogade.de>
+Date: Mon, 7 Sep 2015 09:05:56 +0200
+Subject: [PATCH] Don't save undo file for ignored files.
+
+This fixes #4.
+---
+ undohist.el | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/undohist.el b/undohist.el
+index b184a26..de60356 100644
+--- a/undohist.el
++++ b/undohist.el
+@@ -164,7 +164,8 @@ To use undohist, you just call this function."
+                 undohist-ignored-files)))
+ 
+ (defun undohist-save-1 ()
+-  (when (consp buffer-undo-list)
++  (when (and (consp buffer-undo-list)
++             (undohist-recover-file-p (buffer-file-name (current-buffer))))
+     (let ((file (make-undohist-file-name (buffer-file-name)))
+           (contents `((digest . ,(md5 (current-buffer)))
+                       (undo-list . ,(undohist-encode buffer-undo-list)))))
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/lcms-CVE-2018-16435.patch b/gnu/packages/patches/lcms-CVE-2018-16435.patch
new file mode 100644
index 0000000000..60228e73af
--- /dev/null
+++ b/gnu/packages/patches/lcms-CVE-2018-16435.patch
@@ -0,0 +1,171 @@
+https://github.com/mm2/Little-CMS/commit/768f70ca405cd3159d990e962d54456773bb8cf8.patch
+
+From 768f70ca405cd3159d990e962d54456773bb8cf8 Mon Sep 17 00:00:00 2001
+From: Marti Maria <info@littlecms.com>
+Date: Wed, 15 Aug 2018 20:07:56 +0200
+Subject: [PATCH] Upgrade Visual studio 2017 15.8
+
+- Upgrade to 15.8
+- Add check on CGATS memory allocation (thanks to Quang Nguyen for
+pointing out this)
+---
+ Projects/VC2017/jpegicc/jpegicc.vcxproj           |  1 +
+ Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj       |  2 +-
+ Projects/VC2017/lcms2_static/lcms2_static.vcxproj |  2 +-
+ Projects/VC2017/linkicc/linkicc.vcxproj           |  2 +-
+ Projects/VC2017/psicc/psicc.vcxproj               |  2 +-
+ Projects/VC2017/testbed/testbed.vcxproj           |  2 +-
+ Projects/VC2017/tiffdiff/tiffdiff.vcxproj         |  2 +-
+ Projects/VC2017/tifficc/tifficc.vcxproj           |  2 +-
+ Projects/VC2017/transicc/transicc.vcxproj         |  1 +
+ src/cmscgats.c                                    | 14 ++++++++++----
+ 10 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/Projects/VC2017/jpegicc/jpegicc.vcxproj b/Projects/VC2017/jpegicc/jpegicc.vcxproj
+index ab26a53..39cfd00 100644
+--- a/Projects/VC2017/jpegicc/jpegicc.vcxproj
++++ b/Projects/VC2017/jpegicc/jpegicc.vcxproj
+@@ -22,6 +22,7 @@
+     <ProjectGuid>{62812507-F926-4968-96A9-17678460AD90}</ProjectGuid>
+     <RootNamespace>jpegicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
+index 4c8aa3f..d1bf3eb 100644
+--- a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
++++ b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{8C51BE48-ADB8-4089-A9EC-F6BF993A0548}</ProjectGuid>
+     <RootNamespace>lcms2_DLL</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
+index 2a9988a..9fc05ce 100644
+--- a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
++++ b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{71DEDE59-3F1E-486B-A899-4283000F76B5}</ProjectGuid>
+     <RootNamespace>lcms2_static</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/linkicc/linkicc.vcxproj b/Projects/VC2017/linkicc/linkicc.vcxproj
+index 30c2b4e..51586dd 100644
+--- a/Projects/VC2017/linkicc/linkicc.vcxproj
++++ b/Projects/VC2017/linkicc/linkicc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{FBFBE1DC-DB84-4BA1-9552-B4780F457849}</ProjectGuid>
+     <RootNamespace>linkicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/psicc/psicc.vcxproj b/Projects/VC2017/psicc/psicc.vcxproj
+index 9dcf89a..8f26e12 100644
+--- a/Projects/VC2017/psicc/psicc.vcxproj
++++ b/Projects/VC2017/psicc/psicc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{EF6A8851-65FE-46F5-B9EF-14F0B671F693}</ProjectGuid>
+     <RootNamespace>psicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/testbed/testbed.vcxproj b/Projects/VC2017/testbed/testbed.vcxproj
+index 0af3762..3f6aea3 100644
+--- a/Projects/VC2017/testbed/testbed.vcxproj
++++ b/Projects/VC2017/testbed/testbed.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{928A3A2B-46EF-4279-959C-513B3652FF0E}</ProjectGuid>
+     <RootNamespace>testbed</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
+index 7edfe28..3a6d837 100644
+--- a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
++++ b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{75B91835-CCD7-48BE-A606-A9C997D5DBEE}</ProjectGuid>
+     <RootNamespace>tiffdiff</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/tifficc/tifficc.vcxproj b/Projects/VC2017/tifficc/tifficc.vcxproj
+index cd9f04c..5ef954f 100644
+--- a/Projects/VC2017/tifficc/tifficc.vcxproj
++++ b/Projects/VC2017/tifficc/tifficc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{2256DE16-ED92-4A6F-9C54-F65BB61E64A2}</ProjectGuid>
+     <RootNamespace>tifficc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/transicc/transicc.vcxproj b/Projects/VC2017/transicc/transicc.vcxproj
+index d9b77c6..b3173d8 100644
+--- a/Projects/VC2017/transicc/transicc.vcxproj
++++ b/Projects/VC2017/transicc/transicc.vcxproj
+@@ -22,6 +22,7 @@
+     <ProjectGuid>{9EE22D66-C849-474C-9ED5-C3E141DAB160}</ProjectGuid>
+     <RootNamespace>transicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/src/cmscgats.c b/src/cmscgats.c
+index 1a87613..8c3e96d 100644
+--- a/src/cmscgats.c
++++ b/src/cmscgats.c
+@@ -1,7 +1,7 @@
+ //---------------------------------------------------------------------------------
+ //
+ //  Little Color Management System
+-//  Copyright (c) 1998-2017 Marti Maria Saguer
++//  Copyright (c) 1998-2018 Marti Maria Saguer
+ //
+ // Permission is hereby granted, free of charge, to any person obtaining
+ // a copy of this software and associated documentation files (the "Software"),
+@@ -1506,10 +1506,16 @@ void AllocateDataSet(cmsIT8* it8)
+     t-> nSamples   = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS"));
+     t-> nPatches   = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS"));
+ 
+-    t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*));
+-    if (t->Data == NULL) {
++    if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe)
++    {
++        SynError(it8, "AllocateDataSet: too much data");
++    }
++    else {
++        t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*));
++        if (t->Data == NULL) {
+ 
+-        SynError(it8, "AllocateDataSet: Unable to allocate data array");
++            SynError(it8, "AllocateDataSet: Unable to allocate data array");
++        }
+     }
+ 
+ }
diff --git a/gnu/packages/patches/ledger-fix-uninitialized.patch b/gnu/packages/patches/ledger-fix-uninitialized.patch
deleted file mode 100644
index 128c90ec13..0000000000
--- a/gnu/packages/patches/ledger-fix-uninitialized.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-This fixes failures of tests "BaseLine_opt-datetime-format" and
-"BaseLine_opt-time-report", which were printing an unexpected trailing '*' on
-the last line of output, e.g.:
-
-  @@ -5,4 +5,4 @@
-     04/05/13 12:00 PM    04/05/13 01:30 PM       1.50h    Lunch
-     04/05/13 11:30 AM    04/05/13 12:00 PM       30.0m    Walk
-   --------------------------------------------------
-  -                                           
-  +                                          *
-
-Reported upstream at
-https://groups.google.com/d/msg/ledger-cli/EeJUrUk8YDc/pIR-LOTVEAAJ
-
-diff --git a/src/account.h b/src/account.h
-index 1b97463d..f2555593 100644
---- a/src/account.h
-+++ b/src/account.h
-@@ -187,7 +187,7 @@ public:
- 
-       datetime_t         earliest_checkin;
-       datetime_t         latest_checkout;
--      bool               latest_checkout_cleared;
-+      bool               latest_checkout_cleared = false;
- 
-       std::set<path>     filenames;
-       std::set<string>   accounts_referenced;
diff --git a/gnu/packages/patches/localed-xorg-keyboard.patch b/gnu/packages/patches/localed-xorg-keyboard.patch
new file mode 100644
index 0000000000..9a9071ba0a
--- /dev/null
+++ b/gnu/packages/patches/localed-xorg-keyboard.patch
@@ -0,0 +1,322 @@
+Normally localed would do an approximate parsing of the Xorg config file
+to determine the XKB keyboard layout.  This doesn't make sense on Guix
+where there's no such file in /etc, and where the keyboard layout is
+known statically at configuration time.
+
+This patch removes the XOrg configuration parsing and expects to read the
+configuration from environment variables instead.  It also removes the
+stateful bits that would write configuration to /etc/vconsole.conf
+and /etc/X11, which are unused in Guix anyway.
+
+Patch by Ludovic Courtès <ludo@gnu.org>.
+
+diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
+index 6b6b32a591..46aab472b0 100644
+--- a/src/locale/keymap-util.c
++++ b/src/locale/keymap-util.c
+@@ -174,32 +174,16 @@ int vconsole_read_data(Context *c, sd_bus_message *m) {
+                 c->vc_cache = sd_bus_message_ref(m);
+         }
+ 
+-        if (stat("/etc/vconsole.conf", &st) < 0) {
+-                if (errno != ENOENT)
+-                        return -errno;
+-
+-                c->vc_mtime = USEC_INFINITY;
+-                context_free_vconsole(c);
+-                return 0;
+-        }
+-
+-        /* If mtime is not changed, then we do not need to re-read */
+-        t = timespec_load(&st.st_mtim);
+-        if (c->vc_mtime != USEC_INFINITY && t == c->vc_mtime)
+-                return 0;
+-
+-        c->vc_mtime = t;
++        c->vc_mtime = USEC_INFINITY;
+         context_free_vconsole(c);
+-
+-        r = parse_env_file(NULL, "/etc/vconsole.conf",
+-                           "KEYMAP",        &c->vc_keymap,
+-                           "KEYMAP_TOGGLE", &c->vc_keymap_toggle);
+-        if (r < 0)
+-                return r;
+-
+         return 0;
+ }
+ 
++static char *getenv_strdup(const char *variable) {
++        const char *value = getenv(variable);
++        return value == NULL ? NULL : strdup(value);
++}
++
+ int x11_read_data(Context *c, sd_bus_message *m) {
+         _cleanup_fclose_ FILE *f = NULL;
+         bool in_section = false;
+@@ -216,258 +200,27 @@ int x11_read_data(Context *c, sd_bus_message *m) {
+                 c->x11_cache = sd_bus_message_ref(m);
+         }
+ 
+-        if (stat("/etc/X11/xorg.conf.d/00-keyboard.conf", &st) < 0) {
+-                if (errno != ENOENT)
+-                        return -errno;
+-
+-                c->x11_mtime = USEC_INFINITY;
+-                context_free_x11(c);
+-                return 0;
+-        }
+-
+-        /* If mtime is not changed, then we do not need to re-read */
+-        t = timespec_load(&st.st_mtim);
+-        if (c->x11_mtime != USEC_INFINITY && t == c->x11_mtime)
+-                return 0;
+-
+-        c->x11_mtime = t;
++        c->x11_mtime = 0;
+         context_free_x11(c);
+ 
+-        f = fopen("/etc/X11/xorg.conf.d/00-keyboard.conf", "re");
+-        if (!f)
+-                return -errno;
+-
+-        for (;;) {
+-                _cleanup_free_ char *line = NULL;
+-                char *l;
+-
+-                r = read_line(f, LONG_LINE_MAX, &line);
+-                if (r < 0)
+-                        return r;
+-                if (r == 0)
+-                        break;
+-
+-                l = strstrip(line);
+-                if (IN_SET(l[0], 0, '#'))
+-                        continue;
+-
+-                if (in_section && first_word(l, "Option")) {
+-                        _cleanup_strv_free_ char **a = NULL;
+-
+-                        r = strv_split_extract(&a, l, WHITESPACE, EXTRACT_QUOTES);
+-                        if (r < 0)
+-                                return r;
+-
+-                        if (strv_length(a) == 3) {
+-                                char **p = NULL;
+-
+-                                if (streq(a[1], "XkbLayout"))
+-                                        p = &c->x11_layout;
+-                                else if (streq(a[1], "XkbModel"))
+-                                        p = &c->x11_model;
+-                                else if (streq(a[1], "XkbVariant"))
+-                                        p = &c->x11_variant;
+-                                else if (streq(a[1], "XkbOptions"))
+-                                        p = &c->x11_options;
+-
+-                                if (p) {
+-                                        free_and_replace(*p, a[2]);
+-                                }
+-                        }
+-
+-                } else if (!in_section && first_word(l, "Section")) {
+-                        _cleanup_strv_free_ char **a = NULL;
+-
+-                        r = strv_split_extract(&a, l, WHITESPACE, EXTRACT_QUOTES);
+-                        if (r < 0)
+-                                return -ENOMEM;
+-
+-                        if (strv_length(a) == 2 && streq(a[1], "InputClass"))
+-                                in_section = true;
+-
+-                } else if (in_section && first_word(l, "EndSection"))
+-                        in_section = false;
+-        }
++        c->x11_layout = getenv_strdup("GUIX_XKB_LAYOUT");
++        c->x11_model = getenv_strdup("GUIX_XKB_MODEL");
++        c->x11_variant = getenv_strdup("GUIX_XKB_VARIANT");
++        c->x11_options = getenv_strdup("GUIX_XKB_OPTIONS");
+ 
+         return 0;
+ }
+ 
+ int locale_write_data(Context *c, char ***settings) {
+-        _cleanup_strv_free_ char **l = NULL;
+-        struct stat st;
+-        int r, p;
+-
+-        /* Set values will be returned as strv in *settings on success. */
+-
+-        for (p = 0; p < _VARIABLE_LC_MAX; p++) {
+-                _cleanup_free_ char *t = NULL;
+-                char **u;
+-                const char *name;
+-
+-                name = locale_variable_to_string(p);
+-                assert(name);
+-
+-                if (isempty(c->locale[p]))
+-                        continue;
+-
+-                if (asprintf(&t, "%s=%s", name, c->locale[p]) < 0)
+-                        return -ENOMEM;
+-
+-                u = strv_env_set(l, t);
+-                if (!u)
+-                        return -ENOMEM;
+-
+-                strv_free_and_replace(l, u);
+-        }
+-
+-        if (strv_isempty(l)) {
+-                if (unlink("/etc/locale.conf") < 0)
+-                        return errno == ENOENT ? 0 : -errno;
+-
+-                c->locale_mtime = USEC_INFINITY;
+-                return 0;
+-        }
+-
+-        r = write_env_file_label("/etc/locale.conf", l);
+-        if (r < 0)
+-                return r;
+-
+-        *settings = TAKE_PTR(l);
+-
+-        if (stat("/etc/locale.conf", &st) >= 0)
+-                c->locale_mtime = timespec_load(&st.st_mtim);
+-
+-        return 0;
++        return -ENOSYS;
+ }
+ 
+ int vconsole_write_data(Context *c) {
+-        _cleanup_strv_free_ char **l = NULL;
+-        struct stat st;
+-        int r;
+-
+-        r = load_env_file(NULL, "/etc/vconsole.conf", &l);
+-        if (r < 0 && r != -ENOENT)
+-                return r;
+-
+-        if (isempty(c->vc_keymap))
+-                l = strv_env_unset(l, "KEYMAP");
+-        else {
+-                _cleanup_free_ char *s = NULL;
+-                char **u;
+-
+-                s = strappend("KEYMAP=", c->vc_keymap);
+-                if (!s)
+-                        return -ENOMEM;
+-
+-                u = strv_env_set(l, s);
+-                if (!u)
+-                        return -ENOMEM;
+-
+-                strv_free_and_replace(l, u);
+-        }
+-
+-        if (isempty(c->vc_keymap_toggle))
+-                l = strv_env_unset(l, "KEYMAP_TOGGLE");
+-        else  {
+-                _cleanup_free_ char *s = NULL;
+-                char **u;
+-
+-                s = strappend("KEYMAP_TOGGLE=", c->vc_keymap_toggle);
+-                if (!s)
+-                        return -ENOMEM;
+-
+-                u = strv_env_set(l, s);
+-                if (!u)
+-                        return -ENOMEM;
+-
+-                strv_free_and_replace(l, u);
+-        }
+-
+-        if (strv_isempty(l)) {
+-                if (unlink("/etc/vconsole.conf") < 0)
+-                        return errno == ENOENT ? 0 : -errno;
+-
+-                c->vc_mtime = USEC_INFINITY;
+-                return 0;
+-        }
+-
+-        r = write_env_file_label("/etc/vconsole.conf", l);
+-        if (r < 0)
+-                return r;
+-
+-        if (stat("/etc/vconsole.conf", &st) >= 0)
+-                c->vc_mtime = timespec_load(&st.st_mtim);
+-
+-        return 0;
++        return -ENOSYS;
+ }
+ 
+ int x11_write_data(Context *c) {
+-        _cleanup_fclose_ FILE *f = NULL;
+-        _cleanup_free_ char *temp_path = NULL;
+-        struct stat st;
+-        int r;
+-
+-        if (isempty(c->x11_layout) &&
+-            isempty(c->x11_model) &&
+-            isempty(c->x11_variant) &&
+-            isempty(c->x11_options)) {
+-
+-                if (unlink("/etc/X11/xorg.conf.d/00-keyboard.conf") < 0)
+-                        return errno == ENOENT ? 0 : -errno;
+-
+-                c->vc_mtime = USEC_INFINITY;
+-                return 0;
+-        }
+-
+-        mkdir_p_label("/etc/X11/xorg.conf.d", 0755);
+-
+-        r = fopen_temporary("/etc/X11/xorg.conf.d/00-keyboard.conf", &f, &temp_path);
+-        if (r < 0)
+-                return r;
+-
+-        (void) __fsetlocking(f, FSETLOCKING_BYCALLER);
+-        (void) fchmod(fileno(f), 0644);
+-
+-        fputs("# Written by systemd-localed(8), read by systemd-localed and Xorg. It's\n"
+-              "# probably wise not to edit this file manually. Use localectl(1) to\n"
+-              "# instruct systemd-localed to update it.\n"
+-              "Section \"InputClass\"\n"
+-              "        Identifier \"system-keyboard\"\n"
+-              "        MatchIsKeyboard \"on\"\n", f);
+-
+-        if (!isempty(c->x11_layout))
+-                fprintf(f, "        Option \"XkbLayout\" \"%s\"\n", c->x11_layout);
+-
+-        if (!isempty(c->x11_model))
+-                fprintf(f, "        Option \"XkbModel\" \"%s\"\n", c->x11_model);
+-
+-        if (!isempty(c->x11_variant))
+-                fprintf(f, "        Option \"XkbVariant\" \"%s\"\n", c->x11_variant);
+-
+-        if (!isempty(c->x11_options))
+-                fprintf(f, "        Option \"XkbOptions\" \"%s\"\n", c->x11_options);
+-
+-        fputs("EndSection\n", f);
+-
+-        r = fflush_sync_and_check(f);
+-        if (r < 0)
+-                goto fail;
+-
+-        if (rename(temp_path, "/etc/X11/xorg.conf.d/00-keyboard.conf") < 0) {
+-                r = -errno;
+-                goto fail;
+-        }
+-
+-        if (stat("/etc/X11/xorg.conf.d/00-keyboard.conf", &st) >= 0)
+-                c->x11_mtime = timespec_load(&st.st_mtim);
+-
+-        return 0;
+-
+-fail:
+-        if (temp_path)
+-                (void) unlink(temp_path);
+-
+-        return r;
++        return -ENOSYS;
+ }
+ 
+ static int read_next_mapping(const char* filename,
diff --git a/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch b/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch
new file mode 100644
index 0000000000..a7794aed47
--- /dev/null
+++ b/gnu/packages/patches/ntfs-3g-CVE-2019-9755.patch
@@ -0,0 +1,72 @@
+Fix CVE-2019-9755:
+
+https://security-tracker.debian.org/tracker/CVE-2019-9755
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9755
+
+Patch copied from upstream source repository:
+
+https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/85c1634a26faa572d3c558d4cf8aaaca5202d4e9/
+
+From 85c1634a26faa572d3c558d4cf8aaaca5202d4e9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= <jean-pierre.andre@wanadoo.fr>
+Date: Wed, 19 Dec 2018 15:57:50 +0100
+Subject: [PATCH] Fixed reporting an error when failed to build the mountpoint
+
+The size check was inefficient because getcwd() uses an unsigned int
+argument.
+---
+ src/lowntfs-3g.c | 6 +++++-
+ src/ntfs-3g.c    | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c
+index 993867fa..0660439b 100644
+--- a/src/lowntfs-3g.c
++++ b/src/lowntfs-3g.c
+@@ -4411,7 +4411,8 @@ int main(int argc, char *argv[])
+ 	else {
+ 		ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
+ 		if (ctx->abs_mnt_point) {
+-			if (getcwd(ctx->abs_mnt_point,
++			if ((strlen(opts.mnt_point) < PATH_MAX)
++			    && getcwd(ctx->abs_mnt_point,
+ 				     PATH_MAX - strlen(opts.mnt_point) - 1)) {
+ 				strcat(ctx->abs_mnt_point, "/");
+ 				strcat(ctx->abs_mnt_point, opts.mnt_point);
+@@ -4419,6 +4420,9 @@ int main(int argc, char *argv[])
+ 			/* Solaris also wants the absolute mount point */
+ 				opts.mnt_point = ctx->abs_mnt_point;
+ #endif /* defined(__sun) && defined (__SVR4) */
++			} else {
++				free(ctx->abs_mnt_point);
++				ctx->abs_mnt_point = (char*)NULL;
+ 			}
+ 		}
+ 	}
+diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c
+index 6ce89fef..4e0912ae 100644
+--- a/src/ntfs-3g.c
++++ b/src/ntfs-3g.c
+@@ -4148,7 +4148,8 @@ int main(int argc, char *argv[])
+ 	else {
+ 		ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
+ 		if (ctx->abs_mnt_point) {
+-			if (getcwd(ctx->abs_mnt_point,
++			if ((strlen(opts.mnt_point) < PATH_MAX)
++			    && getcwd(ctx->abs_mnt_point,
+ 				     PATH_MAX - strlen(opts.mnt_point) - 1)) {
+ 				strcat(ctx->abs_mnt_point, "/");
+ 				strcat(ctx->abs_mnt_point, opts.mnt_point);
+@@ -4156,6 +4157,9 @@ int main(int argc, char *argv[])
+ 			/* Solaris also wants the absolute mount point */
+ 				opts.mnt_point = ctx->abs_mnt_point;
+ #endif /* defined(__sun) && defined (__SVR4) */
++			} else {
++				free(ctx->abs_mnt_point);
++				ctx->abs_mnt_point = (char*)NULL;
+ 			}
+ 		}
+ 	}
+-- 
+2.21.0
+
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index ea002f8c59..c7e6fcb6e9 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -58,7 +58,7 @@
 (define-public php
   (package
     (name "php")
-    (version "7.3.3")
+    (version "7.3.4")
     (home-page "https://secure.php.net/")
     (source (origin
               (method url-fetch)
@@ -66,7 +66,7 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cxrpaz5cvx1qq9klwgvcyvcly865sxpn4bdk82wpl43l5wkxc3b"))
+                "10rvj9dn41213w0q2l123rn6sycr29syik88czprhpv5z2hrzrvg"))
               (modules '((guix build utils)))
               (snippet
                '(with-directory-excursion "ext"
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 22a62a0f5b..35e632cf8c 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -171,21 +171,23 @@ colors, styles, options and details.")
 (define-public asymptote
   (package
     (name "asymptote")
-    (version "2.47")
+    (version "2.49")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/asymptote/"
                                   version "/asymptote-" version ".src.tgz"))
               (sha256
                (base32
-                "0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971"))))
+                "1vljhq68gyc2503l9fj76rk1q4a4db9a1sp3fdfagqqmirnmybp5"))))
     (build-system gnu-build-system)
     ;; Note: The 'asy' binary retains a reference to docdir for use with its
     ;; "help" command in interactive mode, so adding a "doc" output is not
     ;; currently useful.
     (native-inputs
-     `(("gs" ,ghostscript)              ;For tests
-       ("texinfo" ,texinfo)             ;For generating documentation
+     `(("emacs" ,emacs-minimal)
+       ("gs" ,ghostscript)              ;For tests
+       ("perl" ,perl)
+       ("texinfo" ,texinfo)           ;For generating documentation
        ;; For the manual and the tests.
        ("texlive" ,(texlive-union (list texlive-fonts-amsfonts
                                         texlive-latex-amsfonts
@@ -193,15 +195,15 @@ colors, styles, options and details.")
                                         texlive-latex-graphics
                                         texlive-latex-oberdiek ; for ifluatex
                                         texlive-latex-parskip
-                                        texlive-tex-texinfo)))
-       ("emacs" ,emacs-minimal)
-       ("perl" ,perl)))
+                                        texlive-tex-texinfo)))))
     (inputs
      `(("fftw" ,fftw)
        ("freeglut" ,freeglut)
+       ("glew" ,glew)
+       ("glm" ,glm)
        ("gsl" ,gsl)
        ("libgc" ,libgc)
-       ("python" ,python-2)
+       ("python" ,python)
        ("readline" ,readline)
        ("zlib" ,zlib)))
     (arguments
@@ -221,6 +223,23 @@ colors, styles, options and details.")
                             "/share/texmf/tex/context/third"))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'fix-build
+           ;; XXX: Build process complains about missing "config.h"
+           ;; and "primitives.h" files.
+           (lambda _
+             (substitute* (find-files "." "\\.in$")
+               (("#include <primitives.h>") "#include \"primitives.h\""))
+             (invoke "touch" "prc/config.h")))
+         (add-after 'unpack 'move-info-location
+           ;; Build process install info file in the unusual
+           ;; "%out/share/info/asymptote/" location.  Move it to
+           ;; "%out/share/info/" so it appears in the top-level directory.
+           (lambda _
+             (substitute* "doc/png/Makefile.in"
+               (("(\\$\\(infodir\\))/asymptote" _ infodir) infodir))
+             (substitute* "doc/asymptote.texi"
+               (("asymptote/asymptote") "asymptote"))
+             #t))
          (add-before 'build 'patch-pdf-viewer
            (lambda _
              ;; Default to a free pdf viewer.
@@ -233,12 +252,6 @@ colors, styles, options and details.")
            ;; "failed to create directory /homeless-shelter/.asy" error.
            (lambda _
              (setenv "HOME" "/tmp")
-             ;; The "gs" test fails, complaining about an incompatible
-             ;; Ghostscript version.  Not sure what's going on...  Is this
-             ;; because I've just replaced texlive with texlive-union?
-             (substitute* "tests/Makefile"
-               (("^(TESTDIRS =.*) gs(.*)" begin end)
-                (string-append begin " " end)))
              #t))
          (add-after 'install 'install-Emacs-data
            (lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm
index ba74a5c905..ccb8ebf8f8 100644
--- a/gnu/packages/polkit.scm
+++ b/gnu/packages/polkit.scm
@@ -34,6 +34,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages qt)
diff --git a/gnu/packages/printers.scm b/gnu/packages/printers.scm
index dff9ed3010..2d608bf3cb 100644
--- a/gnu/packages/printers.scm
+++ b/gnu/packages/printers.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,13 @@
 (define-module (gnu packages printers)
   #:use-module (guix packages)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
   #:use-module (gnu packages libusb)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages qt))
 
@@ -68,3 +73,54 @@
 with Graphtec and Sihouette plotting cutters using an SVG file as its input.")
     (home-page "http://robocut.org")
     (license license:gpl3+)))
+
+(define-public brlaser
+  (let ((commit "779f71e80fcc583f4537c844de141cf8e6a738fe")
+        (revision "1"))
+    (package
+      (name "brlaser")
+      (version (git-version "4" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/pdewacht/brlaser.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0yrz9706660hdfi2y0ndp254r0vw9y665hwmxbbzfnz4ai13vj50"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:configure-flags
+         (list (string-append "-DCUPS_DATA_DIR="
+                              (assoc-ref %outputs "out")
+                              "/share/cups")
+               (string-append "-DCUPS_SERVER_BIN="
+                              (assoc-ref %outputs "out")
+                              "/lib/cups"))))
+      (inputs
+       `(("ghostscript" ,ghostscript)
+         ("cups" ,cups)
+         ("zlib" ,zlib)))
+      (home-page "https://github.com/pdewacht/brlaser")
+      (synopsis "Brother laser printer driver")
+      (description "Brlaser is a CUPS driver for Brother laser printers.  This
+driver is known to work with these printers:
+
+@enumerate
+@item Brother DCP-1510
+@item Brother DCP-7030
+@item Brother DCP-7040
+@item Brother DCP-7055
+@item Brother DCP-7055W
+@item Brother DCP-7065DN
+@item Brother DCP-7080
+@item Brother HL-1200 series
+@item Brother HL-L2320D series
+@item Brother HL-L2360D series
+@item Brother MFC-7240
+@item Brother MFC-7360N
+@end enumerate
+
+It partially works with printers from the Brother HL-L2300D series.")
+      (license license:gpl2+))))
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index 73169216b4..c4e52fbaf6 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -27,6 +27,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system emacs)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
@@ -208,3 +209,21 @@ mechanism for serializing structured data.")
 
 (define-public python2-protobuf
   (package-with-python2 python-protobuf))
+
+(define-public emacs-protobuf-mode
+  (package
+    (name "emacs-protobuf-mode")
+    (version (package-version protobuf))
+    (source (package-source protobuf))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'set-emacs-load-path 'change-working-directory
+           (lambda _ (chdir "editors") #t)))))
+    (home-page "https://github.com/protocolbuffers/protobuf")
+    (synopsis "Protocol buffers major mode for Emacs")
+    (description
+     "This package provides an Emacs major mode for editing Protocol Buffer
+source files.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 08f1e4d399..fd9c95dd0a 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -336,13 +336,13 @@ password storage.")
 (define-public python-certifi
   (package
     (name "python-certifi")
-    (version "2018.11.29")
+    (version "2019.3.9")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "certifi" version))
               (sha256
                (base32
-                "1dvccavd2fzq4j37w0sznylp92ps14zi6gvlxzm23in0yhzciya7"))))
+                "1bnpw7hrf9i1l9gfxjnzi45hkrvzz0pyn9ia8m4mw7sxhgb08qdj"))))
     (build-system python-build-system)
     (home-page "https://certifi.io/")
     (synopsis "Python CA certificate bundle")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 366f8a0af2..0379095dab 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -51,7 +51,7 @@
 ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
 ;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
-;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -15297,3 +15297,22 @@ space that are close to a given query point.  It also creates large read-only
 file-based data structures that are @code{mmap}ped into memory so that many
 processes may share the same data.")
     (license license:asl2.0)))
+
+(define-public python-sphinxcontrib-svg2pdfconverter
+  (package
+    (name "python-sphinxcontrib-svg2pdfconverter")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-svg2pdfconverter" version))
+              (sha256
+               (base32
+                "1abvbgkkii13q8nsb10r0gc5lm0p9iq1iwhfhakn5ifn6asa0183"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/releases")
+    (synopsis "Sphinx SVG to PDF converter extension")
+    (description "A Sphinx extension to convert SVG images to PDF in case the builder does not support
+SVG images natively (e.g. LaTeX).")
+    (license license:bsd-3)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 5b463f510f..afc4d8dc06 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -48,7 +48,6 @@
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
@@ -56,6 +55,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index f409565787..f37fb064a2 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -30,7 +30,7 @@
 (define-public re2
    (package
      (name "re2")
-     (version "2019-03-01")
+     (version "2019-04-01")
      (home-page "https://github.com/google/re2")
      (source (origin
                (method git-fetch)
@@ -38,7 +38,7 @@
                (file-name (git-file-name name version))
                (sha256
                 (base32
-                 "032lsrb57llq79icpvrrh1fmjzy2i4bdmydfww178nc45ya5wcl4"))))
+                 "018b8z3fgcr02rmhxdz80r363k40938cbgmk1c9b46k6xkc4q0hd"))))
      (build-system gnu-build-system)
      (arguments
       `(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 2ebbc29a79..3d64eaf11a 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -152,14 +152,14 @@ anywhere.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.10.0")
+    (version "4.10.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.samba.org/pub/samba/stable/"
                                  "samba-" version ".tar.gz"))
              (sha256
               (base32
-               "0n1ld77y8sydkpx6l8i2hqa1k7hpkr8df91pg849glc4b85407wz"))))
+               "0kf5v65xgz7z18ggj1k46yy5g5dy76k7ni04s79kalzqqs25scd7"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index fe01086a86..21f925937a 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -34,7 +34,6 @@
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
-  #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages fcitx)
@@ -42,7 +41,6 @@
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages guile)
-  #:use-module (gnu packages haskell)
   #:use-module (gnu packages ibus)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
@@ -544,93 +542,3 @@ sound and device input (keyboards, joysticks, mice, etc.).")
 The bindings are written in pure Scheme using Guile's foreign function
 interface.")
     (license lgpl3+)))
-
-(define-public ghc-sdl2
-  (package
-    (name "ghc-sdl2")
-    (version "2.4.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "sdl2/sdl2-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
-    (build-system haskell-build-system)
-    (arguments '(#:tests? #f)) ; tests require graphical environment
-    (inputs
-     `(("ghc-exceptions" ,ghc-exceptions)
-       ("ghc-linear" ,ghc-linear)
-       ("ghc-statevar" ,ghc-statevar)
-       ("ghc-text" ,ghc-text)
-       ("ghc-vector" ,ghc-vector)
-       ("sdl2" ,sdl2)))
-    (native-inputs
-     `(("ghc-weigh" ,ghc-weigh)
-       ("pkg-config" ,pkg-config)))
-    (home-page "http://hackage.haskell.org/package/sdl2")
-    (synopsis "High- and low-level bindings to the SDL library")
-    (description
-     "This package contains bindings to the SDL 2 library, in both high- and
-low-level forms.  The @code{SDL} namespace contains high-level bindings, where
-enumerations are split into sum types, and we perform automatic
-error-checking.  The @code{SDL.Raw} namespace contains an almost 1-1
-translation of the C API into Haskell FFI calls.  As such, this does not
-contain sum types nor error checking.  Thus this namespace is suitable for
-building your own abstraction over SDL, but is not recommended for day-to-day
-programming.")
-    (license bsd-3)))
-
-(define-public ghc-sdl2-mixer
-  (package
-    (name "ghc-sdl2-mixer")
-    (version "1.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
-                           "sdl2-mixer-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-data-default-class" ,ghc-data-default-class)
-       ("ghc-lifted-base" ,ghc-lifted-base)
-       ("ghc-monad-control" ,ghc-monad-control)
-       ("ghc-sdl2" ,ghc-sdl2)
-       ("ghc-vector" ,ghc-vector)
-       ("sdl2-mixer" ,sdl2-mixer)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (home-page "http://hackage.haskell.org/package/sdl2-mixer")
-    (synopsis "Bindings to SDL2 mixer")
-    (description "This package provides Haskell bindings to
-@code{SDL2_mixer}.")
-    (license bsd-3)))
-
-(define-public ghc-sdl2-image
-  (package
-    (name "ghc-sdl2-image")
-    (version "2.0.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
-                           "sdl2-image-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-sdl2" ,ghc-sdl2)
-       ("ghc-text" ,ghc-text)
-       ("sdl2-image" ,sdl2-image)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (home-page "http://hackage.haskell.org/package/sdl2-image")
-    (synopsis "Bindings to SDL2_image")
-    (description "This package provides Haskell bindings to
-@code{SDL2_image}.")
-    (license expat)))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index abbc0dad89..83a831660d 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -143,6 +143,24 @@ a server that supports the SSH-2 protocol.")
    (license license:bsd-3)
    (home-page "https://www.libssh2.org/")))
 
+;; XXX A hidden special obsolete libssh2 for temporary use in the curl package.
+;; <https://bugs.gnu.org/34927>
+(define-public libssh2-1.8.0
+  (hidden-package
+    (package
+      (inherit libssh2)
+      (version "1.8.0")
+      (source (origin
+                (method url-fetch)
+                (uri (string-append
+                      "https://www.libssh2.org/download/libssh2-"
+                      version ".tar.gz"))
+                (sha256
+                 (base32
+                  "1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr"))
+                (patches
+                 (search-patches "libssh2-fix-build-failure-with-gcrypt.patch")))))))
+
 (define-public openssh
   (package
    (name "openssh")
diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm
index 75ce7c854b..6d6caab0ad 100644
--- a/gnu/packages/sssd.scm
+++ b/gnu/packages/sssd.scm
@@ -35,10 +35,10 @@
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages glib)
-  #:use-module (gnu packages gnuzilla)
+  #:use-module (gnu packages kerberos)
   #:use-module (gnu packages libunistring)
   #:use-module (gnu packages linux)
-  #:use-module (gnu packages kerberos)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages pcre)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index d89a18e2b9..1c834c3166 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -400,14 +400,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.")
 (define-public r-mass
   (package
     (name "r-mass")
-    (version "7.3-51.1")
+    (version "7.3-51.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MASS" version))
        (sha256
         (base32
-         "14907ia8418mp3p1rs1i2f1x5b6kk5z998dk353a29j3xqf3ybyq"))))
+         "1dh8cvvdsf9dx29x6va47qdkswmr03k3yjycinq98fnl0ivhw3jv"))))
     (properties `((upstream-name . "MASS")))
     (build-system r-build-system)
     (home-page "http://www.stats.ox.ac.uk/pub/MASS4/")
@@ -443,14 +443,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.0.7-1")
+    (version "2.0.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "1grxbifbc4nwig25dmjgkympnbzb4al0w6k1c0ibdhpk1h4l20di"))))
+         "0jkmlhjknndh0lmyvqz7s7j1hhnarixm6zb39np4ssw47flk0nfc"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -675,14 +675,14 @@ analysis.")
 (define-public r-survival
   (package
     (name "r-survival")
-    (version "2.43-3")
+    (version "2.44-1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "survival" version))
        (sha256
         (base32
-         "0ldrjja1dj4n1ic0lbggm7jvk52sl5h85i8m23nrgndi60acsv4r"))))
+         "1faiwyg7x8y2kfzb66l4yc8br0mdlz4k20znmjrwq96dbzhm3cam"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-matrix" ,r-matrix)))
@@ -1182,23 +1182,23 @@ agnes cluster diagrams.")
 (define-public r-gdtools
   (package
     (name "r-gdtools")
-    (version "0.1.7")
+    (version "0.1.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gdtools" version))
        (sha256
         (base32
-         "122k9spymawfnfyksxyapwq9cigydy5nrjwhrwrhy3qkax3aycf6"))))
+         "1ayy0s699ghaz34lklvcskfwman3x2n2772s5sa5x9k9xgsnxwcl"))))
     (build-system r-build-system)
     (native-inputs
-     `(("r-rcpp" ,r-rcpp)
-       ("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)))
     (inputs
      `(("cairo" ,cairo)
        ("zlib" ,zlib)))
     (propagated-inputs
-     `(("r-withr" ,r-withr)))
+     `(("r-rcpp" ,r-rcpp)
+       ("r-withr" ,r-withr)))
     (home-page "https://cran.r-project.org/web/packages/gdtools")
     (synopsis "Utilities for graphical rendering")
     (description
@@ -1635,13 +1635,13 @@ defined in different packages.")
 (define-public r-rlang
   (package
     (name "r-rlang")
-    (version "0.3.2")
+    (version "0.3.3")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rlang" version))
               (sha256
                (base32
-                "13s8dh7nryjacp9jpi092icxf5ffkp16qxv59m923g5nkf8f03hi"))))
+                "1pdlafnijpd2vzy8jxcxwakfi66n4qzrqxvcxi1ja389m066cvbb"))))
     (build-system r-build-system)
     (home-page "http://rlang.tidyverse.org")
     (synopsis "Functions for base types, core R and Tidyverse features")
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index bd15fcc26c..9e7cd10918 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -37,11 +37,11 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages disk)
   #:use-module (gnu packages gcc)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 500f9a8528..5db822d8f9 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,7 +30,7 @@
 (define-public syncthing
   (package
     (name "syncthing")
-    (version "1.1.0")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/syncthing/syncthing"
@@ -38,7 +38,7 @@
                                   "/syncthing-source-v" version ".tar.gz"))
               (sha256
                (base32
-                "1iks1a3149gj89yqmqa5iry2ik2sj9sjhlhc6nfh7xq4swqgsrb5"))
+                "0xrlw95yp2p66rlvp2a2czf92m3hb3l8v3p39cwnaiw928y5i5m7"))
               (modules '((guix build utils)))
               ;; Delete bundled ("vendored") free software source code.
               (snippet '(begin
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index c0b92bab04..1ab909d53e 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -38,7 +38,6 @@
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system cmake)
-  #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages)
@@ -48,9 +47,6 @@
   #:use-module (gnu packages dns)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages guile)
-  #:use-module (gnu packages haskell)
-  #:use-module (gnu packages haskell-check)
-  #:use-module (gnu packages haskell-crypto)
   #:use-module (gnu packages libbsd)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages libidn)
@@ -533,13 +529,13 @@ netcat implementation that supports TLS.")
   (package
     (name "python-acme")
     ;; Remember to update the hash of certbot when updating python-acme.
-    (version "0.32.0")
+    (version "0.33.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "acme" version))
               (sha256
                (base32
-                "1v0skyrjnbxq0lfmia5k6jy29iig4sxbi9j9q367xsw0g25wxvqf"))))
+                "0gmnbjanv8dl8035n2b30wisqn4w9rr6fxzxrbrbnhhd40pnlplx"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -590,7 +586,7 @@ netcat implementation that supports TLS.")
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1j63i0j019q0d3l5rx14fv4nxy01nplhk7q2k2fq10vxl0jlxff0"))))
+                "0iiqr306zy56y8wpxsvzw1izs184pzps72kxhssmznqlgz5ngni5"))))
     (build-system python-build-system)
     (arguments
      `(,@(substitute-keyword-arguments (package-arguments python-acme)
@@ -882,48 +878,6 @@ coding footprint.")
                   #t)))
             ,@(package-arguments mbedtls-apache)))))))
 
-(define-public ghc-tls
-  (package
-    (name "ghc-tls")
-    (version "1.4.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://hackage.haskell.org/package/"
-                                  "tls/tls-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1y083724mym28n6xfaz7pcc7zqxdhjpaxpbvzxfbs25qq2px3smv"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-cereal" ,ghc-cereal)
-       ("ghc-data-default-class" ,ghc-data-default-class)
-       ("ghc-memory" ,ghc-memory)
-       ("ghc-cryptonite" ,ghc-cryptonite)
-       ("ghc-asn1-types" ,ghc-asn1-types)
-       ("ghc-asn1-encoding" ,ghc-asn1-encoding)
-       ("ghc-x509" ,ghc-x509)
-       ("ghc-x509-store" ,ghc-x509-store)
-       ("ghc-x509-validation" ,ghc-x509-validation)
-       ("ghc-async" ,ghc-async)
-       ("ghc-network" ,ghc-network)
-       ("ghc-hourglass" ,ghc-hourglass)))
-    (native-inputs
-     `(("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
-       ("ghc-quickcheck" ,ghc-quickcheck)))
-    (home-page "https://github.com/vincenthz/hs-tls")
-    (synopsis
-     "TLS/SSL protocol native implementation (Server and Client)")
-    (description
-     "Native Haskell TLS and SSL protocol implementation for server and client.
-This provides a high-level implementation of a sensitive security protocol,
-eliminating a common set of security issues through the use of the advanced
-type system, high level constructions and common Haskell features.  Currently
-implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and
-Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
-extensions.")
-    (license license:bsd-3)))
-
 (define-public dehydrated
   (package
     (name "dehydrated")
diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm
index 9d534e5799..5411ca249b 100644
--- a/gnu/packages/upnp.scm
+++ b/gnu/packages/upnp.scm
@@ -32,14 +32,14 @@
 (define-public miniupnpc
   (package
     (name "miniupnpc")
-    (version "2.1.20190210")
+    (version "2.1.20190403")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://miniupnp.tuxfamily.org/files/"
                            name "-" version ".tar.gz"))
        (sha256
-        (base32 "05w8p51yd71ksapajb9nag464ncakk72v9dxr01y168wix707d49"))))
+        (base32 "0qgwcinj8h312v2995qc2z1lbpmw916glkc8j9fa16xr4l2skxfy"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python-2)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 49980d2113..50284182c9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -45,10 +45,8 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
-  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
-  #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages apr)
@@ -69,12 +67,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages guile)
-  #:use-module (gnu packages haskell)
-  #:use-module (gnu packages haskell-check)
-  #:use-module (gnu packages haskell-crypto)
-  #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages nano)
@@ -1959,180 +1952,6 @@ a built-in wiki, built-in file browsing, built-in tickets system, etc.")
 be served with a HTTP file server of your choice.")
     (license license:expat)))
 
-;; Darcs has no https support: http://irclog.perlgeek.de/darcs/2016-09-17
-;; http://darcs.net/manual/Configuring_darcs.html#SECTION00440070000000000000
-;; and results of search engines will show that if the protocol is http, https
-;; is never mentioned.
-(define-public darcs
-  (package
-    (name "darcs")
-    (version "2.14.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/darcs/"
-                           "darcs-" version ".tar.gz"))
-       (sha256
-        (base32
-         "0zm2486gyhiga1amclbg92cd09bvki6vgh0ll75hv5kl72j61lb5"))
-       (modules '((guix build utils)))
-       ;; Remove time-dependent code for reproducibility.
-       (snippet
-        '(begin
-           (substitute* "darcs/darcs.hs"
-             (("__DATE__") "\"1970-01-01\"")
-             (("__TIME__") "\"00:00:00\""))
-           #t))))
-    (build-system haskell-build-system)
-    (arguments
-     `(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
-                           "-fnetwork-uri" "-fhttp" "--flag=executable"
-                           "--flag=library")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'patch-source-shebangs 'patch-sh
-           (lambda _
-             (substitute* "tests/issue538.sh"
-               (("/bin/sh") (which "sh")))
-             #t)))))
-    (inputs
-     `(("ghc-cmdargs" ,ghc-cmdargs)
-       ("ghc-split" ,ghc-split)
-       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
-       ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
-       ("ghc-test-framework" ,ghc-test-framework)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-findbin" ,ghc-findbin)
-       ("ghc-hunit" ,ghc-hunit)
-       ("ghc-async" ,ghc-async)
-       ("ghc-attoparsec" ,ghc-attoparsec)
-       ("ghc-base16-bytestring" ,ghc-base16-bytestring)
-       ("ghc-bytestring-builder" ,ghc-bytestring-builder)
-       ("ghc-cryptohash" ,ghc-cryptohash)
-       ("ghc-data-ordlist" ,ghc-data-ordlist)
-       ("ghc-fgl" ,ghc-fgl)
-       ("ghc-system-filepath" ,ghc-system-filepath)
-       ("ghc-graphviz" ,ghc-graphviz)
-       ("ghc-hashable" ,ghc-hashable)
-       ("ghc-html" ,ghc-html)
-       ("ghc-mmap" ,ghc-mmap)
-       ("ghc-old-time" ,ghc-old-time)
-       ("ghc-parsec" ,ghc-parsec)
-       ("ghc-random" ,ghc-random)
-       ("ghc-regex-applicative" ,ghc-regex-applicative)
-       ("ghc-regex-compat-tdfa" ,ghc-regex-compat-tdfa)
-       ("ghc-sandi" ,ghc-sandi)
-       ("ghc-shelly" ,ghc-shelly)
-       ("ghc-tar" ,ghc-tar)
-       ("ghc-transformers-compat" ,ghc-transformers-compat)
-       ("ghc-unix-compat" ,ghc-unix-compat)
-       ("ghc-utf8-string" ,ghc-utf8-string)
-       ("ghc-vector" ,ghc-vector)
-       ("ghc-zip-archive" ,ghc-zip-archive)
-       ("ghc-zlib" ,ghc-zlib)
-       ("ghc-http" ,ghc-http)
-       ("curl" ,curl)
-       ("ghc" ,ghc)
-       ("ncurses" ,ncurses)
-       ("perl" ,perl)
-       ("libiconv" ,libiconv)
-       ("ghc-network" ,ghc-network)
-       ("ghc-network-uri" ,ghc-network-uri)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)))
-    (home-page "http://darcs.net")
-    (synopsis "Distributed Revision Control System")
-    (description
-     "Darcs is a revision control system.  It is:
-
-@enumerate
-@item Distributed: Every user has access to the full command set, removing boundaries
-between server and client or committer and non-committers.
-@item Interactive: Darcs is easy to learn and efficient to use because it asks you
-questions in response to simple commands, giving you choices in your work flow.
-You can choose to record one change in a file, while ignoring another.  As you update
-from upstream, you can review each patch name, even the full diff for interesting
-patches.
-@item Smart: Originally developed by physicist David Roundy, darcs is based on a
-unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
-@end enumerate")
-    (license license:gpl2)))
-
-(define-public java-jgit
-  (package
-    (name "java-jgit")
-    (version "4.7.0.201704051617-r")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://repo1.maven.org/maven2/"
-                                  "org/eclipse/jgit/org.eclipse.jgit/"
-                                  version "/org.eclipse.jgit-"
-                                  version "-sources.jar"))
-              (sha256
-               (base32
-                "13ii4jn02ynzq6i7gsyi21k2i94jpc85wf6bcm31q4cyvzv0mk4k"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:tests? #f                      ; There are no tests to run.
-       #:jar-name "jgit.jar"
-       ;; JGit must be built with a JDK supporting Java 8.
-       #:jdk ,icedtea-8
-       ;; Target our older default JDK.
-       #:make-flags (list "-Dtarget=1.7")
-       #:phases
-       (modify-phases %standard-phases
-         ;; The jar file generated by the default build.xml does not include
-         ;; the text properties files, so we need to add them.
-         (add-after 'build 'add-properties
-           (lambda* (#:key jar-name #:allow-other-keys)
-             (with-directory-excursion "src"
-               (apply invoke "jar" "-uf"
-                      (string-append "../build/jar/" jar-name)
-                      (find-files "." "\\.properties$")))
-             #t)))))
-    (inputs
-     `(("java-classpathx-servletapi" ,java-classpathx-servletapi)
-       ("java-javaewah" ,java-javaewah)
-       ("java-jsch" ,java-jsch)
-       ("java-slf4j-api" ,java-slf4j-api)))
-    (home-page "https://eclipse.org/jgit/")
-    (synopsis "Java library implementing the Git version control system")
-    (description "JGit is a lightweight, pure Java library implementing the
-Git version control system, providing repository access routines, support for
-network protocols, and core version control algorithms.")
-    (license license:edl1.0)))
-
-;; For axoloti.  This package can still be built with icedtea-7, which is
-;; currently used as the default JDK.
-(define-public java-jgit-4.2
-  (package (inherit java-jgit)
-    (version "4.2.0.201601211800-r")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://repo1.maven.org/maven2/"
-                                  "org/eclipse/jgit/org.eclipse.jgit/"
-                                  version "/org.eclipse.jgit-"
-                                  version "-sources.jar"))
-              (sha256
-               (base32
-                "15gm537iivhnzlkjym4x3wn5jqdjdragsw9pdpzqqg21nrc817mm"))))
-    (build-system ant-build-system)
-    (arguments
-     (substitute-keyword-arguments (package-arguments java-jgit)
-       ;; Build for default JDK.
-       ((#:jdk _) icedtea-7)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'use-latest-javaewah-API
-             (lambda _
-               (substitute* "src/org/eclipse/jgit/internal/storage/file/BitmapIndexImpl.java"
-                 (("wordinbits") "WORD_IN_BITS"))
-               #t))))))
-    (inputs
-     `(("java-javaewah" ,java-javaewah)
-       ("java-jsch" ,java-jsch)
-       ("java-slf4j-api" ,java-slf4j-api)))))
-
 (define-public gource
   (package
     (name "gource")
@@ -2221,133 +2040,6 @@ cases like all those little scripts in your @file{~/bin} directory, or a
 directory full of HOWTOs.")
     (license license:bsd-2)))
 
-(define-public git-annex
-  (package
-    (name "git-annex")
-    (version "6.20180926")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "git-annex/git-annex-" version ".tar.gz"))
-       (sha256
-        (base32
-         "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d"))))
-    (build-system haskell-build-system)
-    (arguments
-     `(#:configure-flags
-       '("--flags=-Android -Assistant -Pairing -S3 -Webapp -WebDAV")
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-shell
-           (lambda _
-             (substitute* "Utility/Shell.hs"
-               (("/bin/sh") (which "sh")))
-             #t))
-         (add-before 'configure 'factor-setup
-           (lambda _
-             ;; Factor out necessary build logic from the provided
-             ;; `Setup.hs' script.  The script as-is does not work because
-             ;; it cannot find its dependencies, and there is no obvious way
-             ;; to tell it where to look.  Note that we do not preserve the
-             ;; code that installs man pages here.
-             (call-with-output-file "PreConf.hs"
-               (lambda (out)
-                 (format out "import qualified Build.Configure as Configure~%")
-                 (format out "main = Configure.run Configure.tests~%")))
-             (call-with-output-file "Setup.hs"
-               (lambda (out)
-                 (format out "import Distribution.Simple~%")
-                 (format out "main = defaultMain~%")))
-             #t))
-         (add-before 'configure 'pre-configure
-           (lambda _
-             (invoke "runhaskell" "PreConf.hs")
-             #t))
-         (replace 'check
-           (lambda _
-             ;; We need to set the path so that Git recognizes
-             ;; `git annex' as a custom command.
-             (setenv "PATH" (string-append (getenv "PATH") ":"
-                                           (getcwd) "/dist/build/git-annex"))
-             (with-directory-excursion "dist/build/git-annex"
-               (symlink "git-annex" "git-annex-shell"))
-             (invoke "git-annex" "test")
-             #t))
-         (add-after 'install 'install-symlinks
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin")))
-               (symlink (string-append bin "/git-annex")
-                        (string-append bin "/git-annex-shell"))
-               (symlink (string-append bin "/git-annex")
-                        (string-append bin "/git-remote-tor-annex"))
-               #t))))))
-    (inputs
-     `(("curl" ,curl)
-       ("ghc-aeson" ,ghc-aeson)
-       ("ghc-async" ,ghc-async)
-       ("ghc-bloomfilter" ,ghc-bloomfilter)
-       ("ghc-byteable" ,ghc-byteable)
-       ("ghc-case-insensitive" ,ghc-case-insensitive)
-       ("ghc-crypto-api" ,ghc-crypto-api)
-       ("ghc-cryptonite" ,ghc-cryptonite)
-       ("ghc-data-default" ,ghc-data-default)
-       ("ghc-disk-free-space" ,ghc-disk-free-space)
-       ("ghc-dlist" ,ghc-dlist)
-       ("ghc-edit-distance" ,ghc-edit-distance)
-       ("ghc-esqueleto" ,ghc-esqueleto)
-       ("ghc-exceptions" ,ghc-exceptions)
-       ("ghc-feed" ,ghc-feed)
-       ("ghc-free" ,ghc-free)
-       ("ghc-hslogger" ,ghc-hslogger)
-       ("ghc-http-client" ,ghc-http-client)
-       ("ghc-http-conduit" ,ghc-http-conduit)
-       ("ghc-http-types" ,ghc-http-types)
-       ("ghc-ifelse" ,ghc-ifelse)
-       ("ghc-memory" ,ghc-memory)
-       ("ghc-monad-control" ,ghc-monad-control)
-       ("ghc-monad-logger" ,ghc-monad-logger)
-       ("ghc-network" ,ghc-network)
-       ("ghc-old-locale" ,ghc-old-locale)
-       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
-       ("ghc-persistent" ,ghc-persistent)
-       ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
-       ("ghc-persistent-template" ,ghc-persistent-template)
-       ("ghc-quickcheck" ,ghc-quickcheck)
-       ("ghc-random" ,ghc-random)
-       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
-       ("ghc-resourcet" ,ghc-resourcet)
-       ("ghc-safesemaphore" ,ghc-safesemaphore)
-       ("ghc-sandi" ,ghc-sandi)
-       ("ghc-securemem" ,ghc-securemem)
-       ("ghc-socks" ,ghc-socks)
-       ("ghc-split" ,ghc-split)
-       ("ghc-stm" ,ghc-stm)
-       ("ghc-stm-chans" ,ghc-stm-chans)
-       ("ghc-tagsoup" ,ghc-tagsoup)
-       ("ghc-text" ,ghc-text)
-       ("ghc-unix-compat" ,ghc-unix-compat)
-       ("ghc-unordered-containers" ,ghc-unordered-containers)
-       ("ghc-utf8-string" ,ghc-utf8-string)
-       ("ghc-uuid" ,ghc-uuid)
-       ("git" ,git)
-       ("rsync" ,rsync)))
-    (native-inputs
-     `(("ghc-tasty" ,ghc-tasty)
-       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
-       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
-       ("ghc-tasty-rerun" ,ghc-tasty-rerun)))
-    (home-page "https://git-annex.branchable.com/")
-    (synopsis "Manage files with Git, without checking in their contents")
-    (description "This package allows managing files with Git, without
-checking the file contents into Git.  It can store files in many places,
-such as local hard drives and cloud storage services.  It can also be
-used to keep a folder in sync between computers.")
-    ;; The web app is released under the AGPLv3+.
-    (license (list license:gpl3+
-                   license:agpl3+))))
-
 (define-public git-when-merged
   ;; Use an unreleased version to get a PY3 compatibility fix.
   (let ((commit "ab6af7865a0ba55ba364a6c507e0be6f84f31c6d"))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 87e1b0b959..0b9e7d0bc4 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -25,7 +25,7 @@
 ;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -755,14 +755,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "4.1.2")
+    (version "4.1.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0yrl6nij4b1pk1c4nbi80857dsd760gziiss2ls19awq8zj0lpxr"))))
+               "0gdnprc7gk4b7ckq8wbxbrj7i00r76r9a5g9mj7iln40512j0c0c"))))
     (build-system gnu-build-system)
     (inputs
      `(("fontconfig" ,fontconfig)
@@ -2849,7 +2849,7 @@ many codecs and formats supported by libmediainfo.")
 (define-public livemedia-utils
   (package
     (name "livemedia-utils")
-    (version "2018.10.17")
+    (version "2019.03.06")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2857,13 +2857,7 @@ many codecs and formats supported by libmediainfo.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1s69ipvdc6ldscp0cr1zpsll8xc3qcagr95nl84x7b1rbg4xjs3w"))
-              (modules '((guix build utils)))
-              (snippet '(begin
-                          ;; As of glibc 2.26, <xlocale.h> no longer is.
-                          (substitute* "liveMedia/include/Locale.hh"
-                            (("xlocale\\.h") "locale.h"))
-                          #t))))
+                "1gasdl95yjabv811knkmy5laj21a54z1jdfq36jdj984k1nw5l0b"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; no tests
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 6155c008fa..99edf3df01 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -42,9 +42,9 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 6a34c1e2fd..e84b42358c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
@@ -85,7 +85,6 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnu-doc)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -102,6 +101,7 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages markup)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages openstack)
   #:use-module (gnu packages base)
   #:use-module (gnu packages package-management)
@@ -125,14 +125,14 @@
 (define-public httpd
   (package
     (name "httpd")
-    (version "2.4.38")
+    (version "2.4.39")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://apache/httpd/httpd-"
                                  version ".tar.bz2"))
              (sha256
               (base32
-               "0jiriyyf3pm6axf4mrz6c2z08yhs21hb4d23viq87jclm5bmiikx"))))
+               "18ngvsjq65qxk3biggnkhkq8jlll9dsg9n3csra9p99sfw2rvjml"))))
     (build-system gnu-build-system)
     (native-inputs `(("pcre" ,pcre "bin")))       ;for 'pcre-config'
     (inputs `(("apr" ,apr)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 9f0959d78f..f739f207e7 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -44,9 +44,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages java)
-  #:use-module (gnu packages gnuzilla)
-  #:use-module (gnu packages haskell)
-  #:use-module (gnu packages haskell-check)
+  #:use-module (gnu packages nss)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages python)
@@ -61,7 +59,6 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system haskell)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config))
 
@@ -1990,111 +1987,6 @@ outputting XML data from Java code.")
 and back again.")
     (license license:bsd-3)))
 
-(define-public ghc-hxt-charproperties
-  (package
-    (name "ghc-hxt-charproperties")
-    (version "9.2.0.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "hxt-charproperties/hxt-charproperties-"
-                           version ".tar.gz"))
-       (sha256
-        (base32
-         "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
-    (build-system haskell-build-system)
-    (home-page "https://github.com/UweSchmidt/hxt")
-    (synopsis "Character properties and classes for XML and Unicode")
-    (description
-     "The modules provided by this package contain predicates for Unicode
-blocks and char properties and character predicates defined by XML.  The
-supported Unicode version is 7.0.0")
-    (license license:expat)))
-
-(define-public ghc-hxt-unicode
-  (package
-    (name "ghc-hxt-unicode")
-    (version "9.0.2.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
-    (home-page
-     "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
-    (synopsis
-     "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
-    (description
-     "This package provides Unicode encoding and decoding functions for
-encodings used in the Haskell XML Toolbox.  ISO Latin 1-16, utf8, utf16, ASCII
-are supported. Decoding is done with lazy functions, errors may be detected or
-ignored.")
-    (license license:expat)))
-
-(define-public ghc-hxt-regex-xmlschema
-  (package
-    (name "ghc-hxt-regex-xmlschema")
-    (version "9.2.0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://hackage.haskell.org/package/"
-                           "hxt-regex-xmlschema/hxt-regex-xmlschema-"
-                           version ".tar.gz"))
-       (sha256
-        (base32
-         "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
-       ("ghc-parsec" ,ghc-parsec)
-       ("ghc-text" ,ghc-text)
-       ("ghc-hunit" ,ghc-hunit)))
-    (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
-    (synopsis "Regular expression library for W3C XML Schema regular expressions")
-    (description
-     "This library supports full W3C XML Schema regular expressions inclusive
-all Unicode character sets and blocks.  It is implemented by the technique of
-derivations of regular expressions.")
-    (license license:expat)))
-
-(define-public ghc-hxt
-  (package
-    (name "ghc-hxt")
-    (version "9.3.1.16")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://hackage.haskell.org/package/hxt/hxt-"
-             version
-             ".tar.gz"))
-       (sha256
-        (base32
-         "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
-    (build-system haskell-build-system)
-    (inputs
-     `(("ghc-parsec" ,ghc-parsec)
-       ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
-       ("ghc-hxt-unicode" ,ghc-hxt-unicode)
-       ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
-       ("ghc-network-uri" ,ghc-network-uri)))
-    (home-page "https://github.com/UweSchmidt/hxt")
-    (synopsis "Collection of tools for processing XML with Haskell")
-    (description
-     "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
-introduces a more general approach for processing XML with Haskell.")
-    (license license:expat)))
-
 (define-public xmlrpc-c
   (package
     (name "xmlrpc-c")
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 04b123b833..65f7ff29c8 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -719,7 +719,8 @@ to add @var{device} to the kernel's entropy pool.  The service will fail if
                                  #$@files))))
       (respawn? #f)))))
 
-(define (console-keymap-service . files)
+(define-deprecated (console-keymap-service #:rest files)
+  #f
   "Return a service to load console keymaps from @var{files}."
   (service console-keymap-service-type files))
 
@@ -1515,19 +1516,9 @@ GID."
 (define (hydra-key-authorization keys guix)
   "Return a gexp with code to register KEYS, a list of files containing 'guix
 archive' public keys, with GUIX."
-  (define aaa
-    ;; XXX: Terrible hack to work around <https://bugs.gnu.org/15602>: this
-    ;; forces (guix config) and (guix utils) to be loaded upfront, so that
-    ;; their run-time symbols are defined.
-    (scheme-file "aaa.scm"
-                 #~(define-module (guix aaa)
-                     #:use-module (guix config)
-                     #:use-module (guix memoization))))
-
   (define default-acl
     (with-extensions (list guile-gcrypt)
       (with-imported-modules `(((guix config) => ,(make-config.scm))
-                               ((guix aaa) => ,aaa)
                                ,@(source-module-closure '((guix pki))
                                                         #:select? not-config?))
         (computed-file "acl"
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index 606ee0c2f5..35d7ff3c9c 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages admin)
   #:use-module (guix gexp)
+  #:use-module ((guix packages) #:select (package-name))
   #:use-module (guix records)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match)
@@ -33,6 +34,7 @@
             dbus-configuration?
             dbus-root-service-type
             dbus-service
+            wrapped-dbus-service
 
             polkit-service-type
             polkit-service))
@@ -229,6 +231,52 @@ and policy files.  For example, to allow avahi-daemon to use the system bus,
            (dbus-configuration (dbus dbus)
                                (services services))))
 
+(define (wrapped-dbus-service service program variables)
+  "Return a wrapper for @var{service}, a package containing a D-Bus service,
+where @var{program} is wrapped such that @var{variables}, a list of name/value
+tuples, are all set as environment variables when the bus daemon launches it."
+  (define wrapper
+    (program-file (string-append (package-name service) "-program-wrapper")
+                  #~(begin
+                      (use-modules (ice-9 match))
+
+                      (for-each (match-lambda
+                                  ((variable value)
+                                   (setenv variable value)))
+                                '#$variables)
+
+                      (apply execl (string-append #$service "/" #$program)
+                             (string-append #$service "/" #$program)
+                             (cdr (command-line))))))
+
+  (define build
+    (with-imported-modules '((guix build utils))
+      #~(begin
+          (use-modules (guix build utils))
+
+          (define service-directory
+            "/share/dbus-1/system-services")
+
+          (mkdir-p (dirname (string-append #$output
+                                           service-directory)))
+          (copy-recursively (string-append #$service
+                                           service-directory)
+                            (string-append #$output
+                                           service-directory))
+          (symlink (string-append #$service "/etc") ;for etc/dbus-1
+                   (string-append #$output "/etc"))
+
+          (for-each (lambda (file)
+                      (substitute* file
+                        (("Exec[[:blank:]]*=[[:blank:]]*([[:graph:]]+)(.*)$"
+                          _ original-program arguments)
+                         (string-append "Exec=" #$wrapper arguments
+                                        "\n"))))
+                    (find-files #$output "\\.service$")))))
+
+  (computed-file (string-append (package-name service) "-wrapper")
+                 build))
+
 
 ;;;
 ;;; Polkit privilege management service.
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index dcab950822..578095b146 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -150,46 +150,6 @@
       ((package . _) package))))
 
 
-(define (wrapped-dbus-service service program variable value)
-  "Return a wrapper for @var{service}, a package containing a D-Bus service,
-where @var{program} is wrapped such that environment variable @var{variable}
-is set to @var{value} when the bus daemon launches it."
-  (define wrapper
-    (program-file (string-append (package-name service) "-program-wrapper")
-                  #~(begin
-                      (setenv #$variable #$value)
-                      (apply execl (string-append #$service "/" #$program)
-                             (string-append #$service "/" #$program)
-                             (cdr (command-line))))))
-
-  (define build
-    (with-imported-modules '((guix build utils))
-      #~(begin
-          (use-modules (guix build utils))
-
-          (define service-directory
-            "/share/dbus-1/system-services")
-
-          (mkdir-p (dirname (string-append #$output
-                                           service-directory)))
-          (copy-recursively (string-append #$service
-                                           service-directory)
-                            (string-append #$output
-                                           service-directory))
-          (symlink (string-append #$service "/etc") ;for etc/dbus-1
-                   (string-append #$output "/etc"))
-
-          (for-each (lambda (file)
-                      (substitute* file
-                        (("Exec[[:blank:]]*=[[:blank:]]*([[:graph:]]+)(.*)$"
-                          _ original-program arguments)
-                         (string-append "Exec=" #$wrapper arguments
-                                        "\n"))))
-                    (find-files #$output "\\.service$")))))
-
-  (computed-file (string-append (package-name service) "-wrapper")
-                 build))
-
 
 ;;;
 ;;; Upower D-Bus service.
@@ -257,8 +217,8 @@ is set to @var{value} when the bus daemon launches it."
 (define (upower-dbus-service config)
   (list (wrapped-dbus-service (upower-configuration-upower config)
                               "libexec/upowerd"
-                              "UPOWER_CONF_FILE_NAME"
-                              (upower-configuration-file config))))
+                              `(("UPOWER_CONF_FILE_NAME"
+                                 ,(upower-configuration-file config))))))
 
 (define (upower-shepherd-service config)
   "Return a shepherd service for UPower with CONFIG."
@@ -389,8 +349,8 @@ users are allowed."
 (define (geoclue-dbus-service config)
   (list (wrapped-dbus-service (geoclue-configuration-geoclue config)
                               "libexec/geoclue"
-                              "GEOCLUE_CONFIG_FILE"
-                              (geoclue-configuration-file config))))
+                              `(("GEOCLUE_CONFIG_FILE"
+                                 ,(geoclue-configuration-file config))))))
 
 (define %geoclue-accounts
   (list (user-group (name "geoclue") (system? #t))
@@ -742,8 +702,8 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
 (define (elogind-dbus-service config)
   (list (wrapped-dbus-service (elogind-package config)
                               "libexec/elogind/elogind"
-                              "ELOGIND_CONF_FILE"
-                              (elogind-configuration-file config))))
+                              `(("ELOGIND_CONF_FILE"
+                                 ,(elogind-configuration-file config))))))
 
 (define (pam-extension-procedure config)
   "Return an extension for PAM-ROOT-SERVICE-TYPE that ensures that all the PAM
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index a7e8c41d3a..0dabfed4cb 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -64,7 +64,12 @@
             exim-configuration
             exim-configuration?
             exim-service-type
-            %default-exim-config-file))
+            %default-exim-config-file
+
+            imap4d-configuration
+            imap4d-configuration?
+            imap4d-service-type
+            %defualt-imap4d-config-file))
 
 ;;; Commentary:
 ;;;
@@ -1776,3 +1781,41 @@ exim_group = exim
           (service-extension activation-service-type exim-activation)
           (service-extension profile-service-type exim-profile)
           (service-extension mail-aliases-service-type (const '()))))))
+
+
+;;;
+;;; GNU Mailutils IMAP4 Daemon.
+;;;
+
+(define %default-imap4d-config-file
+  (plain-file "imap4d.conf" "server localhost {};\n"))
+
+(define-record-type* <imap4d-configuration>
+  imap4d-configuration make-imap4d-configuration imap4d-configuration?
+  (package     imap4d-configuration-package
+               (default mailutils))
+  (config-file imap4d-configuration-config-file
+               (default %default-imap4d-config-file)))
+
+(define imap4d-shepherd-service
+  (match-lambda
+    (($ <imap4d-configuration> package config-file)
+     (list (shepherd-service
+            (provision '(imap4d))
+            (requirement '(networking syslogd))
+            (documentation "Run the imap4d daemon.")
+            (start (let ((imap4d (file-append package "/sbin/imap4d")))
+                     #~(make-forkexec-constructor
+                        (list #$imap4d "--daemon" "--foreground"
+                              "--config-file" #$config-file))))
+            (stop #~(make-kill-destructor)))))))
+
+(define imap4d-service-type
+  (service-type
+   (name 'imap4d)
+   (description
+    "Run the GNU @command{imap4d} to serve e-mail messages through IMAP.")
+   (extensions
+    (list (service-extension
+           shepherd-root-service-type imap4d-shepherd-service)))
+   (default-value (imap4d-configuration))))
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 5fbbf25789..61561a40dd 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1060,12 +1060,13 @@ networking."))))
      (list (shepherd-service
             (documentation "Run the WPA supplicant daemon")
             (provision '(wpa-supplicant))
-            (requirement '(user-processes dbus-system loopback))
+            (requirement '(user-processes dbus-system loopback syslogd))
             (start #~(make-forkexec-constructor
                       (list (string-append #$wpa-supplicant
                                            "/sbin/wpa_supplicant")
                             (string-append "-P" #$pid-file)
                             "-B"        ;run in background
+                            "-s"        ;log to syslogd
                             #$@(if dbus?
                                    #~("-u")
                                    #~())
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 362a7f1490..25db783420 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -617,7 +617,8 @@ of user-name/file-like tuples."
                  (list (service-extension shepherd-root-service-type
                                           dropbear-shepherd-service)
                        (service-extension activation-service-type
-                                          dropbear-activation)))))
+                                          dropbear-activation)))
+                (default-value (dropbear-configuration))))
 
 (define* (dropbear-service #:optional (config (dropbear-configuration)))
   "Run the @uref{https://matt.ucc.asn.au/dropbear/dropbear.html,Dropbear SSH
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 29c7f30013..d4e73c13b4 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu services shepherd)
   #:use-module (gnu system pam)
   #:use-module (gnu system keyboard)
+  #:use-module (gnu services base)
   #:use-module (gnu services dbus)
   #:use-module ((gnu packages base) #:select (canonical-package))
   #:use-module (gnu packages guile)
@@ -35,6 +36,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages display-managers)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gnustep)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages admin)
@@ -91,9 +93,14 @@
             screen-locker-service-type
             screen-locker-service
 
+            localed-configuration
+            localed-configuration?
+            localed-service-type
+
             gdm-configuration
             gdm-service-type
-            gdm-service))
+            gdm-service
+            set-xorg-configuration))
 
 ;;; Commentary:
 ;;;
@@ -653,6 +660,88 @@ makes the good ol' XlockMore usable."
                           (file-append package "/bin/" program)
                           allow-empty-passwords?)))
 
+
+;;;
+;;; Locale service.
+;;;
+
+(define-record-type* <localed-configuration>
+  localed-configuration make-localed-configuration
+  localed-configuration?
+  (localed         localed-configuration-localed
+                   (default localed))
+  (keyboard-layout localed-configuration-keyboard-layout
+                   (default #f)))
+
+(define (localed-dbus-service config)
+  "Return the 'localed' D-Bus service for @var{config}, a
+@code{<localed-configuration>} record."
+  (define keyboard-layout
+    (localed-configuration-keyboard-layout config))
+
+  ;; The primary purpose of 'localed' is to tell GDM what the "current" Xorg
+  ;; keyboard layout is.  If 'localed' is missing, or if it's unable to
+  ;; determine the current XKB layout, then GDM forcefully installs its
+  ;; default XKB config (US English).  Here we communicate the configured
+  ;; layout through environment variables.
+
+  (if keyboard-layout
+      (let* ((layout  (keyboard-layout-name keyboard-layout))
+             (variant (keyboard-layout-variant keyboard-layout))
+             (model   (keyboard-layout-model keyboard-layout))
+             (options (keyboard-layout-options keyboard-layout)))
+        (list (wrapped-dbus-service
+               (localed-configuration-localed config)
+               "libexec/localed/localed"
+               `(("GUIX_XKB_LAYOUT" ,layout)
+                 ,@(if variant
+                       `(("GUIX_XKB_VARIANT" ,variant))
+                       '())
+                 ,@(if model
+                       `(("GUIX_XKB_MODEL" ,model))
+                       '())
+                 ,@(if (null? options)
+                       '()
+                       `(("GUIX_XKB_OPTIONS"
+                          ,(string-join options ","))))))))
+      '()))
+
+(define localed-service-type
+  (let ((package (lambda (config)
+                   ;; Don't bother if the user didn't specify any keyboard
+                   ;; layout.
+                   (if (localed-configuration-keyboard-layout config)
+                       (list (localed-configuration-localed config))
+                       '()))))
+    (service-type (name 'localed)
+                  (extensions
+                   (list (service-extension dbus-root-service-type
+                                            localed-dbus-service)
+                         (service-extension udev-service-type package)
+                         (service-extension polkit-service-type package)
+
+                         ;; Add 'localectl' to the profile.
+                         (service-extension profile-service-type package)))
+
+                  ;; This service can be extended, typically by the X login
+                  ;; manager, to communicate the chosen Xorg keyboard layout.
+                  (compose (lambda (extensions)
+                             (find keyboard-layout? extensions)))
+                  (extend (lambda (config keyboard-layout)
+                            (localed-configuration
+                             (inherit config)
+                             (keyboard-layout keyboard-layout))))
+                  (description
+                   "Run the locale daemon, @command{localed}, which can be used
+to control the system locale and keyboard mapping from user programs such as
+the GNOME desktop environment.")
+                  (default-value (localed-configuration)))))
+
+
+;;;
+;;; GNOME Desktop Manager.
+;;;
+
 (define %gdm-accounts
   (list (user-group (name "gdm") (system? #t))
         (user-account
@@ -787,7 +876,26 @@ makes the good ol' XlockMore usable."
                                           gdm-configuration-gnome-shell-assets)
                        (service-extension dbus-root-service-type
                                           (compose list
-                                                   gdm-configuration-gdm))))
+                                                   gdm-configuration-gdm))
+                       (service-extension localed-service-type
+                                          (compose
+                                           xorg-configuration-keyboard-layout
+                                           gdm-configuration-xorg))))
+
+                ;; For convenience, this service can be extended with an
+                ;; <xorg-configuration> record.  Take the first one that
+                ;; comes.
+                (compose (lambda (extensions)
+                           (match extensions
+                             (() #f)
+                             ((config . _) config))))
+                (extend (lambda (config xorg-configuration)
+                          (if xorg-configuration
+                              (gdm-configuration
+                               (inherit config)
+                               (xorg-configuration xorg-configuration))
+                              config)))
+
                 (default-value (gdm-configuration))
                 (description
                  "Run the GNOME Desktop Manager (GDM), a program that allows
@@ -821,4 +929,14 @@ password."
             (gdm gdm)
             (allow-empty-passwords? allow-empty-passwords?))))
 
+(define* (set-xorg-configuration config
+                                 #:optional
+                                 (login-manager-service-type
+                                  gdm-service-type))
+  "Tell the log-in manager (of type @var{login-manager-service-type}) to use
+@var{config}, an <xorg-configuration> record."
+  (simple-service 'set-xorg-configuration
+                  login-manager-service-type
+                  config))
+
 ;;; xorg.scm ends here
diff --git a/gnu/system/examples/asus-c201.tmpl b/gnu/system/examples/asus-c201.tmpl
new file mode 100644
index 0000000000..098958f4a2
--- /dev/null
+++ b/gnu/system/examples/asus-c201.tmpl
@@ -0,0 +1,60 @@
+;; This is an operating system configuration template
+;; for a "bare bones" setup for an ASUS C201PA.
+
+(use-modules (gnu) (gnu bootloader depthcharge))
+(use-service-modules networking ssh)
+(use-package-modules linux screen)
+
+(operating-system
+  (host-name "komputilo")
+  (timezone "Europe/Berlin")
+  (locale "en_US.utf8")
+
+  ;; Assuming /dev/mmcblk0p1 is the kernel partition, and
+  ;; "my-root" is the label of the target root file system.
+  (bootloader (bootloader-configuration
+                (bootloader depthcharge-bootloader)
+                (target "/dev/mmcblk0p1")))
+
+  ;; The ASUS C201PA requires a very particular kernel to boot,
+  ;; as well as the following arguments.
+  (kernel linux-libre-arm-veyron)
+  (kernel-arguments '("console=tty1"))
+
+  ;; We do not need any special modules for initrd, and the
+  ;; PrawnOS kernel does not include many of the normal ones.
+  (initrd-modules '())
+
+  (file-systems (cons (file-system
+                        (device (file-system-label "my-root"))
+                        (mount-point "/")
+                        (type "ext4"))
+                      %base-file-systems))
+
+  ;; This is where user accounts are specified.  The "root"
+  ;; account is implicit, and is initially created with the
+  ;; empty password.
+  (users (cons (user-account
+                (name "alice")
+                (comment "Bob's sister")
+                (group "users")
+
+                ;; Adding the account to the "wheel" group
+                ;; makes it a sudoer.  Adding it to "audio"
+                ;; and "video" allows the user to play sound
+                ;; and access the webcam.
+                (supplementary-groups '("wheel"
+                                        "audio" "video"))
+                (home-directory "/home/alice"))
+               %base-user-accounts))
+
+  ;; Globally-installed packages.
+  (packages (cons screen %base-packages))
+
+  ;; Add services to the baseline: a DHCP client and
+  ;; an SSH server.
+  (services (append (list (service dhcp-client-service-type)
+                          (service openssh-service-type
+                                   (openssh-configuration
+                                    (port-number 2222))))
+                    %base-services)))
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index ff4c12b24a..baeb5e2d77 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -3,7 +3,7 @@
 ;; root partition is encrypted with LUKS.
 
 (use-modules (gnu) (gnu system nss))
-(use-service-modules desktop)
+(use-service-modules desktop xorg)
 (use-package-modules certs gnome)
 
 (operating-system
@@ -11,11 +11,16 @@
   (timezone "Europe/Paris")
   (locale "en_US.utf8")
 
+  ;; Choose US English keyboard layout.  The "altgr-intl"
+  ;; variant provides dead keys for accented characters.
+  (keyboard-layout (keyboard-layout "us" "altgr-intl"))
+
   ;; Use the UEFI variant of GRUB with the EFI System
   ;; Partition mounted on /boot/efi.
   (bootloader (bootloader-configuration
                 (bootloader grub-efi-bootloader)
-                (target "/boot/efi")))
+                (target "/boot/efi")
+                (keyboard-layout keyboard-layout)))
 
   ;; Specify a mapped device for the encrypted root partition.
   ;; The UUID is that returned by 'cryptsetup luksUUID'.
@@ -58,7 +63,10 @@
   ;; include the X11 log-in service, networking with
   ;; NetworkManager, and more.
   (services (append (list (service gnome-desktop-service-type)
-                          (service xfce-desktop-service-type))
+                          (service xfce-desktop-service-type)
+                          (set-xorg-configuration
+                           (xorg-configuration
+                            (keyboard-layout keyboard-layout))))
                     %desktop-services))
 
   ;; Allow resolution of '.local' host names with mDNS.
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index aad1deb913..91e7b481e8 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -212,13 +212,11 @@ the user's target storage device rather than on the RAM disk."
 (define %installation-services
   ;; List of services of the installation system.
   (let ((motd (plain-file "motd" "
-\x1b[1;37mWelcome to the installation of the Guix System Distribution!\x1b[0m
+\x1b[1;37mWelcome to the installation of GNU Guix!\x1b[0m
 
-\x1b[2mThere is NO WARRANTY, to the extent permitted by law.  In particular, you may
-LOSE ALL YOUR DATA as a side effect of the installation process.  Furthermore,
-it is 'beta' software, so it may contain bugs.
-
-You have been warned.  Thanks for being so brave.\x1b[0m
+\x1b[2m\
+Using this shell, you can carry out the installation process \"manually.\"
+Access documentation at any time by pressing Alt-F2.\x1b[0m
 ")))
     (define (normal-tty tty)
       (mingetty-service (mingetty-configuration (tty tty)
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 5b5b064b59..4f2adba90a 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -634,6 +634,11 @@ names and file names suitable for the #:allowed-references argument to
                            local-build? (substitutable? #t)
                            (properties '())
 
+                           ;; TODO: This parameter is transitional; it's here
+                           ;; to avoid a full rebuild.  Remove it on the next
+                           ;; rebuild cycle.
+                           (pre-load-modules? #t)
+
                            deprecation-warnings
                            (script-name (string-append name "-builder")))
   "Return a derivation NAME that runs EXP (a gexp) with GUILE-FOR-BUILD (a
@@ -738,6 +743,8 @@ The other arguments are as for 'derivation'."
                                                        #:module-path module-path
                                                        #:extensions extensions
                                                        #:guile guile-for-build
+                                                       #:pre-load-modules?
+                                                       pre-load-modules?
                                                        #:deprecation-warnings
                                                        deprecation-warnings)
                                      (return #f)))
@@ -1213,7 +1220,11 @@ last one is created from the given <scheme-file> object."
                            (guile (%guile-for-build))
                            (module-path %load-path)
                            (extensions '())
-                           (deprecation-warnings #f))
+                           (deprecation-warnings #f)
+
+                           ;; TODO: This flag is here to prevent a full
+                           ;; rebuild.  Remove it on the next rebuild cycle.
+                           (pre-load-modules? #t))
   "Return a derivation that builds a tree containing the `.go' files
 corresponding to MODULES.  All the MODULES are built in a context where
 they can refer to each other."
@@ -1246,7 +1257,12 @@ they can refer to each other."
                (let* ((base   (basename entry ".scm"))
                       (output (string-append output "/" base ".go")))
                  (format #t "[~2@a/~2@a] Compiling '~a'...~%"
-                         (+ 1 processed) (ungexp total) entry)
+                         (+ 1 processed
+                              (ungexp-splicing (if pre-load-modules?
+                                                   (gexp ((ungexp total)))
+                                                   (gexp ()))))
+                         (ungexp (* total (if pre-load-modules? 2 1)))
+                         entry)
                  (compile-file entry
                                #:output-file output
                                #:opts %auto-compilation-options)
@@ -1293,6 +1309,33 @@ they can refer to each other."
 
          (mkdir (ungexp output))
          (chdir (ungexp modules))
+
+         (ungexp-splicing
+          (if pre-load-modules?
+              (gexp ((define* (load-from-directory directory
+                                                   #:optional (loaded 0))
+                       "Load all the source files found in DIRECTORY."
+                       ;; XXX: This works around <https://bugs.gnu.org/15602>.
+                       (let ((entries (map (cut string-append directory "/" <>)
+                                           (scandir directory regular?))))
+                         (fold (lambda (file loaded)
+                                 (if (file-is-directory? file)
+                                     (load-from-directory file loaded)
+                                     (begin
+                                       (format #t "[~2@a/~2@a] Loading '~a'...~%"
+                                               (+ 1 loaded)
+                                               (ungexp (* 2 total))
+                                               file)
+                                       (save-module-excursion
+                                        (lambda ()
+                                          (primitive-load file)))
+                                       (+ 1 loaded))))
+                               loaded
+                               entries)))
+
+                     (load-from-directory ".")))
+              (gexp ())))
+
          (process-directory "." (ungexp output) 0))))
 
     ;; TODO: Pass MODULES as an environment variable.
diff --git a/guix/licenses.scm b/guix/licenses.scm
index 676e71acdb..952c3bfd1a 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -65,7 +65,7 @@
             imlib2
             ipa
             knuth
-            lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
+            lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ llgpl
             lppl lppl1.0+ lppl1.1+ lppl1.2 lppl1.2+
             lppl1.3 lppl1.3+
             lppl1.3a lppl1.3a+
@@ -417,6 +417,11 @@ at URI, which may be a file:// URI pointing the package's tree."
            "https://www.gnu.org/licenses/lgpl.html"
            "https://www.gnu.org/licenses/license-list#LGPLv3"))
 
+(define llgpl
+  (license "LLGPL"
+           "https://opensource.franz.com/preamble.html"
+           "Lisp Lesser General Public License"))
+
 (define lppl
   (license "LPPL (any version)"
            "https://www.latex-project.org/lppl/lppl-1-0/"
diff --git a/guix/packages.scm b/guix/packages.scm
index c2981dda8b..c94a651f27 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -642,6 +642,9 @@ specifies modules in scope when evaluating SNIPPET."
 
     (let ((name (tarxz-name original-file-name)))
       (gexp->derivation name build
+                        ;; TODO: Remove this on the next rebuild cycle.
+                        #:pre-load-modules? #f
+
                         #:graft? #f
                         #:system system
                         #:deprecation-warnings #t ;to avoid a rebuild
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index c27edc7982..99c351ae43 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -192,7 +192,7 @@ COMMAND or an interactive shell in that environment.\n"))
     (print-extended-build-trace? . #t)
     (multiplexed-build-output? . #t)
     (debug . 0)
-    (verbosity . 2)))
+    (verbosity . 1)))
 
 (define (tag-package-arg opts arg)
   "Return a two-element list with the form (TAG ARG) that tags ARG with either
@@ -459,17 +459,19 @@ will be used for the passwd entry.  LINK-PROFILE? creates a symbolic link from
     (return
      (let* ((cwd      (getcwd))
             (home     (getenv "HOME"))
+            (uid      (if user 1000 (getuid)))
+            (gid      (if user 1000 (getgid)))
             (passwd   (let ((pwd (getpwuid (getuid))))
                         (password-entry
                          (name (or user (passwd:name pwd)))
                          (real-name (if user
                                         ""
                                         (passwd:gecos pwd)))
-                         (uid 0) (gid 0) (shell bash)
+                         (uid uid) (gid gid) (shell bash)
                          (directory (if user
                                         (string-append "/home/" user)
                                         (passwd:dir pwd))))))
-            (groups   (list (group-entry (name "users") (gid 0))
+            (groups   (list (group-entry (name "users") (gid gid))
                             (group-entry (gid 65534) ;the overflow GID
                                          (name "overflow"))))
             (home-dir (password-entry-directory passwd))
@@ -541,6 +543,8 @@ will be used for the passwd entry.  LINK-PROFILE? creates a symbolic link from
              ;; A container's environment is already purified, so no need to
              ;; request it be purified again.
              (launch-environment command profile manifest #:pure? #f)))
+          #:guest-uid uid
+          #:guest-gid gid
           #:namespaces (if network?
                            (delq 'net %namespaces) ; share host network
                            %namespaces)))))))
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index e5502ef9ca..b1d1e87c57 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -126,13 +126,9 @@ dependencies are registered."
 
   (define build
     (with-extensions gcrypt-sqlite3&co
-      ;; XXX: Adding (gnu build install) just to work around
-      ;; <https://bugs.gnu.org/15602>: that way, (guix build store-copy) is
-      ;; copied last and the 'store-info-XXX' macros are correctly expanded.
       (with-imported-modules (source-module-closure
                               '((guix build store-copy)
-                                (guix store database)
-                                (gnu build install)))
+                                (guix store database)))
         #~(begin
             (use-modules (guix store database)
                          (guix build store-copy)
@@ -633,7 +629,7 @@ please email '~a'~%")
     (print-extended-build-trace? . #t)
     (multiplexed-build-output? . #t)
     (debug . 0)
-    (verbosity . 2)
+    (verbosity . 1)
     (symlinks . ())
     (compressor . ,(first %compressors))))
 
diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index 25218a2945..f549ce05b8 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34,6 +34,7 @@
   #:use-module (srfi srfi-37)
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
+  #:use-module (ice-9 vlist)
   #:export (profile?
             profile-file
             profile-self-size
@@ -142,11 +143,20 @@ profile of ITEMS and their requisites."
                                            (lambda (size)
                                              (return (cons item size)))))
                                     refs)))
+    (define size-table
+      (fold (lambda (pair result)
+              (match pair
+                ((item . size)
+                 (vhash-cons item size result))))
+            vlist-null sizes))
+
     (define (dependency-size item)
       (mlet %store-monad ((deps (requisites* (list item))))
         (foldm %store-monad
                (lambda (item total)
-                 (return (+ (assoc-ref sizes item) total)))
+                 (return (+ (match (vhash-assoc item size-table)
+                              ((_ . size) size))
+                            total)))
                0
                (delete-duplicates (cons item deps)))))
 
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 97508f4bd6..78aa6cf644 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -1299,8 +1299,7 @@ argument list and OPTS is the option alist."
            (command  (assoc-ref opts 'action)))
       (parameterize ((%graft? (assoc-ref opts 'graft?)))
         (with-status-verbosity (or (assoc-ref opts 'verbosity)
-                                   (if (memq command '(init reconfigure))
-                                       1 2))
+                                   (if (eq? command 'build) 2 1))
           (process-command command args opts))))))
 
 ;;; Local Variables:
diff --git a/guix/self.scm b/guix/self.scm
index ccff9be5b3..7ba2764eb9 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -627,6 +627,7 @@ Info manual."
     (scheme-node "guix-system"
                  `((gnu system)
                    (gnu services)
+                   ,@(scheme-modules* source "gnu/bootloader")
                    ,@(scheme-modules* source "gnu/system")
                    ,@(scheme-modules* source "gnu/services"))
                  (list *core-package-modules* *package-modules*
diff --git a/po/doc/guix-manual.de.po b/po/doc/guix-manual.de.po
index 4784f5b74f..85ab3f198d 100644
--- a/po/doc/guix-manual.de.po
+++ b/po/doc/guix-manual.de.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: guix-manual 0.16.0.1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
 "POT-Creation-Date: 2018-11-28 22:35+0100\n"
-"PO-Revision-Date: 2019-03-10 00:46+0100\n"
+"PO-Revision-Date: 2019-03-28 16:35+0100\n"
 "Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -31,7 +31,7 @@ msgstr "Mitwirken"
 #. type: Plain text
 #: doc/contributing.texi:9
 msgid "This project is a cooperative effort, and we need your help to make it grow! Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on the Freenode IRC network.  We welcome ideas, bug reports, patches, and anything that may be helpful to the project.  We particularly welcome help on packaging (@pxref{Packaging Guidelines})."
-msgstr "Dieses Projekt basiert auf Kooperation, daher benötigen wir Ihre Hilfe, um es wachsen zu lassen! Bitte kontaktieren Sie uns auf @email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der Erstellung von Paketen (@pxref{Packaging Guidelines})."
+msgstr "Dieses Projekt basiert auf Kooperation, daher benötigen wir Ihre Hilfe, um es wachsen zu lassen! Bitte kontaktieren Sie uns auf @email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der Erstellung von Paketen (siehe @ref{Packaging Guidelines})."
 
 #. type: cindex
 #: doc/contributing.texi:10
@@ -144,7 +144,7 @@ msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n"
 #. type: Plain text
 #: doc/contributing.texi:43
 msgid "When building Guix from a checkout, the following packages are required in addition to those mentioned in the installation instructions (@pxref{Requirements})."
-msgstr "Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den Installationsanweisungen genannten Paketen weitere nötig (@pxref{Requirements})."
+msgstr "Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den Installationsanweisungen genannten Paketen weitere nötig (siehe @ref{Requirements})."
 
 #. type: item
 #: doc/contributing.texi:45
@@ -196,7 +196,7 @@ msgstr "guix environment guix\n"
 #. type: Plain text
 #: doc/contributing.texi:64
 msgid "@xref{Invoking guix environment}, for more information on that command.  Extra dependencies can be added with @option{--ad-hoc}:"
-msgstr "In @xref{Invoking guix environment} finden Sie weitere Informationen zu diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc} hinzugefügt werden:"
+msgstr "In @ref{Invoking guix environment} finden Sie weitere Informationen zu diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc} hinzugefügt werden:"
 
 #. type: example
 #: doc/contributing.texi:67
@@ -207,7 +207,7 @@ msgstr "guix environment guix --ad-hoc help2man git strace\n"
 #. type: Plain text
 #: doc/contributing.texi:71
 msgid "Run @command{./bootstrap} to generate the build system infrastructure using Autoconf and Automake.  If you get an error like this one:"
-msgstr "Führen Sie @command{./bootstrap} aus, um die Infrastruktur des Erstellungssystems mit Autoconf und Automake zu erstellen. Möglicherweise erhalten Sie eine Fehlermeldung wie diese:"
+msgstr "Führen Sie @command{./bootstrap} aus, um die Infrastruktur des Erstellungssystems mit Autoconf und Automake zu erzeugen. Möglicherweise erhalten Sie eine Fehlermeldung wie diese:"
 
 #. type: example
 #: doc/contributing.texi:74
@@ -229,17 +229,17 @@ msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n"
 #. type: Plain text
 #: doc/contributing.texi:90
 msgid "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more information."
-msgstr "In @xref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie weitere Informationen."
+msgstr "In @ref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie weitere Informationen."
 
 #. type: Plain text
 #: doc/contributing.texi:95
 msgid "Then, run @command{./configure} as usual.  Make sure to pass @code{--localstatedir=@var{directory}} where @var{directory} is the @code{localstatedir} value used by your current installation (@pxref{The Store}, for information about this)."
-msgstr "Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf, @code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei @var{Verzeichnis} der von Ihrer aktuellen Installation verwendete @code{localstatedir}-Wert ist (weitere Informationen auf @pxref{The Store})."
+msgstr "Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf, @code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei @var{Verzeichnis} der von Ihrer aktuellen Installation verwendete @code{localstatedir}-Wert ist (weitere Informationen siehe @ref{The Store})."
 
 #. type: Plain text
 #: doc/contributing.texi:100
 msgid "Finally, you have to invoke @code{make check} to run tests (@pxref{Running the Test Suite}).  If anything fails, take a look at installation instructions (@pxref{Installation})  or send a message to the @email{guix-devel@@gnu.org, mailing list}."
-msgstr "Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen (@pxref{Running the Test Suite}). Falls etwas fehlschlägt, werfen Sie einen Blick auf die Installationsanweisungen (@pxref{Installation}) oder senden Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}."
+msgstr "Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen (siehe @ref{Running the Test Suite}). Falls etwas fehlschlägt, werfen Sie einen Blick auf die Installationsanweisungen (siehe @ref{Installation}) oder senden Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}."
 
 #. type: Plain text
 #: doc/contributing.texi:109
@@ -249,7 +249,7 @@ msgstr "Um eine gesunde Arbeitsumgebung zu erhalten, ist es hilfreich, die im lo
 #. type: Plain text
 #: doc/contributing.texi:120
 msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}.  To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; it is generated by @command{./configure}), as in@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}:"
-msgstr "Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt werden, ohne dass Sie @code{make install} laufen lassen.  Dazu müssen Sie sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix verfügbar sind (@pxref{Building from Git}) und darin einfach vor jeden Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env} befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die Befehlszeilenoption @option{-E} von @command{sudo} stellt sicher, dass @code{GUILE_LOAD_PATH} richtig gesetzt wird, damit @command{guix-daemon} und die davon benutzten Werkzeuge die von ihnen benötigten Guile-Module finden können.}:"
+msgstr "Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt werden, ohne dass Sie @code{make install} laufen lassen.  Dazu müssen Sie sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix verfügbar sind (siehe @ref{Building from Git}) und darin einfach vor jeden Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env} befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die Befehlszeilenoption @option{-E} von @command{sudo} stellt sicher, dass @code{GUILE_LOAD_PATH} richtig gesetzt wird, damit @command{guix-daemon} und die davon benutzten Werkzeuge die von ihnen benötigten Guile-Module finden können.}:"
 
 #. type: example
 #: doc/contributing.texi:124
@@ -297,7 +297,7 @@ msgstr "Lese-Auswerten-Schreiben-Schleife"
 #. type: Plain text
 #: doc/contributing.texi:140
 msgid "@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile Reference Manual}):"
-msgstr "@dots{} und auf einer REPL (@pxref{Using Guile Interactively,,, guile, Guile Reference Manual}):"
+msgstr "@dots{} und auf einer REPL (siehe @ref{Using Guile Interactively,,, guile, Guile Reference Manual}):"
 
 #. type: example
 #: doc/contributing.texi:155
@@ -339,17 +339,17 @@ msgstr "Das @command{pre-inst-env}-Skript richtet alle Umgebungsvariablen ein, d
 #. type: Plain text
 #: doc/contributing.texi:164
 msgid "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}).  Run @command{git pull} instead if you want to upgrade your local source tree."
-msgstr "Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische Verknüpfung @file{~/.config/guix/current} (@pxref{Invoking guix pull}).  Um Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen @command{git pull} benutzen."
+msgstr "Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische Verknüpfung @file{~/.config/guix/current} (siehe @ref{Invoking guix pull}).  Um Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen @command{git pull} benutzen."
 
 #. type: Plain text
 #: doc/contributing.texi:174
 msgid "The Perfect Setup to hack on Guix is basically the perfect setup used for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}).  First, you need more than an editor, you need @url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful @url{http://nongnu.org/geiser/, Geiser}."
-msgstr "Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich dasselbe wie um perfekt für das Hacken mit Guile (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}).  Zunächst brauchen Sie mehr als ein Textverarbeitungsprogramm, Sie brauchen @url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren @url{http://nongnu.org/geiser/, Geiser}."
+msgstr "Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich dasselbe wie um perfekt für das Hacken mit Guile (siehe @ref{Using Guile in Emacs,,, guile, Guile Reference Manual}).  Zunächst brauchen Sie mehr als ein Textverarbeitungsprogramm, Sie brauchen @url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren @url{http://nongnu.org/geiser/, Geiser}."
 
 #. type: Plain text
 #: doc/contributing.texi:182
 msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}).  For convenient Guix development, make sure to augment Guile’s load path so that it finds source files from your checkout:"
-msgstr "Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr (@pxref{Introduction,,, geiser, Geiser User Manual}). Zur bequemen Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die Quelldateien in Ihrem Checkout gefunden werden."
+msgstr "Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr (siehe @ref{Introduction,,, geiser, Geiser User Manual}). Zur bequemen Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die Quelldateien in Ihrem Checkout gefunden werden."
 
 #. type: lisp
 #: doc/contributing.texi:187
@@ -416,7 +416,7 @@ msgstr "Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie @c
 #. type: Plain text
 #: doc/contributing.texi:232
 msgid "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}).  However, they do not say much about Scheme, so here are some additional rules."
-msgstr "Im Allgemeinen folgt unser Code den GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu sagen haben, folgen hier einige zusätzliche Regeln."
+msgstr "Im Allgemeinen folgt unser Code den GNU Coding Standards (siehe @ref{Top,,, standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu sagen haben, folgen hier einige zusätzliche Regeln."
 
 #. #-#-#-#-#  contributing.pot (guix 0.16.0tp2)  #-#-#-#-#
 #. type: subsection
@@ -523,7 +523,7 @@ msgstr "Beim Schreiben von Scheme-Code halten wir uns an die üblichen Gepflogen
 #. type: Plain text
 #: doc/contributing.texi:290
 msgid "Some special forms introduced in Guix, such as the @code{substitute*} macro, have special indentation rules.  These are defined in the @file{.dir-locals.el} file, which Emacs automatically uses.  Also note that Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})."
-msgstr "Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das @code{substitute*}-Makro, haben abweichende Regeln für die Einrückung. Diese sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens @code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und hervorhebt (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})."
+msgstr "Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das @code{substitute*}-Makro, haben abweichende Regeln für die Einrückung. Diese sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens @code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und hervorhebt (siehe @ref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})."
 
 #. type: cindex
 #: doc/contributing.texi:291
@@ -588,12 +588,12 @@ msgstr "Die Entwicklung wird mit Hilfe des verteilten Versionskontrollsystems Gi
 #. type: Plain text
 #: doc/contributing.texi:338
 msgid "This mailing list is backed by a Debbugs instance accessible at @uref{https://bugs.gnu.org/guix-patches}, which allows us to keep track of submissions.  Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{NNN}@@debbugs.gnu.org}, where @var{NNN} is the tracking number (@pxref{Sending a Patch Series})."
-msgstr "Diese Mailing-Liste setzt auf einer Debbugs-Instanz auf, die zugänglich ist unter @uref{https://bugs.gnu.org/guix-patches}, wodurch wir den Überblick über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden kann, wobei @var{NNN} für die Folgenummer steht (@pxref{Sending a Patch Series})."
+msgstr "Diese Mailing-Liste setzt auf einer Debbugs-Instanz auf, die zugänglich ist unter @uref{https://bugs.gnu.org/guix-patches}, wodurch wir den Überblick über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden kann, wobei @var{NNN} für die Folgenummer steht (siehe @ref{Sending a Patch Series})."
 
 #. type: Plain text
 #: doc/contributing.texi:342
 msgid "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for examples."
-msgstr "Bitte schreiben Sie Commit-Logs im ChangeLog-Format (@pxref{Change Logs,,, standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den bisherigen Commits."
+msgstr "Bitte schreiben Sie Commit-Logs im ChangeLog-Format (siehe @ref{Change Logs,,, standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den bisherigen Commits."
 
 #. type: Plain text
 #: doc/contributing.texi:345
@@ -603,17 +603,17 @@ msgstr "Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt od
 #. type: enumerate
 #: doc/contributing.texi:352
 msgid "If the authors of the packaged software provide a cryptographic signature for the release tarball, make an effort to verify the authenticity of the archive.  For a detached GPG signature file this would be done with the @code{gpg --verify} command."
-msgstr "Wenn die Autoren der verpackten Software eine kryptographische Signatur für den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die Mühe, die Echtheit des Archivs zu überprüfen.  Für eine abgetrennte GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun."
+msgstr "Wenn die Autoren der verpackten Software eine kryptografische Signatur bzw. Beglaubigung für den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die Mühe, die Echtheit des Archivs zu überprüfen. Für eine abgetrennte GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun."
 
 #. type: enumerate
 #: doc/contributing.texi:356
 msgid "Take some time to provide an adequate synopsis and description for the package.  @xref{Synopses and Descriptions}, for some guidelines."
-msgstr "Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für das Paket zu verfassen. Unter @xref{Synopses and Descriptions} finden Sie dazu einige Richtlinien."
+msgstr "Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für das Paket zu verfassen. Unter @ref{Synopses and Descriptions} finden Sie dazu einige Richtlinien."
 
 #. type: enumerate
 #: doc/contributing.texi:361
 msgid "Run @code{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})."
-msgstr "Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler (@pxref{Invoking guix lint})."
+msgstr "Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler (siehe @ref{Invoking guix lint})."
 
 #. type: enumerate
 #: doc/contributing.texi:365
@@ -639,12 +639,12 @@ msgstr "Manchmal enthalten Pakete Kopien des Quellcodes ihrer Abhängigkeiten, u
 #. type: enumerate
 #: doc/contributing.texi:386
 msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}).  This will allow you to notice references to other packages unwillingly retained.  It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used."
-msgstr "Schauen Sie sich das von @command{guix size} ausgegebene Profil an (@pxref{Invoking guix size}). Dadurch können Sie Referenzen auf andere Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu entscheiden, ob das Paket aufgespalten werden sollte (@pxref{Packages with Multiple Outputs}) und welche optionalen Abhängigkeiten verwendet werden sollten."
+msgstr "Schauen Sie sich das von @command{guix size} ausgegebene Profil an (siehe @ref{Invoking guix size}). Dadurch können Sie Referenzen auf andere Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu entscheiden, ob das Paket aufgespalten werden sollte (siehe @ref{Packages with Multiple Outputs}) und welche optionalen Abhängigkeiten verwendet werden sollten."
 
 #. type: enumerate
 #: doc/contributing.texi:391
 msgid "For important changes, check that dependent package (if applicable) are not affected by the change; @code{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})."
-msgstr "Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh --list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Invoking guix refresh})."
+msgstr "Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh --list-dependent @var{Paket}} hilft Ihnen dabei (siehe @ref{Invoking guix refresh})."
 
 #. type: cindex
 #: doc/contributing.texi:393
@@ -726,7 +726,7 @@ msgstr "Überprüfen Sie, ob der Erstellungsprozess deterministisch ist. Dazu pr
 #. type: enumerate
 #: doc/contributing.texi:436
 msgid "A simple way to do that is by building the same package several times in a row on your machine (@pxref{Invoking guix build}):"
-msgstr "Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male hintereinander auf Ihrer Maschine erstellen (@pxref{Invoking guix build}):"
+msgstr "Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male hintereinander auf Ihrer Maschine erstellen (siehe @ref{Invoking guix build}):"
 
 #. type: example
 #: doc/contributing.texi:439
@@ -742,13 +742,13 @@ msgstr "Dies reicht aus, um eine ganze Klasse häufiger Ursachen von Nichtdeterm
 #. type: enumerate
 #: doc/contributing.texi:453
 msgid "Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}).  You may run it once the package has been committed and built by @code{hydra.gnu.org} to check whether it obtains the same result as you did.  Better yet: Find another machine that can build it and run @command{guix publish}.  Since the remote build machine is likely different from yours, this can catch non-determinism issues related to the hardware---e.g., use of different instruction set extensions---or to the operating system kernel---e.g., reliance on @code{uname} or @file{/proc} files."
-msgstr "Eine weitere Möglichkeit ist, @command{guix challenge} (@pxref{Invoking guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere Maschine, die das Paket erstellen kann, und führen Sie @command{guix publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von Ihrer unterscheidet, können Sie auf diese Weise Probleme durch Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder @file{/proc}-Dateien verwendet werden."
+msgstr "Eine weitere Möglichkeit ist, @command{guix challenge} (siehe @ref{Invoking guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere Maschine, die das Paket erstellen kann, und führen Sie @command{guix publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von Ihrer unterscheidet, können Sie auf diese Weise Probleme durch Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder @file{/proc}-Dateien verwendet werden."
 
 # Hier gehe ich mal davon aus, dass Dokumentation generell zuerst in Englisch geschrieben wird, daher, werden solche Begriffe auch hier nicht übersetzt.
 #. type: enumerate
 #: doc/contributing.texi:459
 msgid "When writing documentation, please use gender-neutral wording when referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth."
-msgstr "Beim Schreiben von Dokumentation achten Sie bitte auf eine geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie @uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{} »their«@comma{} »them« im Singular}, und so weiter."
+msgstr "Beim Schreiben von Dokumentation achten Sie bitte auf eine geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie @uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{} »their«@comma{} »them« im Singular} und so weiter."
 
 #. type: enumerate
 #: doc/contributing.texi:463
@@ -763,17 +763,17 @@ msgstr "Beispiele für nicht zusammengehörige Änderungen sind das Hinzufügen
 #. type: enumerate
 #: doc/contributing.texi:471
 msgid "Please follow our code formatting rules, possibly running the @command{etc/indent-code.el} script to do that automatically for you (@pxref{Formatting Code})."
-msgstr "Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich wollen Sie dies automatisch tun lassen durch das Skript @command{etc/indent-code.el} (@pxref{Formatting Code})."
+msgstr "Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich wollen Sie dies automatisch tun lassen durch das Skript @command{etc/indent-code.el} (siehe @ref{Formatting Code})."
 
 #. type: enumerate
 #: doc/contributing.texi:479
 msgid "When possible, use mirrors in the source URL (@pxref{Invoking guix download}).  Use reliable URLs, not generated ones.  For instance, GitHub archives are not necessarily identical from one generation to the next, so in this case it's often better to clone the repository.  Don't use the @command{name} field in the URL: it is not very useful and if the name changes, the URL will probably be wrong."
-msgstr "Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL (@pxref{Invoking guix download}). Verwenden Sie verlässliche URLs, keine automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer identisch von einer Generation auf die nächste, daher ist es in diesem Fall besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie @emph{nicht} das @command{name}-Feld beim Angeben der URL; er hilft nicht wirklich und wenn sich der Name ändert, stimmt die URL nicht mehr."
+msgstr "Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL (siehe @ref{Invoking guix download}). Verwenden Sie verlässliche URLs, keine automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer identisch von einer Generation auf die nächste, daher ist es in diesem Fall besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie @emph{nicht} das @command{name}-Feld beim Angeben der URL; er hilft nicht wirklich und wenn sich der Name ändert, stimmt die URL nicht mehr."
 
 #. type: Plain text
 #: doc/contributing.texi:489
 msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject.  You may use your email client or the @command{git send-email} command (@pxref{Sending a Patch Series}).  We prefer to get patches in plain text messages, either inline or as MIME attachments.  You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches."
-msgstr "Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den Befehl @command{git send-email} benutzen (@pxref{Sending a Patch Series}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten, entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich nicht mehr funktionieren."
+msgstr "Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den Befehl @command{git send-email} benutzen (siehe @ref{Sending a Patch Series}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten, entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich nicht mehr funktionieren."
 
 #. type: Plain text
 #: doc/contributing.texi:492
@@ -968,7 +968,7 @@ msgstr "Dieses Dokument beschreibt GNU Guix, Version @value{VERSION}, ein Werkze
 #. type: Plain text
 #: doc/guix.texi:113
 msgid "This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}) and German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}).  If you would like to translate it in your native language, consider joining the @uref{https://translationproject.org/domain/guix-manual.html, Translation Project}."
-msgstr "Dieses Handbuch ist auch auf Englisch (@pxref{Top,,, guix, GNU Guix Reference Manual}) und Französisch verfügbar (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}). Wenn Sie es in Ihre eigene Sprache übersetzen möchten, dann sind Sie beim @uref{https://translationproject.org/domain/guix-manual.html, Translation Project} herzlich willkommen."
+msgstr "Dieses Handbuch ist auch auf Englisch (siehe @ref{Top,,, guix, GNU Guix Reference Manual}) und Französisch verfügbar (siehe @ref{Top,,, guix.fr, Manuel de référence de GNU Guix}). Wenn Sie es in Ihre eigene Sprache übersetzen möchten, dann sind Sie beim @uref{https://translationproject.org/domain/guix-manual.html, Translation Project} herzlich willkommen."
 
 #. type: chapter
 #: doc/guix.texi:122 doc/guix.texi:316 doc/guix.texi:317
@@ -1116,7 +1116,7 @@ msgstr "Zum Erstellen und Benutzen von Guix nötige Software."
 #: doc/guix.texi:139 doc/guix.texi:424 doc/guix.texi:717 doc/guix.texi:718
 #, no-wrap
 msgid "Running the Test Suite"
-msgstr "Die Testsuite laufen lassen"
+msgstr "Den Testkatalog laufen lassen"
 
 #. type: menuentry
 #: doc/guix.texi:139 doc/guix.texi:424
@@ -1520,7 +1520,7 @@ msgstr "Aufruf von guix hash"
 #. type: menuentry
 #: doc/guix.texi:202 doc/guix.texi:6154
 msgid "Computing the cryptographic hash of a file."
-msgstr "Den kryptographischen Hash einer Datei berechnen."
+msgstr "Den kryptografischen Hash einer Datei berechnen."
 
 #. type: node
 #: doc/guix.texi:202 doc/guix.texi:6154 doc/guix.texi:6887
@@ -1564,7 +1564,7 @@ msgstr "Aufruf von guix size"
 #. type: menuentry
 #: doc/guix.texi:202 doc/guix.texi:6154
 msgid "Profiling disk usage."
-msgstr "Plattenverbrauch profilieren."
+msgstr "Plattenplatzverbrauch profilieren."
 
 #. type: node
 #: doc/guix.texi:202 doc/guix.texi:6154 doc/guix.texi:7802
@@ -2540,7 +2540,7 @@ msgstr "Benutzeroberflächen"
 #. type: Plain text
 #: doc/guix.texi:332
 msgid "Guix provides a command-line package management interface (@pxref{Invoking guix package}), a set of command-line utilities (@pxref{Utilities}), as well as Scheme programming interfaces (@pxref{Programming Interface})."
-msgstr "Guix bietet eine befehlszeilenbasierte Paketverwaltungsschnittstelle (@pxref{Invoking guix package}), einen Satz Befehlszeilenwerkzeuge (@pxref{Utilities}) sowie Schnittstellen zur Programmierung in Scheme (@pxref{Programming Interface})."
+msgstr "Guix bietet eine befehlszeilenbasierte Paketverwaltungsschnittstelle (siehe @ref{Invoking guix package}), einen Satz Befehlszeilenwerkzeuge (siehe @ref{Utilities}) sowie Schnittstellen zur Programmierung in Scheme (siehe @ref{Programming Interface})."
 
 #. type: cindex
 #: doc/guix.texi:332
@@ -2551,7 +2551,7 @@ msgstr "Erstellungs-Daemon"
 #. type: Plain text
 #: doc/guix.texi:336
 msgid "Its @dfn{build daemon} is responsible for building packages on behalf of users (@pxref{Setting Up the Daemon}) and for downloading pre-built binaries from authorized sources (@pxref{Substitutes})."
-msgstr "Der @dfn{Erstellungs-Daemon} ist für das Erstellen von Paketen im Auftrag von Nutzern verantwortlich (@pxref{Setting Up the Daemon}) und für das Herunterladen vorerstellter Binärdateien aus autorisierten Quellen (@pxref{Substitutes})."
+msgstr "Der @dfn{Erstellungs-Daemon} ist für das Erstellen von Paketen im Auftrag von Nutzern verantwortlich (siehe @ref{Setting Up the Daemon}) und für das Herunterladen vorerstellter Binärdateien aus autorisierten Quellen (siehe @ref{Substitutes})."
 
 #. type: cindex
 #: doc/guix.texi:337
@@ -2568,7 +2568,7 @@ msgstr "Anpassung, von Paketen"
 #. type: Plain text
 #: doc/guix.texi:347
 msgid "Guix includes package definitions for many GNU and non-GNU packages, all of which @uref{https://www.gnu.org/philosophy/free-sw.html, respect the user's computing freedom}.  It is @emph{extensible}: users can write their own package definitions (@pxref{Defining Packages}) and make them available as independent package modules (@pxref{Package Modules}).  It is also @emph{customizable}: users can @emph{derive} specialized package definitions from existing ones, including from the command line (@pxref{Package Transformation Options})."
-msgstr "Guix enthält Paketdefinitionen für viele Pakete, von GNU und nicht von GNU, die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre eigenen Paketdefinitionen schreiben (@pxref{Defining Packages}) und sie als unabhängige Paketmodule verfügbar machen (@pxref{Package Modules}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile (@pxref{Package Transformation Options})."
+msgstr "Guix enthält Paketdefinitionen für viele Pakete, von GNU und nicht von GNU, die alle @uref{https://www.gnu.org/philosophy/free-sw.html, die Freiheit des Computernutzers respektieren}. Es ist @emph{erweiterbar}: Nutzer können ihre eigenen Paketdefinitionen schreiben (siehe @ref{Defining Packages}) und sie als unabhängige Paketmodule verfügbar machen (siehe @ref{Package Modules}). Es ist auch @emph{anpassbar}: Nutzer können spezialisierte Paketdefinitionen aus bestehenden @emph{ableiten}, auch von der Befehlszeile (siehe @ref{Package Transformation Options})."
 
 #. type: cindex
 #: doc/guix.texi:348 doc/guix.texi:8918 doc/guix.texi:8996
@@ -2585,7 +2585,7 @@ msgstr "GuixSD"
 #. type: Plain text
 #: doc/guix.texi:358
 msgid "You can install GNU@tie{}Guix on top of an existing GNU/Linux system where it complements the available tools without interference (@pxref{Installation}), or you can use it as part of the standalone @dfn{Guix System Distribution} or GuixSD (@pxref{GNU Distribution}).  With GNU@tie{}GuixSD, you @emph{declare} all aspects of the operating system configuration and Guix takes care of instantiating the configuration in a transactional, reproducible, and stateless fashion (@pxref{System Configuration})."
-msgstr "Sie können GNU@tie{}Guix auf ein bestehendes GNU/Linux-System aufsetzen, wo es die bereits verfügbaren Werkzeuge ergänzt, ohne zu stören (@pxref{Installation}), oder Sie können es eigenständig als Teil der @dfn{Guix System Distribution}, kurz GuixSD (@pxref{GNU Distribution}), verwenden. Mit GNU@tie{}GuixSD @emph{deklarieren} Sie alle Aspekte der Betriebssystemkonfiguration und Guix kümmert sich darum, die Konfiguration auf transaktionsbasierte, reproduzierbare und zustandslose Weise zu instanziieren (@pxref{System Configuration})."
+msgstr "Sie können GNU@tie{}Guix auf ein bestehendes GNU/Linux-System aufsetzen, wo es die bereits verfügbaren Werkzeuge ergänzt, ohne zu stören (siehe @ref{Installation}), oder Sie können es eigenständig als Teil der @dfn{Guix System Distribution}, kurz GuixSD (siehe @ref{GNU Distribution}), verwenden. Mit GNU@tie{}GuixSD @emph{deklarieren} Sie alle Aspekte der Betriebssystemkonfiguration und Guix kümmert sich darum, die Konfiguration auf transaktionsbasierte, reproduzierbare und zustandslose Weise zu instanziieren (siehe @ref{System Configuration})."
 
 #. type: cindex
 #: doc/guix.texi:359
@@ -2602,7 +2602,7 @@ msgstr "Isolierung"
 #. type: Plain text
 #: doc/guix.texi:375
 msgid "Under the hood, Guix implements the @dfn{functional package management} discipline pioneered by Nix (@pxref{Acknowledgments}).  In Guix, the package build and installation process is seen as a @emph{function}, in the mathematical sense.  That function takes inputs, such as build scripts, a compiler, and libraries, and returns an installed package.  As a pure function, its result depends solely on its inputs---for instance, it cannot refer to software or scripts that were not explicitly passed as inputs.  A build function always produces the same result when passed a given set of inputs.  It cannot alter the environment of the running system in any way; for instance, it cannot create, modify, or delete files outside of its build and installation directories.  This is achieved by running build processes in isolated environments (or @dfn{containers}), where only their explicit inputs are visible."
-msgstr "Intern implementiert Guix die Disziplin der @dfn{funktionalen Paketverwaltung}, zu der Nix schon die Pionierarbeit geleistet hat (@pxref{Acknowledgments}). In Guix wird der Prozess, ein Paket zu erstellen und zu installieren, als eine @emph{Funktion} im mathematischen Sinn aufgefasst. Diese Funktion hat Eingaben, wie zum Beispiel Erstellungs-Skripts, einen Compiler und Bibliotheken, und liefert ein installiertes Paket. Als eine reine Funktion hängt sein Ergebnis allein von seinen Eingaben ab — zum Beispiel kann er nicht auf Software oder Skripts Bezug nehmen, die nicht ausdrücklich als Eingaben übergeben wurden. Eine Erstellungsfunktion führt immer zum selben Ergebnis, wenn ihr die gleiche Menge an Eingaben übergeben wurde. Sie kann die Umgebung des laufenden Systems auf keine Weise beeinflussen, zum Beispiel kann sie keine Dateien außerhalb ihrer Erstellungs- und Installationsverzeichnisse verändern. Um dies zu erreichen, laufen Erstellungsprozesse in isolieren Umgebungen (sogenannte @dfn{Container}), wo nur ausdrückliche Eingaben sichtbar sind."
+msgstr "Intern implementiert Guix die Disziplin der @dfn{funktionalen Paketverwaltung}, zu der Nix schon die Pionierarbeit geleistet hat (siehe @ref{Acknowledgments}). In Guix wird der Prozess, ein Paket zu erstellen und zu installieren, als eine @emph{Funktion} im mathematischen Sinn aufgefasst. Diese Funktion hat Eingaben, wie zum Beispiel Erstellungs-Skripts, einen Compiler und Bibliotheken, und liefert ein installiertes Paket. Als eine reine Funktion hängt sein Ergebnis allein von seinen Eingaben ab — zum Beispiel kann er nicht auf Software oder Skripts Bezug nehmen, die nicht ausdrücklich als Eingaben übergeben wurden. Eine Erstellungsfunktion führt immer zum selben Ergebnis, wenn ihr die gleiche Menge an Eingaben übergeben wurde. Sie kann die Umgebung des laufenden Systems auf keine Weise beeinflussen, zum Beispiel kann sie keine Dateien außerhalb ihrer Erstellungs- und Installationsverzeichnisse verändern. Um dies zu erreichen, laufen Erstellungsprozesse in isolieren Umgebungen (sogenannte @dfn{Container}), wo nur ausdrückliche Eingaben sichtbar sind."
 
 #. type: cindex
 #: doc/guix.texi:376 doc/guix.texi:4859
@@ -2613,12 +2613,12 @@ msgstr "Store"
 #. type: Plain text
 #: doc/guix.texi:383
 msgid "The result of package build functions is @dfn{cached} in the file system, in a special directory called @dfn{the store} (@pxref{The Store}).  Each package is installed in a directory of its own in the store---by default under @file{/gnu/store}.  The directory name contains a hash of all the inputs used to build that package; thus, changing an input yields a different directory name."
-msgstr "Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem @dfn{zwischengespeichert} in einem besonderen Verzeichnis, was als @dfn{der Store} bezeichnet wird (@pxref{The Store}). Jedes Paket wird in sein eigenes Verzeichnis im Store installiert — standardmäßig ist er unter @file{/gnu/store} zu finden. Der Verzeichnisname enthält einen Hash aller Eingaben, anhand derer das Paket erzeugt wurde, somit hat das Ändern einer Eingabe einen völlig anderen Verzeichnisnamen zur Folge."
+msgstr "Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem @dfn{zwischengespeichert} in einem besonderen Verzeichnis, was als @dfn{der Store} bezeichnet wird (siehe @ref{The Store}). Jedes Paket wird in sein eigenes Verzeichnis im Store installiert — standardmäßig ist er unter @file{/gnu/store} zu finden. Der Verzeichnisname enthält einen Hash aller Eingaben, anhand derer das Paket erzeugt wurde, somit hat das Ändern einer Eingabe einen völlig anderen Verzeichnisnamen zur Folge."
 
 #. type: Plain text
 #: doc/guix.texi:387
 msgid "This approach is the foundation for the salient features of Guix: support for transactional package upgrade and rollback, per-user installation, and garbage collection of packages (@pxref{Features})."
-msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rückstufungen, Installation von Paketen als einfacher Nutzer sowie Garbage Collection für Pakete (@pxref{Features})."
+msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rücksetzungen, Installation von Paketen als einfacher Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})."
 
 #. type: cindex
 #: doc/guix.texi:393
@@ -2640,7 +2640,7 @@ msgstr "GNU Guix kann von seiner Webpräsenz unter @url{http://www.gnu.org/softw
 #. type: Plain text
 #: doc/guix.texi:404
 msgid "Note that this section is concerned with the installation of the package manager, which can be done on top of a running GNU/Linux system.  If, instead, you want to install the complete GNU operating system, @pxref{System Installation}."
-msgstr "Beachten Sie, dass es in diesem Abschnitt um die Installation des Paketverwaltungswerkzeugs geht, welche auf einem laufenden GNU/Linux-System vollzogen werden kann. Falls Sie stattdessen das vollständige GNU-Betriebssystem installieren möchten, werfen Sie einen Blick in den Abschnitt @pxref{System Installation}."
+msgstr "Beachten Sie, dass es in diesem Abschnitt um die Installation des Paketverwaltungswerkzeugs geht, welche auf einem laufenden GNU/Linux-System vollzogen werden kann. Falls Sie stattdessen das vollständige GNU-Betriebssystem installieren möchten, werfen Sie einen Blick in den Abschnitt @ref{System Installation}."
 
 #. type: cindex
 #: doc/guix.texi:405 doc/guix.texi:1487
@@ -2662,7 +2662,7 @@ msgstr "Wenn es auf ein bestehendes GNU/Linux-System installiert wird — im Fol
 #. type: Plain text
 #: doc/guix.texi:416
 msgid "Once installed, Guix can be updated by running @command{guix pull} (@pxref{Invoking guix pull})."
-msgstr "Sobald es installiert ist, kann Guix durch Ausführen von @command{guix pull} aktualisiert werden (@pxref{Invoking guix pull})."
+msgstr "Sobald es installiert ist, kann Guix durch Ausführen von @command{guix pull} aktualisiert werden (siehe @ref{Invoking guix pull})."
 
 #. type: cindex
 #: doc/guix.texi:429
@@ -2684,7 +2684,7 @@ msgstr "Dieser Abschnitt beschreibt, wie sich Guix auf einem beliebigen System a
 #. type: Plain text
 #: doc/guix.texi:441
 msgid "We provide a @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, shell installer script}, which automates the download, installation, and initial configuration of Guix.  It should be run as the root user."
-msgstr "Wir bieten ein @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, Installations-Skript für die Shell}, welches Guix automatisch herunterlädt, installiert und eine erste Konfiguration von Guix mit sich bringt. Es sollte als der Administratornutzer (als »root«) ausgeführt werden."
+msgstr "Wir bieten ein @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, Installations-Skript für die Shell} an, welches Guix automatisch herunterlädt, installiert und eine erste Konfiguration von Guix mit sich bringt. Es sollte als der Administratornutzer (als »root«) ausgeführt werden."
 
 #. type: Plain text
 #: doc/guix.texi:443
@@ -2759,7 +2759,7 @@ msgstr ""
 #. type: enumerate
 #: doc/guix.texi:487
 msgid "This creates @file{/gnu/store} (@pxref{The Store}) and @file{/var/guix}.  The latter contains a ready-to-use profile for @code{root} (see next step.)"
-msgstr "Dadurch wird @file{/gnu/store} (@pxref{The Store}) und @file{/var/guix} erzeugt. Letzteres enthält ein fertiges Guix-Profil für den Administratornutzer @code{root} (wie im nächsten Schritt beschrieben)."
+msgstr "Dadurch wird @file{/gnu/store} (siehe @ref{The Store}) und @file{/var/guix} erzeugt. Letzteres enthält ein fertiges Guix-Profil für den Administratornutzer @code{root} (wie im nächsten Schritt beschrieben)."
 
 #. type: enumerate
 #: doc/guix.texi:490
@@ -2774,7 +2774,7 @@ msgstr "Die Befehlszeilenoption @code{--warning=no-timestamp} stellt sicher, das
 #. type: enumerate
 #: doc/guix.texi:504
 msgid "Make the profile available under @file{~root/.config/guix/current}, which is where @command{guix pull} will install updates (@pxref{Invoking guix pull}):"
-msgstr "Machen Sie das Profil als @file{~root/.config/guix/current} verfügbar, wo @command{guix pull} es aktualisieren kann (@pxref{Invoking guix pull}):"
+msgstr "Machen Sie das Profil als @file{~root/.config/guix/current} verfügbar, wo @command{guix pull} es aktualisieren kann (siehe @ref{Invoking guix pull}):"
 
 #. type: example
 #: doc/guix.texi:509
@@ -2806,7 +2806,7 @@ msgstr ""
 #. type: enumerate
 #: doc/guix.texi:522
 msgid "Create the group and user accounts for build users as explained below (@pxref{Build Environment Setup})."
-msgstr "Erzeugen Sie Nutzergruppe und Nutzerkonten für die Erstellungs-Benutzer wie folgt (@pxref{Build Environment Setup})."
+msgstr "Erzeugen Sie Nutzergruppe und Nutzerkonten für die Erstellungs-Benutzer wie folgt (siehe @ref{Build Environment Setup})."
 
 #. type: enumerate
 #: doc/guix.texi:525
@@ -2903,7 +2903,7 @@ msgstr ""
 #. type: enumerate
 #: doc/guix.texi:582
 msgid "That way, assuming @file{/usr/local/share/info} is in the search path, running @command{info guix} will open this manual (@pxref{Other Info Directories,,, texinfo, GNU Texinfo}, for more details on changing the Info search path.)"
-msgstr "Auf diese Art wird, unter der Annahme, dass bei Ihnen @file{/usr/local/share/info} im Suchpfad eingetragen ist, das Ausführen von @command{info guix} dieses Handbuch öffnen (@pxref{Other Info Directories,,, texinfo, GNU Texinfo} hat weitere Details, wie Sie den Info-Suchpfad ändern können)."
+msgstr "Auf diese Art wird, unter der Annahme, dass bei Ihnen @file{/usr/local/share/info} im Suchpfad eingetragen ist, das Ausführen von @command{info guix.de} dieses Handbuch öffnen (siehe @ref{Other Info Directories,,, texinfo, GNU Texinfo} hat weitere Details, wie Sie den Info-Suchpfad ändern können)."
 
 #. type: cindex
 #: doc/guix.texi:584 doc/guix.texi:2359 doc/guix.texi:11213
@@ -2914,7 +2914,7 @@ msgstr "Substitute, deren Autorisierung"
 #. type: enumerate
 #: doc/guix.texi:587
 msgid "To use substitutes from @code{hydra.gnu.org} or one of its mirrors (@pxref{Substitutes}), authorize them:"
-msgstr "Um Substitute von @code{hydra.gnu.org} oder einem Spiegelserver davon zu benutzen (@pxref{Substitutes}), müssen sie erst autorisiert werden:"
+msgstr "Um Substitute von @code{hydra.gnu.org} oder einem Spiegelserver davon zu benutzen (siehe @ref{Substitutes}), müssen sie erst autorisiert werden:"
 
 #. type: example
 #: doc/guix.texi:591
@@ -2929,7 +2929,7 @@ msgstr ""
 #. type: enumerate
 #: doc/guix.texi:596
 msgid "Each user may need to perform a few additional steps to make their Guix environment ready for use, @pxref{Application Setup}."
-msgstr "Alle Nutzer müssen womöglich ein paar zusätzliche Schritte ausführen, damit ihre Guix-Umgebung genutzt werden kann, siehe @pxref{Application Setup}."
+msgstr "Alle Nutzer müssen womöglich ein paar zusätzliche Schritte ausführen, damit ihre Guix-Umgebung genutzt werden kann, siehe @ref{Application Setup}."
 
 #. type: Plain text
 #: doc/guix.texi:599
@@ -2981,7 +2981,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:629
 msgid "@xref{Invoking guix pack}, for more info on this handy tool."
-msgstr "Siehe @xref{Invoking guix pack} für weitere Informationen zu diesem praktischen Werkzeug."
+msgstr "Siehe @ref{Invoking guix pack} für weitere Informationen zu diesem praktischen Werkzeug."
 
 #. type: Plain text
 #: doc/guix.texi:637
@@ -3018,7 +3018,7 @@ msgstr "0.1.0 oder neuer,"
 #. type: itemize
 #: doc/guix.texi:649
 msgid "@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile});"
-msgstr "@uref{http://gnutls.org/, GnuTLS}, im Speziellen dessen Bindungen für Guile (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}),"
+msgstr "@uref{http://gnutls.org/, GnuTLS}, im Speziellen dessen Anbindungen für Guile (siehe @ref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}),"
 
 #. type: itemize
 #: doc/guix.texi:652
@@ -3050,12 +3050,12 @@ msgstr "Folgende Abhängigkeiten sind optional:"
 #. type: itemize
 #: doc/guix.texi:669
 msgid "Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will allow you to use the @command{guix import pypi} command (@pxref{Invoking guix import}).  It is of interest primarily for developers and not for casual users."
-msgstr "Wenn Sie @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} installieren, können Sie den Befehl @command{guix import pypi} benutzen (@pxref{Invoking guix import}). Das spielt hauptsächlich für Entwickler und nicht für Gelegenheitsnutzer eine Rolle."
+msgstr "Wenn Sie @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} installieren, können Sie den Befehl @command{guix import pypi} benutzen (siehe @ref{Invoking guix import}). Das spielt hauptsächlich für Entwickler und @emph{nicht} für Gelegenheitsnutzer eine Rolle."
 
 #. type: itemize
 #: doc/guix.texi:676
 msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.10.2 or later."
-msgstr "Unterstützung für das Auslagern von Erstellungen (@pxref{Daemon Offload Setup}) und @command{guix copy} (@pxref{Invoking guix copy}) hängt von @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, Version 0.10.2 oder neuer, ab."
+msgstr "Unterstützung für das Auslagern von Erstellungen (siehe @ref{Daemon Offload Setup}) und @command{guix copy} (siehe @ref{Invoking guix copy}) hängt von @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, Version 0.10.2 oder neuer, ab."
 
 #. type: itemize
 #: doc/guix.texi:680
@@ -3099,7 +3099,7 @@ msgstr "Zustandsverzeichnis"
 #. type: Plain text
 #: doc/guix.texi:700
 msgid "When configuring Guix on a system that already has a Guix installation, be sure to specify the same state directory as the existing installation using the @code{--localstatedir} option of the @command{configure} script (@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding Standards}).  The @command{configure} script protects against unintended misconfiguration of @var{localstatedir} so you do not inadvertently corrupt your store (@pxref{The Store})."
-msgstr "Sollten Sie Guix auf einem System konfigurieren, auf dem Guix bereits installiert ist, dann stellen Sie sicher, dasselbe Zustandsverzeichnis wie für die bestehende Installation zu verwenden. Benutzen Sie dazu die Befehlszeilenoption @code{--localstatedir} des @command{configure}-Skripts (@pxref{Directory Variables, @code{localstatedir},, standards, GNU Coding Standards}). Das @command{configure}-Skript schützt vor ungewollter Fehlkonfiguration der @var{localstatedir}, damit sie nicht versehentlich Ihren Store verfälschen (@pxref{The Store})."
+msgstr "Sollten Sie Guix auf einem System konfigurieren, auf dem Guix bereits installiert ist, dann stellen Sie sicher, dasselbe Zustandsverzeichnis wie für die bestehende Installation zu verwenden. Benutzen Sie dazu die Befehlszeilenoption @code{--localstatedir} des @command{configure}-Skripts (siehe @ref{Directory Variables, @code{localstatedir},, standards, GNU Coding Standards}). Das @command{configure}-Skript schützt vor ungewollter Fehlkonfiguration der @var{localstatedir}, damit sie nicht versehentlich Ihren Store verfälschen (siehe @ref{The Store})."
 
 #. type: cindex
 #: doc/guix.texi:701
@@ -3115,7 +3115,7 @@ msgstr "Wenn eine funktionierende Installation of @url{http://nixos.org/nix/, th
 #. type: Plain text
 #: doc/guix.texi:716
 msgid "Guix is compatible with Nix, so it is possible to share the same store between both.  To do so, you must pass @command{configure} not only the same @code{--with-store-dir} value, but also the same @code{--localstatedir} value.  The latter is essential because it specifies where the database that stores metadata about the store is located, among other things.  The default values for Nix are @code{--with-store-dir=/nix/store} and @code{--localstatedir=/nix/var}.  Note that @code{--disable-daemon} is not required if your goal is to share the store with Nix."
-msgstr "Guix ist mit Nix kompatibel, daher ist es möglich, denselben Store für beide zu verwenden. Dazu müssen Sie an @command{configure} nicht nur denselben Wert für @code{--with-store-dir} übergeben, sondern auch denselben Wert für @code{--localstatedir}. Letzterer ist deswegen essenziell, weil er unter Anderem angibt, wo die Datenbank liegt, in der sich die Metainformationen über den Store befinden. Für Nix sind die Werte standardmäßig @code{--with-store-dir=/nix/store} und @code{--localstatedir=/nix/var}. Beachten Sie, dass @code{--disable-daemon} nicht erforderlich ist, wenn Sie die Absicht haben, den Store mit Nix zu teilen."
+msgstr "Guix ist mit Nix kompatibel, daher ist es möglich, denselben Store für beide zu verwenden. Dazu müssen Sie an @command{configure} nicht nur denselben Wert für @code{--with-store-dir} übergeben, sondern auch denselben Wert für @code{--localstatedir}. Letzterer ist deswegen essenziell, weil er unter anderem angibt, wo die Datenbank liegt, in der sich die Metainformationen über den Store befinden. Für Nix sind die Werte standardmäßig @code{--with-store-dir=/nix/store} und @code{--localstatedir=/nix/var}. Beachten Sie, dass @code{--disable-daemon} nicht erforderlich ist, wenn Sie die Absicht haben, den Store mit Nix zu teilen."
 
 #. type: cindex
 #: doc/guix.texi:720
@@ -3164,7 +3164,7 @@ msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\
 #. type: Plain text
 #: doc/guix.texi:756
 msgid "Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file.  Please specify the Guix version being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message."
-msgstr "Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an @email{bug-guix@@gnu.org} und fügen Sie die Datei @file{test-suite.log} als Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version von Guix an sowie die Versionsnummern der Abhängigkeiten (@pxref{Requirements})."
+msgstr "Kommt es zum Fehlschlag, senden Sie bitte eine E-Mail an @email{bug-guix@@gnu.org} und fügen Sie die Datei @file{test-suite.log} als Anhang bei. Bitte geben Sie dabei in Ihrer Nachricht die benutzte Version von Guix an sowie die Versionsnummern der Abhängigkeiten (siehe @ref{Requirements})."
 
 #. type: Plain text
 #: doc/guix.texi:760
@@ -3191,7 +3191,7 @@ msgstr "make check-system TESTS=\"basic mcron\"\n"
 #. type: Plain text
 #: doc/guix.texi:778
 msgid "These system tests are defined in the @code{(gnu tests @dots{})} modules.  They work by running the operating systems under test with lightweight instrumentation in a virtual machine (VM).  They can be computationally intensive or rather cheap, depending on whether substitutes are available for their dependencies (@pxref{Substitutes}).  Some of them require a lot of storage space to hold VM images."
-msgstr "Diese Systemtests sind in den @code{(gnu tests @dots{})}-Modulen definiert. Sie funktionieren, indem Sie das getestete Betriebssystem mitsamt schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen (@pxref{Substitutes}). Manche von ihnen nehmen viel Speicherplatz in Anspruch, um die VM-Abbilder zu speichern."
+msgstr "Diese Systemtests sind in den @code{(gnu tests @dots{})}-Modulen definiert. Sie funktionieren, indem Sie das getestete Betriebssystem mitsamt schlichter Instrumentierung in einer virtuellen Maschine (VM) ausführen. Die Tests können aufwendige Berechnungen durchführen oder sie günstig umgehen, je nachdem, ob für ihre Abhängigkeiten Substitute zur Verfügung stehen (siehe @ref{Substitutes}). Manche von ihnen nehmen viel Speicherplatz in Anspruch, um die VM-Abbilder zu speichern."
 
 #. type: Plain text
 #: doc/guix.texi:781
@@ -3234,7 +3234,7 @@ msgstr "Erstellungsbenutzer"
 #. type: Plain text
 #: doc/guix.texi:827
 msgid "When @command{guix-daemon} runs as @code{root}, you may not want package build processes themselves to run as @code{root} too, for obvious security reasons.  To avoid that, a special pool of @dfn{build users} should be created for use by build processes started by the daemon.  These build users need not have a shell and a home directory: they will just be used when the daemon drops @code{root} privileges in build processes.  Having several such users allows the daemon to launch distinct build processes under separate UIDs, which guarantees that they do not interfere with each other---an essential feature since builds are regarded as pure functions (@pxref{Introduction})."
-msgstr "Wenn @command{guix-daemon} als Administratornutzer @code{root} läuft, wollen Sie aber vielleicht dennoch nicht, dass Paketerstellungsprozesse auch als @code{root} ablaufen, aus offensichtlichen Sicherheitsgründen. Um dies zu vermeiden, sollte ein besonderer Pool aus @dfn{Erstellungsbenutzern} geschaffen werden, damit vom Daemon gestartete Erstellungsprozesse ihn benutzen. Diese Erstellungsbenutzer müssen weder eine Shell noch ein Persönliches Verzeichnis zugewiesen bekommen, sie werden lediglich benutzt, wenn der Daemon @code{root}-Rechte in Erstellungsprozessen ablegt. Mehrere solche Benutzer zu haben, ermöglicht es dem Daemon, verschiedene Erstellungsprozessen unter verschiedenen Benutzeridentifikatoren (UIDs) zu starten, was garantiert, dass sie einander nicht stören — eine essenzielle Funktionalität, da Erstellungen als reine Funktionen angesehen werden (@pxref{Introduction})."
+msgstr "Wenn @command{guix-daemon} als Administratornutzer @code{root} läuft, wollen Sie aber vielleicht dennoch nicht, dass Paketerstellungsprozesse auch als @code{root} ablaufen, aus offensichtlichen Sicherheitsgründen. Um dies zu vermeiden, sollte ein besonderer Pool aus @dfn{Erstellungsbenutzern} geschaffen werden, damit vom Daemon gestartete Erstellungsprozesse ihn benutzen. Diese Erstellungsbenutzer müssen weder eine Shell noch ein Persönliches Verzeichnis zugewiesen bekommen, sie werden lediglich benutzt, wenn der Daemon @code{root}-Rechte in Erstellungsprozessen ablegt. Mehrere solche Benutzer zu haben, ermöglicht es dem Daemon, verschiedene Erstellungsprozessen unter verschiedenen Benutzeridentifikatoren (UIDs) zu starten, was garantiert, dass sie einander nicht stören — eine essenzielle Funktionalität, da Erstellungen als reine Funktionen angesehen werden (siehe @ref{Introduction})."
 
 #. type: Plain text
 #: doc/guix.texi:830
@@ -3266,7 +3266,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:852
 msgid "The number of build users determines how many build jobs may run in parallel, as specified by the @option{--max-jobs} option (@pxref{Invoking guix-daemon, @option{--max-jobs}}).  To use @command{guix system vm} and related commands, you may need to add the build users to the @code{kvm} group so they can access @file{/dev/kvm}, using @code{-G guixbuild,kvm} instead of @code{-G guixbuild} (@pxref{Invoking guix system})."
-msgstr "Die Anzahl der Erstellungsbenutzer entscheidet, wieviele Erstellungsaufträge parallel ausgeführt werden können, wie es mit der Befehlszeilenoption @option{--max-jobs} vorgegeben werden kann (@pxref{Invoking guix-daemon, @option{--max-jobs}}). Um @command{guix system vm} und ähnliche Befehle nutzen zu können, müssen Sie die Erstellungsbenutzer unter Umständen zur @code{kvm}-Benutzergruppe hinzufügen, damit sie Zugriff auf @file{/dev/kvm} haben, mit @code{-G guixbuild,kvm} statt @code{-G guixbuild} (@pxref{Invoking guix system})."
+msgstr "Die Anzahl der Erstellungsbenutzer entscheidet, wieviele Erstellungsaufträge parallel ausgeführt werden können, wie es mit der Befehlszeilenoption @option{--max-jobs} vorgegeben werden kann (siehe @ref{Invoking guix-daemon, @option{--max-jobs}}). Um @command{guix system vm} und ähnliche Befehle nutzen zu können, müssen Sie die Erstellungsbenutzer unter Umständen zur @code{kvm}-Benutzergruppe hinzufügen, damit sie Zugriff auf @file{/dev/kvm} haben, mit @code{-G guixbuild,kvm} statt @code{-G guixbuild} (siehe @ref{Invoking guix system})."
 
 #. type: Plain text
 #: doc/guix.texi:861
@@ -3334,7 +3334,7 @@ msgstr "http_proxy"
 #. type: Plain text
 #: doc/guix.texi:911
 msgid "The daemon also honors the @code{http_proxy} environment variable for HTTP downloads it performs, be it for fixed-output derivations (@pxref{Derivations}) or for substitutes (@pxref{Substitutes})."
-msgstr "Der Daemon befolgt außerdem den Wert der Umgebungsvariablen @code{http_proxy} für von ihm durchgeführte HTTP-Downloads, sei es für Ableitungen mit fester Ausgabe (@pxref{Derivations}) oder für Substitute (@pxref{Substitutes})."
+msgstr "Der Daemon befolgt außerdem den Wert der Umgebungsvariablen @code{http_proxy} für von ihm durchgeführte HTTP-Downloads, sei es für Ableitungen mit fester Ausgabe (siehe @ref{Derivations}) oder für Substitute (siehe @ref{Substitutes})."
 
 #. type: Plain text
 #: doc/guix.texi:919
@@ -3419,7 +3419,7 @@ msgstr "Im obigen Beispiel geben wir eine Liste mit zwei Erstellungsmaschinen vo
 #. type: Plain text
 #: doc/guix.texi:973
 msgid "In fact, this file is---not surprisingly!---a Scheme file that is evaluated when the @code{offload} hook is started.  Its return value must be a list of @code{build-machine} objects.  While this example shows a fixed list of build machines, one could imagine, say, using DNS-SD to return a list of potential build machines discovered in the local network (@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}).  The @code{build-machine} data type is detailed below."
-msgstr "Tatsächlich ist diese Datei — wenig überraschend! — eine Scheme-Datei, die ausgewertet wird, wenn der @code{offload}-Hook gestartet wird. Der Wert, den sie zurückliefert, muss eine Liste von @code{build-machine}-Objekten sein. Obwohl dieses Beispiel eine feste Liste von Erstellungsmaschinen zeigt, könnte man auch auf die Idee kommen, etwa mit DNS-SD eine Liste möglicher im lokalen Netzwerk entdeckter Erstellungsmaschinen zu liefern (@pxref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}). Der Datentyp @code{build-machine} wird im Folgenden weiter ausgeführt."
+msgstr "Tatsächlich ist diese Datei — wenig überraschend! — eine Scheme-Datei, die ausgewertet wird, wenn der @code{offload}-Hook gestartet wird. Der Wert, den sie zurückliefert, muss eine Liste von @code{build-machine}-Objekten sein. Obwohl dieses Beispiel eine feste Liste von Erstellungsmaschinen zeigt, könnte man auch auf die Idee kommen, etwa mit DNS-SD eine Liste möglicher im lokalen Netzwerk entdeckter Erstellungsmaschinen zu liefern (siehe @ref{Introduction, Guile-Avahi,, guile-avahi, Using Avahi in Guile Scheme Programs}). Der Datentyp @code{build-machine} wird im Folgenden weiter ausgeführt."
 
 #. type: deftp
 #: doc/guix.texi:974
@@ -3495,7 +3495,7 @@ msgstr "Wenn auf der Maschine der OpenSSH-Daemon, @command{sshd}, läuft, ist de
 #. type: table
 #: doc/guix.texi:1008
 msgid "If the machine is running the SSH daemon of GNU@tie{}lsh, @command{lshd}, the host key is in @file{/etc/lsh/host-key.pub} or a similar file.  It can be converted to the OpenSSH format using @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):"
-msgstr "Wenn auf der Maschine der SSH-Daemon von GNU@tie{}lsh, nämlich @command{lshd}, läuft, befindet sich der Host-Schlüssel in @file{/etc/lsh/host-key.pub} oder einer ähnlichen Datei. Er kann ins OpenSSH-Format umgewandelt werden durch @command{lsh-export-key} (@pxref{Converting keys,,, lsh, LSH Manual}):"
+msgstr "Wenn auf der Maschine der SSH-Daemon von GNU@tie{}lsh, nämlich @command{lshd}, läuft, befindet sich der Host-Schlüssel in @file{/etc/lsh/host-key.pub} oder einer ähnlichen Datei. Er kann ins OpenSSH-Format umgewandelt werden durch @command{lsh-export-key} (siehe @ref{Converting keys,,, lsh, LSH Manual}):"
 
 #. type: example
 #: doc/guix.texi:1012
@@ -3619,7 +3619,7 @@ msgstr "ssh build-machine guile -c \"'(use-modules (guix config))'\"\n"
 #. type: Plain text
 #: doc/guix.texi:1071
 msgid "There is one last thing to do once @file{machines.scm} is in place.  As explained above, when offloading, files are transferred back and forth between the machine stores.  For this to work, you first need to generate a key pair on each machine to allow the daemon to export signed archives of files from the store (@pxref{Invoking guix archive}):"
-msgstr "Es gibt noch eine weitere Sache zu tun, sobald @file{machines.scm} eingerichtet ist. Wie zuvor erklärt, werden beim Auslagern Dateien zwischen den Stores der Maschinen hin- und hergeschickt. Damit das funktioniert, müssen Sie als Erstes ein Schlüsselpaar auf jeder Maschine erzeugen, damit der Daemon signierte Archive mit den Dateien aus dem Store versenden kann (@pxref{Invoking guix archive}):"
+msgstr "Es gibt noch eine weitere Sache zu tun, sobald @file{machines.scm} eingerichtet ist. Wie zuvor erklärt, werden beim Auslagern Dateien zwischen den Stores der Maschinen hin- und hergeschickt. Damit das funktioniert, müssen Sie als Erstes ein Schlüsselpaar auf jeder Maschine erzeugen, damit der Daemon signierte Archive mit den Dateien aus dem Store versenden kann (siehe @ref{Invoking guix archive}):"
 
 #. type: example
 #: doc/guix.texi:1074
@@ -3730,13 +3730,7 @@ msgstr "Sicherheit, des guix-daemon"
 #. type: Plain text
 #: doc/guix.texi:1140
 msgid "Guix includes an SELinux policy file at @file{etc/guix-daemon.cil} that can be installed on a system where SELinux is enabled, in order to label Guix files and to specify the expected behavior of the daemon.  Since GuixSD does not provide an SELinux base policy, the daemon policy cannot be used on GuixSD."
-msgstr ""
-"Guix enthält eine SELinux-Richtliniendatei (»Policy«) unter\n"
-"@file{etc/guix-daemon.cil}, die auf einem System installiert werden\n"
-"kann, auf dem SELinux aktiviert ist, damit Guix-Dateien gekennzeichnet\n"
-"sind, und um das erwartete Verhalten des Daemons anzugeben. Da GuixSD\n"
-"keine Grundrichtlinie (»Base Policy«) für SELinux bietet, kann diese\n"
-"Richtlinie für den Daemon auf GuixSD nicht benutzt werden."
+msgstr "Guix enthält eine SELinux-Richtliniendatei (»Policy«) unter @file{etc/guix-daemon.cil}, die auf einem System installiert werden kann, auf dem SELinux aktiviert ist, damit Guix-Dateien gekennzeichnet sind, und um das erwartete Verhalten des Daemons anzugeben. Da GuixSD keine Grundrichtlinie (»Base Policy«) für SELinux bietet, kann diese Richtlinie für den Daemon auf GuixSD nicht benutzt werden."
 
 #. type: subsubsection
 #: doc/guix.texi:1141
@@ -3832,7 +3826,7 @@ msgstr "Das Programm @command{guix-daemon} implementiert alle Funktionalitäten,
 #. type: Plain text
 #: doc/guix.texi:1229
 msgid "For details on how to set it up, @pxref{Setting Up the Daemon}."
-msgstr "Details, wie Sie ihn einrichten, finden Sie im Abschnitt @pxref{Setting Up the Daemon}."
+msgstr "Details, wie Sie ihn einrichten, finden Sie im Abschnitt @ref{Setting Up the Daemon}."
 
 #. type: cindex
 #: doc/guix.texi:1231
@@ -3849,7 +3843,7 @@ msgstr "Reproduzierbare Erstellungen"
 #. type: Plain text
 #: doc/guix.texi:1245
 msgid "By default, @command{guix-daemon} launches build processes under different UIDs, taken from the build group specified with @code{--build-users-group}.  In addition, each build process is run in a chroot environment that only contains the subset of the store that the build process depends on, as specified by its derivation (@pxref{Programming Interface, derivation}), plus a set of specific system directories.  By default, the latter contains @file{/dev} and @file{/dev/pts}.  Furthermore, on GNU/Linux, the build environment is a @dfn{container}: in addition to having its own file system tree, it has a separate mount name space, its own PID name space, network name space, etc.  This helps achieve reproducible builds (@pxref{Features})."
-msgstr "Standardmäßig führt @command{guix-daemon} Erstellungsprozesse mit unterschiedlichen UIDs aus, die aus der Erstellungsgruppe stammen, deren Name mit @code{--build-users-group} übergeben wurde. Außerdem läuft jeder Erstellungsprozess in einer chroot-Umgebung, die nur die Teilmenge des Stores enthält, von der der Erstellungsprozess abhängt, entsprechend seiner Ableitung (@pxref{Programming Interface, derivation}), und ein paar bestimmte Systemverzeichnisse, darunter standardmäßig auch @file{/dev} und @file{/dev/pts}. Zudem ist die Erstellungsumgebung auf GNU/Linux ein @dfn{Container}: Nicht nur hat er seinen eigenen Dateisystembaum, er hat auch einen separaten Namensraum zum Einhängen von Dateisystemen, seinen eigenen Namensraum für PIDs, für Netzwerke, etc. Dies hilft dabei, reproduzierbare Erstellungen zu garantieren (@pxref{Features})."
+msgstr "Standardmäßig führt @command{guix-daemon} Erstellungsprozesse mit unterschiedlichen UIDs aus, die aus der Erstellungsgruppe stammen, deren Name mit @code{--build-users-group} übergeben wurde. Außerdem läuft jeder Erstellungsprozess in einer chroot-Umgebung, die nur die Teilmenge des Stores enthält, von der der Erstellungsprozess abhängt, entsprechend seiner Ableitung (siehe @ref{Programming Interface, derivation}), und ein paar bestimmte Systemverzeichnisse, darunter standardmäßig auch @file{/dev} und @file{/dev/pts}. Zudem ist die Erstellungsumgebung auf GNU/Linux ein @dfn{Container}: Nicht nur hat er seinen eigenen Dateisystembaum, er hat auch einen separaten Namensraum zum Einhängen von Dateisystemen, seinen eigenen Namensraum für PIDs, für Netzwerke, etc. Dies hilft dabei, reproduzierbare Erstellungen zu garantieren (siehe @ref{Features})."
 
 #. type: Plain text
 #: doc/guix.texi:1251
@@ -3859,12 +3853,12 @@ msgstr "Wenn der Daemon im Auftrag des Nutzers eine Erstellung durchführt, erze
 #. type: Plain text
 #: doc/guix.texi:1255
 msgid "The build directory is automatically deleted upon completion, unless the build failed and the client specified @option{--keep-failed} (@pxref{Invoking guix build, @option{--keep-failed}})."
-msgstr "Nach Abschluss der Erstellung wird das Erstellungsverzeichnis automatisch entfernt, außer wenn die Erstellung fehlgeschlagen ist und der Client @option{--keep-failed} angegeben hat (@pxref{Invoking guix build, @option{--keep-failed}})."
+msgstr "Nach Abschluss der Erstellung wird das Erstellungsverzeichnis automatisch entfernt, außer wenn die Erstellung fehlgeschlagen ist und der Client @option{--keep-failed} angegeben hat (siehe @ref{Invoking guix build, @option{--keep-failed}})."
 
 #. type: Plain text
 #: doc/guix.texi:1261
 msgid "The daemon listens for connections and spawns one sub-process for each session started by a client (one of the @command{guix} sub-commands.)  The @command{guix processes} command allows you to get an overview of the activity on your system by viewing each of the active sessions and clients.  @xref{Invoking guix processes}, for more information."
-msgstr "Der Daemon lauscht auf Verbindungen und erstellt jeweils einen Unterprozess für jede von einem Client begonnene Sitzung (d.h. von einem der @command{guix}-Unterbefehle.) Der Befehl @command{guix processes} zeigt Ihnen eine Übersicht solcher Systemaktivitäten; damit werden Ihnen alle aktiven Sitzungen und Clients gezeigt. Weitere Informationen finden Sie unter @xref{Invoking guix processes}."
+msgstr "Der Daemon lauscht auf Verbindungen und erstellt jeweils einen Unterprozess für jede von einem Client begonnene Sitzung (d.h. von einem der @command{guix}-Unterbefehle.) Der Befehl @command{guix processes} zeigt Ihnen eine Übersicht solcher Systemaktivitäten; damit werden Ihnen alle aktiven Sitzungen und Clients gezeigt. Weitere Informationen finden Sie unter @ref{Invoking guix processes}."
 
 #. type: Plain text
 #: doc/guix.texi:1263
@@ -3880,7 +3874,7 @@ msgstr "--build-users-group=@var{Gruppe}"
 #. type: table
 #: doc/guix.texi:1268
 msgid "Take users from @var{group} to run build processes (@pxref{Setting Up the Daemon, build users})."
-msgstr "Verwende die Benutzerkonten aus der @var{Gruppe}, um Erstellungsprozesse auszuführen (@pxref{Setting Up the Daemon, build users})."
+msgstr "Verwende die Benutzerkonten aus der @var{Gruppe}, um Erstellungsprozesse auszuführen (siehe @ref{Setting Up the Daemon, build users})."
 
 #. type: item
 #: doc/guix.texi:1269 doc/guix.texi:6270
@@ -3897,12 +3891,12 @@ msgstr "Substitute"
 #. type: table
 #: doc/guix.texi:1274 doc/guix.texi:6274
 msgid "Do not use substitutes for build products.  That is, always build things locally instead of allowing downloads of pre-built binaries (@pxref{Substitutes})."
-msgstr "Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab erstellten Binärdateien erlaubt ist (@pxref{Substitutes})."
+msgstr "Benutze keine Substitute für Erstellungsergebnisse. Das heißt, dass alle Objekte lokal erstellt werden müssen, und kein Herunterladen von vorab erstellten Binärdateien erlaubt ist (siehe @ref{Substitutes})."
 
 #. type: table
 #: doc/guix.texi:1278
 msgid "When the daemon runs with @code{--no-substitutes}, clients can still explicitly enable substitution @i{via} the @code{set-build-options} remote procedure call (@pxref{The Store})."
-msgstr "Wenn der Daemon mit @code{--no-substitutes} ausgeführt wird, können Clients trotzdem Substitute explizit aktivieren über den entfernten Prozeduraufruf @code{set-build-options} (@pxref{The Store})."
+msgstr "Wenn der Daemon mit @code{--no-substitutes} ausgeführt wird, können Clients trotzdem Substitute explizit aktivieren über den entfernten Prozeduraufruf @code{set-build-options} (siehe @ref{The Store})."
 
 #. type: item
 #: doc/guix.texi:1279 doc/guix.texi:6257 doc/guix.texi:7769 doc/guix.texi:8652
@@ -3924,7 +3918,7 @@ msgstr "Benutze @var{URLs} als standardmäßige, leerzeichengetrennte Liste der
 #. type: table
 #: doc/guix.texi:1288
 msgid "This means that substitutes may be downloaded from @var{urls}, as long as they are signed by a trusted signature (@pxref{Substitutes})."
-msgstr "Das hat zur Folge, dass Substitute von den @var{URLs} heruntergeladen werden können, solange sie mit einer Signatur versehen sind, der vertraut wird (@pxref{Substitutes})."
+msgstr "Das hat zur Folge, dass Substitute von den @var{URLs} heruntergeladen werden können, solange sie mit einer Signatur versehen sind, der vertraut wird (siehe @ref{Substitutes})."
 
 #. type: item
 #: doc/guix.texi:1290 doc/guix.texi:6295
@@ -3940,7 +3934,7 @@ msgstr "Den »@dfn{Build-Hook}« nicht benutzen."
 #. type: table
 #: doc/guix.texi:1296
 msgid "The build hook is a helper program that the daemon can start and to which it submits build requests.  This mechanism is used to offload builds to other machines (@pxref{Daemon Offload Setup})."
-msgstr "»Build-Hook« ist der Name eines Hilfsprogramms, das der Daemon starten kann und an das er Erstellungsanfragen übermittelt. Durch diesen Mechanismus können Erstellungen an andere Maschinen ausgelagert werden (@pxref{Daemon Offload Setup})."
+msgstr "»Build-Hook« ist der Name eines Hilfsprogramms, das der Daemon starten kann und an das er Erstellungsanfragen übermittelt. Durch diesen Mechanismus können Erstellungen an andere Maschinen ausgelagert werden (siehe @ref{Daemon Offload Setup})."
 
 #. type: item
 #: doc/guix.texi:1297
@@ -3956,7 +3950,7 @@ msgstr "Fehler bei der Erstellung zwischenspeichern. Normalerweise werden nur er
 #. type: table
 #: doc/guix.texi:1304
 msgid "When this option is used, @command{guix gc --list-failures} can be used to query the set of store items marked as failed; @command{guix gc --clear-failures} removes store items from the set of cached failures.  @xref{Invoking guix gc}."
-msgstr "Wenn diese Befehlszeilenoption benutzt wird, kann @command{guix gc --list-failures} benutzt werden, um die Menge an Store-Objekten abzufragen, die als Fehlschläge markiert sind; @command{guix gc --clear-failures} entfernt Store-Objekte aus der Menge zwischengespeicherter Fehlschläge. @xref{Invoking guix gc}."
+msgstr "Wenn diese Befehlszeilenoption benutzt wird, kann @command{guix gc --list-failures} benutzt werden, um die Menge an Store-Objekten abzufragen, die als Fehlschläge markiert sind; @command{guix gc --clear-failures} entfernt Store-Objekte aus der Menge zwischengespeicherter Fehlschläge. Siehe @ref{Invoking guix gc}."
 
 #. type: item
 #: doc/guix.texi:1305 doc/guix.texi:6319
@@ -3978,7 +3972,7 @@ msgstr "@var{n} CPU-Kerne zum Erstellen jeder Ableitung benutzen; @code{0} heiß
 #. type: table
 #: doc/guix.texi:1313
 msgid "The default value is @code{0}, but it may be overridden by clients, such as the @code{--cores} option of @command{guix build} (@pxref{Invoking guix build})."
-msgstr "Der Vorgabewert ist @code{0}, jeder Client kann jedoch eine abweichende Anzahl vorgeben, zum Beispiel mit der Befehlszeilenoption @code{--cores} von @command{guix build} (@pxref{Invoking guix build})."
+msgstr "Der Vorgabewert ist @code{0}, jeder Client kann jedoch eine abweichende Anzahl vorgeben, zum Beispiel mit der Befehlszeilenoption @code{--cores} von @command{guix build} (siehe @ref{Invoking guix build})."
 
 #. type: table
 #: doc/guix.texi:1317
@@ -4000,7 +3994,7 @@ msgstr "-M @var{n}"
 #. type: table
 #: doc/guix.texi:1324
 msgid "Allow at most @var{n} build jobs in parallel.  The default value is @code{1}.  Setting it to @code{0} means that no builds will be performed locally; instead, the daemon will offload builds (@pxref{Daemon Offload Setup}), or simply fail."
-msgstr "Höchstenss @var{n} Erstellungsaufträge parallel bearbeiten. Der Vorgabewert liegt bei @code{1}. Wird er auf @code{0} gesetzt, werden keine Erstellungen lokal durchgeführt, stattdessen lagert der Daemon sie nur aus (@pxref{Daemon Offload Setup}) oder sie schlagen einfach fehl."
+msgstr "Höchstenss @var{n} Erstellungsaufträge parallel bearbeiten. Der Vorgabewert liegt bei @code{1}. Wird er auf @code{0} gesetzt, werden keine Erstellungen lokal durchgeführt, stattdessen lagert der Daemon sie nur aus (siehe @ref{Daemon Offload Setup}) oder sie schlagen einfach fehl."
 
 #. type: item
 #: doc/guix.texi:1325 doc/guix.texi:6300
@@ -4021,7 +4015,7 @@ msgstr "Der Vorgabewert ist @code{0}, was bedeutet, dass es keine Zeitbeschränk
 #. type: table
 #: doc/guix.texi:1333
 msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @code{--max-silent-time}})."
-msgstr "Clients können einen anderen Wert als den hier angegebenen verwenden lassen (@pxref{Common Build Options, @code{--max-silent-time}})."
+msgstr "Clients können einen anderen Wert als den hier angegebenen verwenden lassen (siehe @ref{Common Build Options, @code{--max-silent-time}})."
 
 #. type: item
 #: doc/guix.texi:1334 doc/guix.texi:6307
@@ -4037,7 +4031,7 @@ msgstr "Entsprechend wird hier der Erstellungs- oder Substitutionsprozess abgebr
 #. type: table
 #: doc/guix.texi:1342
 msgid "The value specified here can be overridden by clients (@pxref{Common Build Options, @code{--timeout}})."
-msgstr "Clients können einen anderen Wert verwenden lassen (@pxref{Common Build Options, @code{--timeout}})."
+msgstr "Clients können einen anderen Wert verwenden lassen (siehe @ref{Common Build Options, @code{--timeout}})."
 
 #. type: item
 #: doc/guix.texi:1343
@@ -4048,7 +4042,7 @@ msgstr "--rounds=@var{N}"
 #. type: table
 #: doc/guix.texi:1348
 msgid "Build each derivation @var{n} times in a row, and raise an error if consecutive build results are not bit-for-bit identical.  Note that this setting can be overridden by clients such as @command{guix build} (@pxref{Invoking guix build})."
-msgstr "Jede Ableitung @var{n}-mal hintereinander erstellen und einen Fehler melden, wenn nacheinander ausgewertete Erstellungsergebnisse nicht Bit für Bit identisch sind. Beachten Sie, dass Clients wie @command{guix build} einen anderen Wert verwenden lassen können (@pxref{Invoking guix build})."
+msgstr "Jede Ableitung @var{n}-mal hintereinander erstellen und einen Fehler melden, wenn nacheinander ausgewertete Erstellungsergebnisse nicht Bit für Bit identisch sind. Beachten Sie, dass Clients wie @command{guix build} einen anderen Wert verwenden lassen können (siehe @ref{Invoking guix build})."
 
 #. type: table
 #: doc/guix.texi:1352 doc/guix.texi:6608
@@ -4069,7 +4063,7 @@ msgstr "Informationen zur Fehlersuche ausgeben."
 #. type: table
 #: doc/guix.texi:1359
 msgid "This is useful to debug daemon start-up issues, but then it may be overridden by clients, for example the @code{--verbosity} option of @command{guix build} (@pxref{Invoking guix build})."
-msgstr "Dies ist nützlich, um Probleme beim Starten des Daemons nachzuvollziehen; Clients könn aber auch ein abweichenden Wert verwenden lassen, zum Beispiel mit der Befehlszeilenoption @code{--verbosity} von @command{guix build} (@pxref{Invoking guix build})."
+msgstr "Dies ist nützlich, um Probleme beim Starten des Daemons nachzuvollziehen; Clients könn aber auch ein abweichenden Wert verwenden lassen, zum Beispiel mit der Befehlszeilenoption @code{--verbosity} von @command{guix build} (siehe @ref{Invoking guix build})."
 
 #. type: item
 #: doc/guix.texi:1360
@@ -4167,7 +4161,7 @@ msgstr "Müllsammlerwurzeln"
 #. type: table
 #: doc/guix.texi:1406
 msgid "When set to ``yes'', the GC will keep the outputs of any live derivation available in the store---the @code{.drv} files.  The default is ``no'', meaning that derivation outputs are kept only if they are reachable from a GC root.  @xref{Invoking guix gc}, for more on GC roots."
-msgstr "Für »yes« behält der Müllsammler die Ausgaben aller lebendigen Ableitungen im Store — die @code{.drv}-Dateien. Der Vorgabewert ist aber »no«, so dass Ableitungsausgaben nur vorgehalten werden, wenn sie von einer Müllsammlerwurzel aus erreichbar sind. Siehe den Abschnitt @xref{Invoking guix gc} für weitere Informationen zu Müllsammlerwurzeln."
+msgstr "Für »yes« behält der Müllsammler die Ausgaben aller lebendigen Ableitungen im Store — die @code{.drv}-Dateien. Der Vorgabewert ist aber »no«, so dass Ableitungsausgaben nur vorgehalten werden, wenn sie von einer Müllsammlerwurzel aus erreichbar sind. Siehe den Abschnitt @ref{Invoking guix gc} für weitere Informationen zu Müllsammlerwurzeln."
 
 #. type: item
 #: doc/guix.texi:1407
@@ -4301,7 +4295,7 @@ msgstr "Lausche auf TCP-Verbindungen an der Netzwerkschnittstelle, die @code{128
 #. type: table
 #: doc/guix.texi:1469
 msgid "This option can be repeated multiple times, in which case @command{guix-daemon} accepts connections on all the specified endpoints.  Users can tell client commands what endpoint to connect to by setting the @code{GUIX_DAEMON_SOCKET} environment variable (@pxref{The Store, @code{GUIX_DAEMON_SOCKET}})."
-msgstr "Diese Befehlszeilenoption kann mehrmals wiederholt werden. In diesem Fall akzeptiert @command{guix-daemon} Verbindungen auf allen angegebenen Endpunkten. Benutzer können bei Client-Befehlen angeben, mit welchem Endpunkt sie sich verbinden möchten, indem sie die Umgebungsvariable @code{GUIX_DAEMON_SOCKET} festlegen (@pxref{The Store, @code{GUIX_DAEMON_SOCKET}})."
+msgstr "Diese Befehlszeilenoption kann mehrmals wiederholt werden. In diesem Fall akzeptiert @command{guix-daemon} Verbindungen auf allen angegebenen Endpunkten. Benutzer können bei Client-Befehlen angeben, mit welchem Endpunkt sie sich verbinden möchten, indem sie die Umgebungsvariable @code{GUIX_DAEMON_SOCKET} festlegen (siehe @ref{The Store, @code{GUIX_DAEMON_SOCKET}})."
 
 #. type: quotation
 #: doc/guix.texi:1470 doc/guix.texi:2380 doc/guix.texi:3090 doc/guix.texi:3303
@@ -4375,7 +4369,7 @@ msgstr "Beachten Sie, dass das Paket @code{glibc-locales} Daten für alle von GN
 #. type: Plain text
 #: doc/guix.texi:1516
 msgid "The @code{GUIX_LOCPATH} variable plays a role similar to @code{LOCPATH} (@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference Manual}).  There are two important differences though:"
-msgstr "Die Variable @code{GUIX_LOCPATH} spielt eine ähnliche Rolle wie @code{LOCPATH} (@pxref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference Manual}). Es gibt jedoch zwei wichtige Unterschiede:"
+msgstr "Die Variable @code{GUIX_LOCPATH} spielt eine ähnliche Rolle wie @code{LOCPATH} (siehe @ref{Locale Names, @code{LOCPATH},, libc, The GNU C Library Reference Manual}). Es gibt jedoch zwei wichtige Unterschiede:"
 
 #. type: enumerate
 #: doc/guix.texi:1523
@@ -4430,7 +4424,7 @@ msgstr "nsswitch.conf"
 #. type: Plain text
 #: doc/guix.texi:1553
 msgid "The GNU C library implements a @dfn{name service switch} (NSS), which is an extensible mechanism for ``name lookups'' in general: host name resolution, user accounts, and more (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})."
-msgstr "Die GNU-C-Bibliothek implementiert einen @dfn{Name Service Switch} (NSS), welcher einen erweiterbaren Mechanismus zur allgemeinen »Namensauflösung« darstellt: Hostnamensauflösung, Benutzerkonten und weiteres (@pxref{Name Service Switch,,, libc, The GNU C Library Reference Manual})."
+msgstr "Die GNU-C-Bibliothek implementiert einen @dfn{Name Service Switch} (NSS), welcher einen erweiterbaren Mechanismus zur allgemeinen »Namensauflösung« darstellt: Hostnamensauflösung, Benutzerkonten und weiteres (siehe @ref{Name Service Switch,,, libc, The GNU C Library Reference Manual})."
 
 #. type: cindex
 #: doc/guix.texi:1554
@@ -4447,7 +4441,7 @@ msgstr "NIS (Network Information Service)"
 #. type: Plain text
 #: doc/guix.texi:1564
 msgid "Being extensible, the NSS supports @dfn{plugins}, which provide new name lookup implementations: for example, the @code{nss-mdns} plugin allow resolution of @code{.local} host names, the @code{nis} plugin allows user account lookup using the Network information service (NIS), and so on.  These extra ``lookup services'' are configured system-wide in @file{/etc/nsswitch.conf}, and all the programs running on the system honor those settings (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})."
-msgstr "Für die Erweiterbarkeit unterstützt der NSS @dfn{Plugins}, welche neue Implementierungen zur Namensauflösung bieten: Zum Beispiel ermöglicht das Plugin @code{nss-mdns} die Namensauflösung für @code{.local}-Hostnamen, das Plugin @code{nis} gestattet die Auflösung von Benutzerkonten über den Network Information Service (NIS) und so weiter. Diese zusätzlichen »Auflösungsdienste« werden systemweit konfiguriert in @file{/etc/nsswitch.conf} und alle auf dem System laufenden Programme halten sich an diese Einstellungen (@pxref{NSS Configuration File,,, libc, The GNU C Reference Manual})."
+msgstr "Für die Erweiterbarkeit unterstützt der NSS @dfn{Plugins}, welche neue Implementierungen zur Namensauflösung bieten: Zum Beispiel ermöglicht das Plugin @code{nss-mdns} die Namensauflösung für @code{.local}-Hostnamen, das Plugin @code{nis} gestattet die Auflösung von Benutzerkonten über den Network Information Service (NIS) und so weiter. Diese zusätzlichen »Auflösungsdienste« werden systemweit konfiguriert in @file{/etc/nsswitch.conf} und alle auf dem System laufenden Programme halten sich an diese Einstellungen (siehe @ref{NSS Configuration File,,, libc, The GNU C Reference Manual})."
 
 #. type: Plain text
 #: doc/guix.texi:1574
@@ -4479,12 +4473,12 @@ msgstr "Schriftarten"
 #. type: Plain text
 #: doc/guix.texi:1595
 msgid "The majority of graphical applications use Fontconfig to locate and load fonts and perform X11-client-side rendering.  The @code{fontconfig} package in Guix looks for fonts in @file{$HOME/.guix-profile} by default.  Thus, to allow graphical applications installed with Guix to display fonts, you have to install fonts with Guix as well.  Essential font packages include @code{gs-fonts}, @code{font-dejavu}, and @code{font-gnu-freefont-ttf}."
-msgstr "Die Mehrheit der grafischen Anwendungen benutzen Fontconfig zum Finden und Laden von Schriftarten und für die Darstellung im X11-Client. Im Paket @code{fontconfig} in Guix werden Schriftarten standardmäßig in @file{$HOME/.guix-profile} gesucht. Um es grafischen Anwendungen, die mit Guix installiert wurden, zu ermöglichen, Schriftarten anzuzeigen, müssen Sie die Schriftarten auch mit Guix installieren. Essenzielle Pakete für Schriftarten sind unter Anderem @code{gs-fonts}, @code{font-dejavu} und @code{font-gnu-freefont-ttf}."
+msgstr "Die Mehrheit der grafischen Anwendungen benutzen Fontconfig zum Finden und Laden von Schriftarten und für die Darstellung im X11-Client. Im Paket @code{fontconfig} in Guix werden Schriftarten standardmäßig in @file{$HOME/.guix-profile} gesucht. Um es grafischen Anwendungen, die mit Guix installiert wurden, zu ermöglichen, Schriftarten anzuzeigen, müssen Sie die Schriftarten auch mit Guix installieren. Essenzielle Pakete für Schriftarten sind unter anderem @code{gs-fonts}, @code{font-dejavu} und @code{font-gnu-freefont-ttf}."
 
 #. type: Plain text
 #: doc/guix.texi:1602
 msgid "To display text written in Chinese languages, Japanese, or Korean in graphical applications, consider installing @code{font-adobe-source-han-sans} or @code{font-wqy-zenhei}.  The former has multiple outputs, one per language family (@pxref{Packages with Multiple Outputs}).  For instance, the following command installs fonts for Chinese languages:"
-msgstr "Um auf Chinesisch, Japanisch oder Koreanisch verfassten Text in grafischen Anwendungen anzeigen zu können, möchten Sie vielleicht @code{font-adobe-source-han-sans} oder @code{font-wqy-zenhei} installieren. Ersteres hat mehrere Ausgaben, für jede Sprachfamilie eine (@pxref{Packages with Multiple Outputs}). Zum Beispiel installiert folgender Befehl Schriftarten für chinesische Sprachen:"
+msgstr "Um auf Chinesisch, Japanisch oder Koreanisch verfassten Text in grafischen Anwendungen anzeigen zu können, möchten Sie vielleicht @code{font-adobe-source-han-sans} oder @code{font-wqy-zenhei} installieren. Ersteres hat mehrere Ausgaben, für jede Sprachfamilie eine (siehe @ref{Packages with Multiple Outputs}). Zum Beispiel installiert folgender Befehl Schriftarten für chinesische Sprachen:"
 
 #. type: example
 #: doc/guix.texi:1605
@@ -4562,7 +4556,7 @@ msgstr "Das Paket @code{nss-certs} bietet X.509-Zertifikate, womit Programme die
 #. type: Plain text
 #: doc/guix.texi:1647
 msgid "When using Guix on a foreign distro, you can install this package and define the relevant environment variables so that packages know where to look for certificates.  @xref{X.509 Certificates}, for detailed information."
-msgstr "Wenn Sie Guix auf einer Fremddistribution verwenden, können Sie dieses Paket installieren und die relevanten Umgebungsvariablen festlegen, damit Pakete wissen, wo sie Zertifikate finden. In @xref{X.509 Certificates} stehen genaue Informationen."
+msgstr "Wenn Sie Guix auf einer Fremddistribution verwenden, können Sie dieses Paket installieren und die relevanten Umgebungsvariablen festlegen, damit Pakete wissen, wo sie Zertifikate finden. Unter @ref{X.509 Certificates} stehen genaue Informationen."
 
 #. type: subsection
 #: doc/guix.texi:1648
@@ -4579,12 +4573,12 @@ msgstr "emacs"
 #. type: Plain text
 #: doc/guix.texi:1661
 msgid "When you install Emacs packages with Guix, the elisp files may be placed either in @file{$HOME/.guix-profile/share/emacs/site-lisp/} or in sub-directories of @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/}.  The latter directory exists because potentially there may exist thousands of Emacs packages and storing all their files in a single directory may not be reliable (because of name conflicts).  So we think using a separate directory for each package is a good idea.  It is very similar to how the Emacs package system organizes the file structure (@pxref{Package Files,,, emacs, The GNU Emacs Manual})."
-msgstr "Wenn Sie mit Guix Pakete für Emacs installieren, werden deren elisp-Dateien entweder in @file{$HOME/.guix-profile/share/emacs/site-lisp/} oder in Unterverzeichnissen von @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/} gespeichert. Letzteres Verzeichnis gibt es, weil es Tausende von Emacs-Paketen gibt und sie alle im selben Verzeichnis zu speichern vielleicht nicht verlässlich funktioniert (wegen Namenskonflikten). Daher halten wir es für richtig, für jedes Paket ein anderes Verzeichnis zu benutzen. Das Emacs-Paketsystem organisiert die Dateistruktur ähnlich (@pxref{Package Files,,, emacs, The GNU Emacs Manual})."
+msgstr "Wenn Sie mit Guix Pakete für Emacs installieren, werden deren elisp-Dateien entweder in @file{$HOME/.guix-profile/share/emacs/site-lisp/} oder in Unterverzeichnissen von @file{$HOME/.guix-profile/share/emacs/site-lisp/guix.d/} gespeichert. Letzteres Verzeichnis gibt es, weil es Tausende von Emacs-Paketen gibt und sie alle im selben Verzeichnis zu speichern vielleicht nicht verlässlich funktioniert (wegen Namenskonflikten). Daher halten wir es für richtig, für jedes Paket ein anderes Verzeichnis zu benutzen. Das Emacs-Paketsystem organisiert die Dateistruktur ähnlich (siehe @ref{Package Files,,, emacs, The GNU Emacs Manual})."
 
 #. type: Plain text
 #: doc/guix.texi:1667
 msgid "By default, Emacs (installed with Guix) ``knows'' where these packages are placed, so you do not need to perform any configuration.  If, for some reason, you want to avoid auto-loading Emacs packages installed with Guix, you can do so by running Emacs with @code{--no-site-file} option (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
-msgstr "Standardmäßig »weiß« Emacs (wenn er mit Guix installiert wurde), wo diese Pakete liegen, Sie müssen also nichts selbst konfigurieren. Wenn Sie aber aus irgendeinem Grund mit Guix installierte Pakete nicht automatisch laden lassen möchten, können Sie Emacs mit der Befehlszeilenoption @code{--no-site-file} starten (@pxref{Init File,,, emacs, The GNU Emacs Manual})."
+msgstr "Standardmäßig »weiß« Emacs (wenn er mit Guix installiert wurde), wo diese Pakete liegen, Sie müssen also nichts selbst konfigurieren. Wenn Sie aber aus irgendeinem Grund mit Guix installierte Pakete nicht automatisch laden lassen möchten, können Sie Emacs mit der Befehlszeilenoption @code{--no-site-file} starten (siehe @ref{Init File,,, emacs, The GNU Emacs Manual})."
 
 #. type: subsection
 #: doc/guix.texi:1668
@@ -4634,7 +4628,7 @@ msgstr "Der Zweck von GNU Guix ist, Benutzern die leichte Installation, Aktualis
 #. type: Plain text
 #: doc/guix.texi:1711
 msgid "This chapter describes the main features of Guix, as well as the package management tools it provides.  Along with the command-line interface described below (@pxref{Invoking guix package, @code{guix package}}), you may also use the Emacs-Guix interface (@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}), after installing @code{emacs-guix} package (run @kbd{M-x guix-help} command to start with it):"
-msgstr "Dieses Kapitel beschreibt die Hauptfunktionalitäten von Guix, sowie die von Guix angebotenen Paketverwaltungswerkzeuge. Zusätzlich von den im Folgenden beschriebenen Befehlszeilen-Benutzerschnittstellen (@pxref{Invoking guix package, @code{guix package}}) können Sie auch mit der Emacs-Guix-Schnittstelle (@pxref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}) arbeiten, nachdem Sie das Paket @code{emacs-guix} installiert haben (führen Sie zum Einstieg in Emacs-Guix den Emacs-Befehl @kbd{M-x guix-help} aus):"
+msgstr "Dieses Kapitel beschreibt die Hauptfunktionalitäten von Guix, sowie die von Guix angebotenen Paketverwaltungswerkzeuge. Zusätzlich von den im Folgenden beschriebenen Befehlszeilen-Benutzerschnittstellen (siehe @ref{Invoking guix package, @code{guix package}}) können Sie auch mit der Emacs-Guix-Schnittstelle (siehe @ref{Top,,, emacs-guix, The Emacs-Guix Reference Manual}) arbeiten, nachdem Sie das Paket @code{emacs-guix} installiert haben (führen Sie zum Einstieg in Emacs-Guix den Emacs-Befehl @kbd{M-x guix-help} aus):"
 
 #. type: example
 #: doc/guix.texi:1714
@@ -4660,7 +4654,7 @@ msgstr "Zum Beispiel installiert @code{alice} GCC 4.7.2. Dadurch zeigt dann @fil
 #. type: Plain text
 #: doc/guix.texi:1753
 msgid "The @command{guix package} command is the central tool to manage packages (@pxref{Invoking guix package}).  It operates on the per-user profiles, and can be used @emph{with normal user privileges}."
-msgstr "Der Befehl @command{guix package} ist das zentrale Werkzeug, um Pakete zu verwalten (@pxref{Invoking guix package}). Es arbeitet auf dem eigenen Profil jedes Nutzers und kann @emph{mit normalen Benutzerrechten} ausgeführt werden."
+msgstr "Der Befehl @command{guix package} ist das zentrale Werkzeug, um Pakete zu verwalten (siehe @ref{Invoking guix package}). Es arbeitet auf dem eigenen Profil jedes Nutzers und kann @emph{mit normalen Benutzerrechten} ausgeführt werden."
 
 #. type: cindex
 #: doc/guix.texi:1754 doc/guix.texi:1832
@@ -4676,12 +4670,12 @@ msgstr "Der Befehl stellt die offensichtlichen Installations-, Entfernungs- und
 #. type: Plain text
 #: doc/guix.texi:1769
 msgid "In addition, any package transaction may be @emph{rolled back}.  So, if, for example, an upgrade installs a new version of a package that turns out to have a serious bug, users may roll back to the previous instance of their profile, which was known to work well.  Similarly, the global system configuration on GuixSD is subject to transactional upgrades and roll-back (@pxref{Using the Configuration System})."
-msgstr "Zudem kann jede Pakettransaktion @emph{zurückgesetzt} werden (Rollback). Wird also zum Beispiel durch eine Aktualisierung eine neue Version eines Pakets installiert, die einen schwerwiegenden Fehler zur Folge hat, können Nutzer ihr Profil einfach auf die vorherige Profilinstanz zurücksetzen, von der sie wissen, dass sie gut lief. Ebenso unterliegt auf GuixSD auch die globale Systemkonfiguration transaktionellen Aktualisierungen und Rücksetzungen (@pxref{Using the Configuration System})."
+msgstr "Zudem kann jede Pakettransaktion @emph{zurückgesetzt} werden (Rollback). Wird also zum Beispiel durch eine Aktualisierung eine neue Version eines Pakets installiert, die einen schwerwiegenden Fehler zur Folge hat, können Nutzer ihr Profil einfach auf die vorherige Profilinstanz zurücksetzen, von der sie wissen, dass sie gut lief. Ebenso unterliegt auf GuixSD auch die globale Systemkonfiguration transaktionellen Aktualisierungen und Rücksetzungen (siehe @ref{Using the Configuration System})."
 
 #. type: Plain text
 #: doc/guix.texi:1776
 msgid "All packages in the package store may be @emph{garbage-collected}.  Guix can determine which packages are still referenced by user profiles, and remove those that are provably no longer referenced (@pxref{Invoking guix gc}).  Users may also explicitly remove old generations of their profile so that the packages they refer to can be collected."
-msgstr "Alle Pakete im Paket-Store können vom @emph{Müllsammler} (Garbage Collector) gelöscht werden. Guix ist in der Lage, festzustellen, welche Pakete noch durch Benutzerprofile referenziert werden, und entfernt nur diese, die nachweislich nicht mehr referenziert werden (@pxref{Invoking guix gc}). Benutzer können auch ausdrücklich alte Generationen ihres Profils löschen, damit die zugehörigen Pakete vom Müllsammler gelöscht werden können."
+msgstr "Alle Pakete im Paket-Store können vom @emph{Müllsammler} (Garbage Collector) gelöscht werden. Guix ist in der Lage, festzustellen, welche Pakete noch durch Benutzerprofile referenziert werden, und entfernt nur diese, die nachweislich nicht mehr referenziert werden (siehe @ref{Invoking guix gc}). Benutzer können auch ausdrücklich alte Generationen ihres Profils löschen, damit die zugehörigen Pakete vom Müllsammler gelöscht werden können."
 
 #. type: cindex
 #: doc/guix.texi:1777 doc/guix.texi:3217
@@ -4692,17 +4686,17 @@ msgstr "Reproduzierbarkeit"
 #. type: Plain text
 #: doc/guix.texi:1789
 msgid "Guix takes a @dfn{purely functional} approach to package management, as described in the introduction (@pxref{Introduction}).  Each @file{/gnu/store} package directory name contains a hash of all the inputs that were used to build that package---compiler, libraries, build scripts, etc.  This direct correspondence allows users to make sure a given package installation matches the current state of their distribution.  It also helps maximize @dfn{build reproducibility}: thanks to the isolated build environments that are used, a given build is likely to yield bit-identical files when performed on different machines (@pxref{Invoking guix-daemon, container})."
-msgstr "Guix verfolgt einen @dfn{rein funktionalen} Ansatz bei der Paketverwaltung, wie er in der Einleitung beschrieben wurde (@pxref{Introduction}). Jedes Paketverzeichnis im @file{/gnu/store} hat einen Hash all seiner bei der Erstellung benutzten Eingaben im Namen — Compiler, Bibliotheken, Erstellungs-Skripts etc. Diese direkte Entsprechung ermöglicht es Benutzern, eine Paketinstallation zu benutzen, die sicher dem aktuellen Stand ihrer Distribution entspricht. Sie maximiert auch die @dfn{Reproduzierbarkeit der Erstellungen} zu maximieren: Dank der isolierten Erstellungsumgebungen, die benutzt werden, resultiert eine Erstellung wahrscheinlich in bitweise identischen Dateien, auch wenn sie auf unterschiedlichen Maschinen durchgeführt wird (@pxref{Invoking guix-daemon, container})."
+msgstr "Guix verfolgt einen @dfn{rein funktionalen} Ansatz bei der Paketverwaltung, wie er in der Einleitung beschrieben wurde (siehe @ref{Introduction}). Jedes Paketverzeichnis im @file{/gnu/store} hat einen Hash all seiner bei der Erstellung benutzten Eingaben im Namen — Compiler, Bibliotheken, Erstellungs-Skripts etc. Diese direkte Entsprechung ermöglicht es Benutzern, eine Paketinstallation zu benutzen, die sicher dem aktuellen Stand ihrer Distribution entspricht. Sie maximiert auch die @dfn{Reproduzierbarkeit der Erstellungen} zu maximieren: Dank der isolierten Erstellungsumgebungen, die benutzt werden, resultiert eine Erstellung wahrscheinlich in bitweise identischen Dateien, auch wenn sie auf unterschiedlichen Maschinen durchgeführt wird (siehe @ref{Invoking guix-daemon, container})."
 
 #. type: Plain text
 #: doc/guix.texi:1800
 msgid "This foundation allows Guix to support @dfn{transparent binary/source deployment}.  When a pre-built binary for a @file{/gnu/store} item is available from an external source---a @dfn{substitute}, Guix just downloads it and unpacks it; otherwise, it builds the package from source, locally (@pxref{Substitutes}).  Because build results are usually bit-for-bit reproducible, users do not have to trust servers that provide substitutes: they can force a local build and @emph{challenge} providers (@pxref{Invoking guix challenge})."
-msgstr "Auf dieser Grundlage kann Guix @dfn{transparent Binär- oder Quelldateien ausliefern}. Wenn eine vorerstellte Binärdatei für ein @file{/gnu/store}-Objekt von einer externen Quelle verfügbar ist — ein @dfn{Substitut} —, lädt Guix sie einfach herunter und entpackt sie, andernfalls erstellt Guix das Paket lokal aus seinem Quellcode (@pxref{Substitutes}). Weil Erstellungsergebnisse normalerweise Bit für Bit reproduzierbar sind, müssen die Nutzer den Servern, die Substitute anbieten, nicht blind vertrauen; sie können eine lokale Erstellung erzwingen und Substitute @emph{anfechten} (@pxref{Invoking guix challenge})."
+msgstr "Auf dieser Grundlage kann Guix @dfn{transparent Binär- oder Quelldateien ausliefern}. Wenn eine vorerstellte Binärdatei für ein @file{/gnu/store}-Objekt von einer externen Quelle verfügbar ist — ein @dfn{Substitut} —, lädt Guix sie einfach herunter und entpackt sie, andernfalls erstellt Guix das Paket lokal aus seinem Quellcode (siehe @ref{Substitutes}). Weil Erstellungsergebnisse normalerweise Bit für Bit reproduzierbar sind, müssen die Nutzer den Servern, die Substitute anbieten, nicht blind vertrauen; sie können eine lokale Erstellung erzwingen und Substitute @emph{anfechten} (siehe @ref{Invoking guix challenge})."
 
 #. type: Plain text
 #: doc/guix.texi:1806
 msgid "Control over the build environment is a feature that is also useful for developers.  The @command{guix environment} command allows developers of a package to quickly set up the right development environment for their package, without having to manually install the dependencies of the package into their profile (@pxref{Invoking guix environment})."
-msgstr "Kontrolle über die Erstellungsumgebung ist eine auch für Entwickler nützliche Funktionalität. Der Befehl @command{guix environment} ermöglicht es Entwicklern eines Pakets, schnell die richtige Entwicklungsumgebung für ihr Paket einzurichten, ohne manuell die Abhängigkeiten des Pakets in ihr Profil installieren zu müssen (@pxref{Invoking guix environment})."
+msgstr "Kontrolle über die Erstellungsumgebung ist eine auch für Entwickler nützliche Funktionalität. Der Befehl @command{guix environment} ermöglicht es Entwicklern eines Pakets, schnell die richtige Entwicklungsumgebung für ihr Paket einzurichten, ohne manuell die Abhängigkeiten des Pakets in ihr Profil installieren zu müssen (siehe @ref{Invoking guix environment})."
 
 #. type: cindex
 #: doc/guix.texi:1807
@@ -4719,7 +4713,7 @@ msgstr "Provenienzverfolgung, von Software-Artefakten"
 #. type: Plain text
 #: doc/guix.texi:1815
 msgid "All of Guix and its package definitions is version-controlled, and @command{guix pull} allows you to ``travel in time'' on the history of Guix itself (@pxref{Invoking guix pull}).  This makes it possible to replicate a Guix instance on a different machine or at a later point in time, which in turn allows you to @emph{replicate complete software environments}, while retaining precise @dfn{provenance tracking} of the software."
-msgstr "Ganz Guix und all seine Paketdefinitionen stehen unter Versionskontrolle und @command{guix pull} macht es möglich, auf dem Verlauf der Entwicklung von Guix selbst »in der Zeit zu reisen« (@pxref{Invoking guix pull}). Dadurch kann eine Instanz von Guix auf einer anderen Maschine oder zu einem späteren Zeitpunkt genau nachgebildet werden, wodurch auch @emph{vollständige Software-Umgebungen gänzlich nachgebildet} werden können, mit genauer @dfn{Provenienzverfolgung}, wo diese Software herkommt."
+msgstr "Ganz Guix und all seine Paketdefinitionen stehen unter Versionskontrolle und @command{guix pull} macht es möglich, auf dem Verlauf der Entwicklung von Guix selbst »in der Zeit zu reisen« (siehe @ref{Invoking guix pull}). Dadurch kann eine Instanz von Guix auf einer anderen Maschine oder zu einem späteren Zeitpunkt genau nachgebildet werden, wodurch auch @emph{vollständige Software-Umgebungen gänzlich nachgebildet} werden können, mit genauer @dfn{Provenienzverfolgung}, wo diese Software herkommt."
 
 #. type: section
 #: doc/guix.texi:1817
@@ -4754,7 +4748,7 @@ msgstr "Paketentfernung"
 #. type: Plain text
 #: doc/guix.texi:1828
 msgid "The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back to previous configurations.  It operates only on the user's own profile, and works with normal user privileges (@pxref{Features}).  Its syntax is:"
-msgstr "Der Befehl @command{guix package} ist ein Werkzeug, womit Nutzer Pakete installieren, aktualisieren, entfernen und auf vorherige Konfigurationen zurücksetzen können. Dabei wird nur das eigene Profil des Nutzers verwendet, und es funktioniert mit normalen Benutzerrechten, ohne Administratorrechte (@pxref{Funktionalitäten}). Die Syntax ist:"
+msgstr "Der Befehl @command{guix package} ist ein Werkzeug, womit Nutzer Pakete installieren, aktualisieren, entfernen und auf vorherige Konfigurationen zurücksetzen können. Dabei wird nur das eigene Profil des Nutzers verwendet, und es funktioniert mit normalen Benutzerrechten, ohne Administratorrechte (siehe @ref{Funktionalitäten}). Die Syntax ist:"
 
 #. type: example
 #: doc/guix.texi:1831
@@ -4781,7 +4775,7 @@ msgstr "guix package -r lua -i guile guile-cairo\n"
 #. type: Plain text
 #: doc/guix.texi:1849
 msgid "@command{guix package} also supports a @dfn{declarative approach} whereby the user specifies the exact set of packages to be available and passes it @i{via} the @option{--manifest} option (@pxref{profile-manifest, @option{--manifest}})."
-msgstr "@command{guix package} unterstützt auch ein @dfn{deklaratives Vorgehen}, wobei der Nutzer die genaue Menge an Paketen, die verfügbar sein sollen, festlegt und über die Befehlszeilenoption @option{--manifest} übergibt (@pxref{profile-manifest, @option{--manifest}})."
+msgstr "@command{guix package} unterstützt auch ein @dfn{deklaratives Vorgehen}, wobei der Nutzer die genaue Menge an Paketen, die verfügbar sein sollen, festlegt und über die Befehlszeilenoption @option{--manifest} übergibt (siehe @ref{profile-manifest, @option{--manifest}})."
 
 #. type: cindex
 #: doc/guix.texi:1850
@@ -4803,7 +4797,7 @@ msgstr "Suchpfade"
 #. type: Plain text
 #: doc/guix.texi:1861
 msgid "If you are not using the Guix System Distribution, consider adding the following lines to your @file{~/.bash_profile} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}) so that newly-spawned shells get all the right environment variable definitions:"
-msgstr "Wenn Sie nicht die Guix System Distribution benutzen, sollten Sie in Betracht ziehen, folgende Zeilen zu Ihrem @file{~/.bash_profile} hinzuzufügen (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}), damit in neu erzeugten Shells alle Umgebungsvariablen richtig definiert werden:"
+msgstr "Wenn Sie nicht die Guix System Distribution benutzen, sollten Sie in Betracht ziehen, folgende Zeilen zu Ihrem @file{~/.bash_profile} hinzuzufügen (siehe @ref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}), damit in neu erzeugten Shells alle Umgebungsvariablen richtig definiert werden:"
 
 #. type: example
 #: doc/guix.texi:1865
@@ -4818,7 +4812,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:1876
 msgid "In a multi-user setup, user profiles are stored in a place registered as a @dfn{garbage-collector root}, which @file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}).  That directory is normally @code{@var{localstatedir}/guix/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @code{--localstatedir}, and @var{user} is the user name.  The @file{per-user} directory is created when @command{guix-daemon} is started, and the @var{user} sub-directory is created by @command{guix package}."
-msgstr "Ist Ihr System für mehrere Nutzer eingerichtet, werden Nutzerprofile an einem Ort gespeichert, der als @dfn{Müllsammlerwurzel} registriert ist, auf die @file{$HOME/.guix-profile} zeigt (@pxref{Invoking guix gc}). Dieses Verzeichnis ist normalerweise @code{@var{localstatedir}/guix/profiles/per-user/@var{Benutzer}}, wobei @var{localstatedir} der an @code{configure} als @code{--localstatedir} übergebene Wert ist und @var{Benutzer} für den jeweiligen Benutzernamen steht. Das @file{per-user}-Verzeichnis wird erstellt, wenn @command{guix-daemon} gestartet wird, und das Unterverzeichnis @var{Benutzer} wird durch @command{guix package} erstellt."
+msgstr "Ist Ihr System für mehrere Nutzer eingerichtet, werden Nutzerprofile an einem Ort gespeichert, der als @dfn{Müllsammlerwurzel} registriert ist, auf die @file{$HOME/.guix-profile} zeigt (siehe @ref{Invoking guix gc}). Dieses Verzeichnis ist normalerweise @code{@var{localstatedir}/guix/profiles/per-user/@var{Benutzer}}, wobei @var{localstatedir} der an @code{configure} als @code{--localstatedir} übergebene Wert ist und @var{Benutzer} für den jeweiligen Benutzernamen steht. Das @file{per-user}-Verzeichnis wird erstellt, wenn @command{guix-daemon} gestartet wird, und das Unterverzeichnis @var{Benutzer} wird durch @command{guix package} erstellt."
 
 #. type: Plain text
 #: doc/guix.texi:1878
@@ -4850,7 +4844,7 @@ msgstr "Jedes @var{Paket} kann entweder einfach durch seinen Paketnamen aufgefü
 #. type: table
 #: doc/guix.texi:1897
 msgid "If no version number is specified, the newest available version will be selected.  In addition, @var{package} may contain a colon, followed by the name of one of the outputs of the package, as in @code{gcc:doc} or @code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs}).  Packages with a corresponding name (and optionally version) are searched for among the GNU distribution modules (@pxref{Package Modules})."
-msgstr "Wird keine Versionsnummer angegeben, wird die neueste verfügbare Version ausgewählt. Zudem kann im @var{Paket} ein Doppelpunkt auftauchen, gefolgt vom Namen einer der Ausgaben des Pakets, wie @code{gcc:doc} oder @code{binutils@@2.22:lib} (@pxref{Packages with Multiple Outputs}). Pakete mit zugehörigem Namen (und optional der Version) werden unter den Modulen der GNU-Distribution gesucht (@pxref{Package Modules})."
+msgstr "Wird keine Versionsnummer angegeben, wird die neueste verfügbare Version ausgewählt. Zudem kann im @var{Paket} ein Doppelpunkt auftauchen, gefolgt vom Namen einer der Ausgaben des Pakets, wie @code{gcc:doc} oder @code{binutils@@2.22:lib} (siehe @ref{Packages with Multiple Outputs}). Pakete mit zugehörigem Namen (und optional der Version) werden unter den Modulen der GNU-Distribution gesucht (siehe @ref{Package Modules})."
 
 #. type: cindex
 #: doc/guix.texi:1898
@@ -4861,7 +4855,7 @@ msgstr "propagierte Eingaben"
 #. type: table
 #: doc/guix.texi:1904
 msgid "Sometimes packages have @dfn{propagated inputs}: these are dependencies that automatically get installed along with the required package (@pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects}, for information about propagated inputs in package definitions)."
-msgstr "Manchmal haben Pakete @dfn{propagierte Eingaben}: Als solche werden Abhängigkeiten bezeichnet, die automatisch zusammen mit dem angeforderten Paket installiert werden (im Abschnitt @pxref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects} sind weitere Informationen über propagierte Eingaben in Paketdefinitionen zu finden)."
+msgstr "Manchmal haben Pakete @dfn{propagierte Eingaben}: Als solche werden Abhängigkeiten bezeichnet, die automatisch zusammen mit dem angeforderten Paket installiert werden (im Abschnitt @ref{package-propagated-inputs, @code{propagated-inputs} in @code{package} objects} sind weitere Informationen über propagierte Eingaben in Paketdefinitionen zu finden)."
 
 #. type: anchor{#1}
 #: doc/guix.texi:1911
@@ -4925,7 +4919,7 @@ msgstr "Das Paket installieren, zu dem der Code in der @var{Datei} ausgewertet w
 #. type: table
 #: doc/guix.texi:1936 doc/guix.texi:8162
 msgid "As an example, @var{file} might contain a definition like this (@pxref{Defining Packages}):"
-msgstr "Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten (@pxref{Defining Packages}):"
+msgstr "Zum Beispiel könnte die @var{Datei} eine Definition wie diese enthalten (siehe @ref{Defining Packages}):"
 
 #. type: example
 #: doc/guix.texi:1939 doc/guix.texi:6480
@@ -4936,7 +4930,7 @@ msgstr "@verbatiminclude package-hello.scm\n"
 #. type: table
 #: doc/guix.texi:1945
 msgid "Developers may find it useful to include such a @file{guix.scm} file in the root of their project source tree that can be used to test development snapshots and create reproducible development environments (@pxref{Invoking guix environment})."
-msgstr "Entwickler könnten es für nützlich erachten, eine solche @file{guix.scm}-Datei im Quellbaum ihres Projekts abzulegen, mit der Zwischenstände der Entwicklung getestet und reproduzierbare Erstellungsumgebungen aufgebaut werden können (@pxref{Invoking guix environment})."
+msgstr "Entwickler könnten es für nützlich erachten, eine solche @file{guix.scm}-Datei im Quellbaum ihres Projekts abzulegen, mit der Zwischenstände der Entwicklung getestet und reproduzierbare Erstellungsumgebungen aufgebaut werden können (siehe @ref{Invoking guix environment})."
 
 #. type: item
 #: doc/guix.texi:1946
@@ -4986,7 +4980,7 @@ msgstr "Alle installierten Pakete aktualisieren. Wenn einer oder mehr reguläre
 #. type: table
 #: doc/guix.texi:1966
 msgid "Note that this upgrades package to the latest version of packages found in the distribution currently installed.  To update your distribution, you should regularly run @command{guix pull} (@pxref{Invoking guix pull})."
-msgstr "Beachten Sie, dass das Paket so auf die neueste Version unter den Paketen gebracht wird, die in der aktuell installierten Distribution vorliegen. Um jedoch Ihre Distribution zu aktualisieren, sollten Sie regelmäßig @command{guix pull} ausführen (@pxref{Invoking guix pull})."
+msgstr "Beachten Sie, dass das Paket so auf die neueste Version unter den Paketen gebracht wird, die in der aktuell installierten Distribution vorliegen. Um jedoch Ihre Distribution zu aktualisieren, sollten Sie regelmäßig @command{guix pull} ausführen (siehe @ref{Invoking guix pull})."
 
 #. type: item
 #: doc/guix.texi:1967
@@ -5195,7 +5189,7 @@ msgstr "Führe die Definitionen von Umgebungsvariablen auf, in Bash-Syntax, die
 #. type: table
 #: doc/guix.texi:2066
 msgid "For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} environment variables to be defined so it can look for headers and libraries in the user's profile (@pxref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}).  If GCC and, say, the C library are installed in the profile, then @code{--search-paths} will suggest setting these variables to @code{@var{profile}/include} and @code{@var{profile}/lib}, respectively."
-msgstr "Zum Beispiel braucht GCC die Umgebungsvariablen @code{CPATH} und @code{LIBRARY_PATH}, um zu wissen, wo sich im Benutzerprofil Header und Bibliotheken befinden (@pxref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}). Wenn GCC und, sagen wir, die C-Bibliothek im Profil installiert sind, schlägt @code{--search-paths} also vor, diese Variablen jeweils auf @code{@var{profile}/include} und @code{@var{profile}/lib} verweisen zu lassen."
+msgstr "Zum Beispiel braucht GCC die Umgebungsvariablen @code{CPATH} und @code{LIBRARY_PATH}, um zu wissen, wo sich im Benutzerprofil Header und Bibliotheken befinden (siehe @ref{Environment Variables,,, gcc, Using the GNU Compiler Collection (GCC)}). Wenn GCC und, sagen wir, die C-Bibliothek im Profil installiert sind, schlägt @code{--search-paths} also vor, diese Variablen jeweils auf @code{@var{profile}/include} und @code{@var{profile}/lib} verweisen zu lassen."
 
 #. type: table
 #: doc/guix.texi:2069
@@ -5334,7 +5328,7 @@ msgstr "Suche nach Paketen"
 #. type: table
 #: doc/guix.texi:2130
 msgid "List the available packages whose name, synopsis, or description matches @var{regexp}, sorted by relevance.  Print all the metadata of matching packages in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
-msgstr "Führt alle verfügbaren Pakete auf, deren Name, Zusammenfassung oder Beschreibung zum regulären Ausdruck @var{Regexp} passt, sortiert nach ihrer Relevanz. Alle Metadaten passender Pakete werden im @code{recutils}-Format geliefert (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
+msgstr "Führt alle verfügbaren Pakete auf, deren Name, Zusammenfassung oder Beschreibung zum regulären Ausdruck @var{Regexp} passt, sortiert nach ihrer Relevanz. Alle Metadaten passender Pakete werden im @code{recutils}-Format geliefert (siehe @ref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
 
 #. type: table
 #: doc/guix.texi:2133
@@ -5435,7 +5429,7 @@ msgstr "Würden wir @code{-s game} weglassen, bekämen wir auch Software-Pakete
 #. type: table
 #: doc/guix.texi:2178
 msgid "And now for a more elaborate example.  The following command searches for cryptographic libraries, filters out Haskell, Perl, Python, and Ruby libraries, and prints the name and synopsis of the matching packages:"
-msgstr "Es ist Zeit für ein komplexeres Beispiel. Folgender Befehl sucht kryptographische Bibliotheken, filtert Haskell-, Perl-, Python- und Ruby-Bibliotheken heraus und gibt Namen und Zusammenfassung passender Pakete aus:"
+msgstr "Es ist Zeit für ein komplexeres Beispiel. Folgender Befehl sucht kryptografische Bibliotheken, filtert Haskell-, Perl-, Python- und Ruby-Bibliotheken heraus und gibt Namen und Zusammenfassung passender Pakete aus:"
 
 #. type: example
 #: doc/guix.texi:2182
@@ -5450,7 +5444,7 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:2187
 msgid "@xref{Selection Expressions,,, recutils, GNU recutils manual}, for more information on @dfn{selection expressions} for @code{recsel -e}."
-msgstr "@xref{Selection Expressions,,, recutils, GNU recutils manual} enthält weitere Informationen über @dfn{Auswahlausdrücke} mit @code{recsel -e}."
+msgstr "Siehe @ref{Selection Expressions,,, recutils, GNU recutils manual}, es enthält weitere Informationen über @dfn{Auswahlausdrücke} mit @code{recsel -e}."
 
 #. type: item
 #: doc/guix.texi:2188
@@ -5461,7 +5455,7 @@ msgstr "--show=@var{Paket}"
 #. type: table
 #: doc/guix.texi:2192
 msgid "Show details about @var{package}, taken from the list of available packages, in @code{recutils} format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
-msgstr "Zeigt Details über das @var{Paket} aus der Liste verfügbarer Pakete, im @code{recutils}-Format (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
+msgstr "Zeigt Details über das @var{Paket} aus der Liste verfügbarer Pakete, im @code{recutils}-Format (siehe @ref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
 
 #. type: example
 #: doc/guix.texi:2197
@@ -5541,12 +5535,12 @@ msgstr "-A [@var{Regexp}]"
 #. type: table
 #: doc/guix.texi:2229
 msgid "List packages currently available in the distribution for this system (@pxref{GNU Distribution}).  When @var{regexp} is specified, list only installed packages whose name matches @var{regexp}."
-msgstr "Listet Pakete auf, die in der aktuell installierten Distribution dieses Systems verfügbar sind (@pxref{GNU Distribution}). Wenn ein regulärer Ausdruck @var{Regexp} angegeben wird, werden nur Pakete aufgeführt, deren Name zum regulären Ausdruck @var{Regexp} passt."
+msgstr "Listet Pakete auf, die in der aktuell installierten Distribution dieses Systems verfügbar sind (siehe @ref{GNU Distribution}). Wenn ein regulärer Ausdruck @var{Regexp} angegeben wird, werden nur Pakete aufgeführt, deren Name zum regulären Ausdruck @var{Regexp} passt."
 
 #. type: table
 #: doc/guix.texi:2233
 msgid "For each package, print the following items separated by tabs: its name, its version string, the parts of the package (@pxref{Packages with Multiple Outputs}), and the source location of its definition."
-msgstr "Zu jedem Paket werden folgende Informationen getrennt durch Tabulatorzeichen ausgegeben: der Name, die Version als Zeichenkette, die Teile des Programms (@pxref{Packages with Multiple Outputs}) und die Stelle im Quellcode, an der das Paket definiert ist."
+msgstr "Zu jedem Paket werden folgende Informationen getrennt durch Tabulatorzeichen ausgegeben: der Name, die Version als Zeichenkette, die Teile des Programms (siehe @ref{Packages with Multiple Outputs}) und die Stelle im Quellcode, an der das Paket definiert ist."
 
 #. type: item
 #: doc/guix.texi:2234 doc/guix.texi:2881
@@ -5568,7 +5562,7 @@ msgstr "Liefert eine Liste der Generationen zusammen mit dem Datum, an dem sie e
 #. type: table
 #: doc/guix.texi:2246
 msgid "For each installed package, print the following items, separated by tabs: the name of a package, its version string, the part of the package that is installed (@pxref{Packages with Multiple Outputs}), and the location of this package in the store."
-msgstr "Zu jedem installierten Paket werden folgende Informationen durch Tabulatorzeichen getrennt angezeigt: der Name des Pakets, die Version als Zeichenkette, welcher Teil des Pakets installiert ist (@pxref{Packages with Multiple Outputs}) und an welcher Stelle sich das Paket im Store befindet."
+msgstr "Zu jedem installierten Paket werden folgende Informationen durch Tabulatorzeichen getrennt angezeigt: der Name des Pakets, die Version als Zeichenkette, welcher Teil des Pakets installiert ist (siehe @ref{Packages with Multiple Outputs}) und an welcher Stelle sich das Paket im Store befindet."
 
 #. type: table
 #: doc/guix.texi:2249
@@ -5653,7 +5647,7 @@ msgstr "Beachten Sie, dass Sie auf gelöschte Generationen nicht zurückwechseln
 #. type: Plain text
 #: doc/guix.texi:2299
 msgid "Finally, since @command{guix package} may actually start build processes, it supports all the common build options (@pxref{Common Build Options}).  It also supports package transformation options, such as @option{--with-source} (@pxref{Package Transformation Options}).  However, note that package transformations are lost when upgrading; to preserve transformations across upgrades, you should define your own package variant in a Guile module and add it to @code{GUIX_PACKAGE_PATH} (@pxref{Defining Packages})."
-msgstr "Zu guter Letzt können Sie, da @command{guix package} Erstellungsprozesse zu starten vermag, auch alle gemeinsamen Erstellungsoptionen (@pxref{Common Build Options}) verwenden. Auch Paketumwandlungsoptionen wie @option{--with-source} sind möglich (@pxref{Package Transformation Options}). Beachten Sie jedoch, dass die verwendeten Paketumwandlungsoptionen verloren gehen, nachdem Sie die Pakete aktualisiert haben. Damit Paketumwandlungen über Aktualisierungen hinweg erhalten bleiben, sollten Sie Ihre eigene Paketvariante in einem Guile-Modul definieren und zur Umgebungsvariablen @code{GUIX_PACKAGE_PATH} hinzufügen (@pxref{Defining Packages})."
+msgstr "Zu guter Letzt können Sie, da @command{guix package} Erstellungsprozesse zu starten vermag, auch alle gemeinsamen Erstellungsoptionen (siehe @ref{Common Build Options}) verwenden. Auch Paketumwandlungsoptionen wie @option{--with-source} sind möglich (siehe @ref{Package Transformation Options}). Beachten Sie jedoch, dass die verwendeten Paketumwandlungsoptionen verloren gehen, nachdem Sie die Pakete aktualisiert haben. Damit Paketumwandlungen über Aktualisierungen hinweg erhalten bleiben, sollten Sie Ihre eigene Paketvariante in einem Guile-Modul definieren und zur Umgebungsvariablen @code{GUIX_PACKAGE_PATH} hinzufügen (siehe @ref{Defining Packages})."
 
 #. type: cindex
 #: doc/guix.texi:2304
@@ -5669,7 +5663,7 @@ msgstr "Guix kann transparent Binär- oder Quelldateien ausliefern. Das heißt,
 #. type: Plain text
 #: doc/guix.texi:2315
 msgid "Substitutes can be anything resulting from a derivation build (@pxref{Derivations}).  Of course, in the common case, they are pre-built package binaries, but source tarballs, for instance, which also result from derivation builds, can be available as substitutes."
-msgstr "Substitute können alles sein, was das Ergebnis einer Ableitungserstellung ist (@pxref{Derivations}). Natürlich sind sie üblicherweise vorerstellte Paket-Binärdateien, aber wenn zum Beispiel ein Quell-Tarball das Ergebnis einer Ableitungserstellung ist, kann auch er als Substitut verfügbar sein."
+msgstr "Substitute können alles sein, was das Ergebnis einer Ableitungserstellung ist (siehe @ref{Derivations}). Natürlich sind sie üblicherweise vorerstellte Paket-Binärdateien, aber wenn zum Beispiel ein Quell-Tarball das Ergebnis einer Ableitungserstellung ist, kann auch er als Substitut verfügbar sein."
 
 #. type: cindex
 #: doc/guix.texi:2328
@@ -5686,7 +5680,7 @@ msgstr "Build-Farm"
 #. type: Plain text
 #: doc/guix.texi:2339
 msgid "The @code{mirror.hydra.gnu.org} server is a front-end to an official build farm that builds packages from Guix continuously for some architectures, and makes them available as substitutes.  This is the default source of substitutes; it can be overridden by passing the @option{--substitute-urls} option either to @command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}})  or to client tools such as @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option})."
-msgstr "Der Server @code{mirror.hydra.gnu.org} ist die Façade für eine offizielle »Build-Farm«, ein Erstellungswerk, das kontinuierlich Guix-Pakete für einige Prozessorarchitekturen erstellt und sie als Substitute zur Verfügung stellt. Dies ist die standardmäßige Quelle von Substituten; durch Übergeben der Befehlszeilenoption @option{--substitute-urls} an entweder den @command{guix-daemon} (@pxref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}}) oder Client-Werkzeuge wie @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option}) kann eine abweichende Einstellung benutzt werden."
+msgstr "Der Server @code{mirror.hydra.gnu.org} ist die Façade für eine offizielle »Build-Farm«, ein Erstellungswerk, das kontinuierlich Guix-Pakete für einige Prozessorarchitekturen erstellt und sie als Substitute zur Verfügung stellt. Dies ist die standardmäßige Quelle von Substituten; durch Übergeben der Befehlszeilenoption @option{--substitute-urls} an entweder den @command{guix-daemon} (siehe @ref{daemon-substitute-urls,, @code{guix-daemon --substitute-urls}}) oder Client-Werkzeuge wie @command{guix package} (siehe @ref{client-substitute-urls,, client @option{--substitute-urls} option}) kann eine abweichende Einstellung benutzt werden."
 
 #. type: Plain text
 #: doc/guix.texi:2345
@@ -5696,7 +5690,7 @@ msgstr "Substitut-URLs können entweder HTTP oder HTTPS sein. HTTPS wird empfohl
 #. type: Plain text
 #: doc/guix.texi:2354
 msgid "Substitutes from the official build farm are enabled by default when using the Guix System Distribution (@pxref{GNU Distribution}).  However, they are disabled by default when using Guix on a foreign distribution, unless you have explicitly enabled them via one of the recommended installation steps (@pxref{Installation}).  The following paragraphs describe how to enable or disable substitutes for the official build farm; the same procedure can also be used to enable substitutes for any other substitute server."
-msgstr "Substitute von der offiziellen Build-Farm sind standardmäßig erlaubt, wenn Sie die Guix-System-Distribution verwenden (@pxref{GNU Distribution}). Auf Fremddistributionen sind sie allerdings standardmäßig ausgeschaltet, solange Sie sie nicht ausdrücklich in einem der empfohlenen Installationsschritte erlaubt haben (@pxref{Installation}). Die folgenden Absätze beschreiben, wie Sie Substitute für die offizielle Build-Farm an- oder ausschalten; dieselbe Prozedur kann auch benutzt werden, um Substitute für einen beliebigen anderen Substitutsserver zu erlauben."
+msgstr "Substitute von der offiziellen Build-Farm sind standardmäßig erlaubt, wenn Sie die Guix-System-Distribution verwenden (siehe @ref{GNU Distribution}). Auf Fremddistributionen sind sie allerdings standardmäßig ausgeschaltet, solange Sie sie nicht ausdrücklich in einem der empfohlenen Installationsschritte erlaubt haben (siehe @ref{Installation}). Die folgenden Absätze beschreiben, wie Sie Substitute für die offizielle Build-Farm an- oder ausschalten; dieselbe Prozedur kann auch benutzt werden, um Substitute für einen beliebigen anderen Substitutsserver zu erlauben."
 
 #. type: cindex
 #: doc/guix.texi:2358
@@ -5719,12 +5713,12 @@ msgstr "ACL (Access Control List), für Substitute"
 #. type: Plain text
 #: doc/guix.texi:2368
 msgid "To allow Guix to download substitutes from @code{hydra.gnu.org} or a mirror thereof, you must add its public key to the access control list (ACL) of archive imports, using the @command{guix archive} command (@pxref{Invoking guix archive}).  Doing so implies that you trust @code{hydra.gnu.org} to not be compromised and to serve genuine substitutes."
-msgstr "Um es Guix zu gestatten, Substitute von @code{hydra.gnu.org} oder einem Spiegelserver davon herunterzuladen, müssen Sie den zugehörigen öffentlichen Schlüssel zur Access Control List (ACL, Zugriffssteuerungsliste) für Archivimporte hinzufügen, mit Hilfe des Befehls @command{guix archive} (@pxref{Invoking guix archive}). Dies impliziert, dass Sie darauf vertrauen, dass @code{hydra.gnu.org} nicht kompromittiert wurde und echte Substitute liefert."
+msgstr "Um es Guix zu gestatten, Substitute von @code{hydra.gnu.org} oder einem Spiegelserver davon herunterzuladen, müssen Sie den zugehörigen öffentlichen Schlüssel zur Access Control List (ACL, Zugriffssteuerungsliste) für Archivimporte hinzufügen, mit Hilfe des Befehls @command{guix archive} (siehe @ref{Invoking guix archive}). Dies impliziert, dass Sie darauf vertrauen, dass @code{hydra.gnu.org} nicht kompromittiert wurde und echte Substitute liefert."
 
 #. type: Plain text
 #: doc/guix.texi:2375
 msgid "The public key for @code{hydra.gnu.org} is installed along with Guix, in @code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where @var{prefix} is the installation prefix of Guix.  If you installed Guix from source, make sure you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which contains this public key file.  Then, you can run something like this:"
-msgstr "Der öffentliche Schlüssel für @code{hydra.gnu.org} wird zusammen mit Guix installiert, in das Verzeichnis @code{@var{prefix}/share/guix/hydra.gnu.org.pub}, wobei @var{prefix} das Installationspräfix von Guix ist. Wenn Sie Guix aus seinem Quellcode heraus installieren, stellen Sie sicher, dass Sie die GPG-Signatur von @file{guix-@value{VERSION}.tar.gz} prüfen, worin sich dieser öffentliche Schlüssel befindet. Dann können Sie so etwas wie hier ausführen:"
+msgstr "Der öffentliche Schlüssel für @code{hydra.gnu.org} wird zusammen mit Guix installiert, in das Verzeichnis @code{@var{prefix}/share/guix/hydra.gnu.org.pub}, wobei @var{prefix} das bei der Installation angegebene Präfix von Guix ist. Wenn Sie Guix aus seinem Quellcode heraus installieren, sollten Sie sichergehen, dass Sie die GPG-Signatur (auch »Beglaubigung« genannt) von @file{guix-@value{VERSION}.tar.gz} prüfen, worin sich dieser öffentliche Schlüssel befindet. Dann können Sie so etwas wie hier ausführen:"
 
 #. type: example
 #: doc/guix.texi:2378
@@ -5806,7 +5800,7 @@ msgstr "Substitute, wie man sie ausschaltet"
 #. type: Plain text
 #: doc/guix.texi:2427
 msgid "The substitute mechanism can be disabled globally by running @code{guix-daemon} with @code{--no-substitutes} (@pxref{Invoking guix-daemon}).  It can also be disabled temporarily by passing the @code{--no-substitutes} option to @command{guix package}, @command{guix build}, and other command-line tools."
-msgstr "Der Substitutsmechanismus kann global ausgeschaltet werden, indem Sie dem @code{guix-daemon} beim Starten die Befehlszeilenoption @code{--no-substitutes} übergeben (@pxref{Invoking guix-daemon}). Er kann auch temporär ausgeschaltet werden, indem Sie @code{--no-substitutes} an @command{guix package}, @command{guix build} und andere Befehlszeilenwerkzeuge übergeben."
+msgstr "Der Substitutsmechanismus kann global ausgeschaltet werden, indem Sie dem @code{guix-daemon} beim Starten die Befehlszeilenoption @code{--no-substitutes} übergeben (siehe @ref{Invoking guix-daemon}). Er kann auch temporär ausgeschaltet werden, indem Sie @code{--no-substitutes} an @command{guix package}, @command{guix build} und andere Befehlszeilenwerkzeuge übergeben."
 
 #. type: cindex
 #: doc/guix.texi:2431
@@ -5853,12 +5847,12 @@ msgstr "Selbst wenn ein Substitut für eine Ableitung verfügbar ist, schlägt d
 #. type: Plain text
 #: doc/guix.texi:2497
 msgid "When substitutes are enabled and a substitute for a derivation is available, but the substitution attempt fails, Guix will attempt to build the derivation locally depending on whether or not @code{--fallback} was given (@pxref{fallback-option,, common build option @code{--fallback}}).  Specifically, if @code{--fallback} was omitted, then no local build will be performed, and the derivation is considered to have failed.  However, if @code{--fallback} was given, then Guix will attempt to build the derivation locally, and the success or failure of the derivation depends on the success or failure of the local build.  Note that when substitutes are disabled or no substitute is available for the derivation in question, a local build will @emph{always} be performed, regardless of whether or not @code{--fallback} was given."
-msgstr "Wenn Substitute aktiviert sind und ein Substitut für eine Ableitung zwar verfügbar ist, aber die versuchte Substitution fehlschlägt, kann Guix versuchen, die Ableitung lokal zu erstellen, je nachdem, ob @code{--fallback} übergeben wurde (@pxref{fallback-option,, common build option @code{--fallback}}). Genauer gesagt, wird keine lokale Erstellung durchgeführt, solange kein @code{--fallback} angegeben wurde, und die Ableitung wird als Fehlschlag angesehen. Wenn @code{--fallback} übergeben wurde, wird Guix versuchen, die Ableitung lokal zu erstellen, und ob die Ableitung erfolgreich ist oder nicht, hängt davon ab, ob die lokale Erstellung erfolgreich ist oder nicht. Beachten Sie, dass, falls Substitute ausgeschaltet oder erst gar kein Substitut verfügbar ist, @emph{immer} eine lokale Erstellung durchgeführt wird, egal ob @code{--fallback} übergeben wurde oder nicht."
+msgstr "Wenn Substitute aktiviert sind und ein Substitut für eine Ableitung zwar verfügbar ist, aber die versuchte Substitution fehlschlägt, kann Guix versuchen, die Ableitung lokal zu erstellen, je nachdem, ob @code{--fallback} übergeben wurde (siehe @ref{fallback-option,, common build option @code{--fallback}}). Genauer gesagt, wird keine lokale Erstellung durchgeführt, solange kein @code{--fallback} angegeben wurde, und die Ableitung wird als Fehlschlag angesehen. Wenn @code{--fallback} übergeben wurde, wird Guix versuchen, die Ableitung lokal zu erstellen, und ob die Ableitung erfolgreich ist oder nicht, hängt davon ab, ob die lokale Erstellung erfolgreich ist oder nicht. Beachten Sie, dass, falls Substitute ausgeschaltet oder erst gar kein Substitut verfügbar ist, @emph{immer} eine lokale Erstellung durchgeführt wird, egal ob @code{--fallback} übergeben wurde oder nicht."
 
 #. type: Plain text
 #: doc/guix.texi:2502
 msgid "To get an idea of how many substitutes are available right now, you can try running the @command{guix weather} command (@pxref{Invoking guix weather}).  This command provides statistics on the substitutes provided by a server."
-msgstr "Um eine Vorstellung zu bekommen, wieviele Substitute gerade verfügbar sind, können Sie den Befehl @command{guix weather} benutzen (@pxref{Invoking guix weather}). Dieser Befehl zeigt Statistiken darüber an, wie es um die von einem Server verfügbaren Substitute steht."
+msgstr "Um eine Vorstellung zu bekommen, wieviele Substitute gerade verfügbar sind, können Sie den Befehl @command{guix weather} benutzen (siehe @ref{Invoking guix weather}). Dieser Befehl zeigt Statistiken darüber an, wie es um die von einem Server verfügbaren Substitute steht."
 
 #. type: cindex
 #: doc/guix.texi:2506
@@ -5869,12 +5863,12 @@ msgstr "Vertrauen, gegenüber vorerstellten Binärdateien"
 #. type: Plain text
 #: doc/guix.texi:2516
 msgid "Today, each individual's control over their own computing is at the mercy of institutions, corporations, and groups with enough power and determination to subvert the computing infrastructure and exploit its weaknesses.  While using @code{hydra.gnu.org} substitutes can be convenient, we encourage users to also build on their own, or even run their own build farm, such that @code{hydra.gnu.org} is less of an interesting target.  One way to help is by publishing the software you build using @command{guix publish} so that others have one more choice of server to download substitutes from (@pxref{Invoking guix publish})."
-msgstr "Derzeit hängt die Kontrolle jedes Individuums über seine Rechner von Institutionen, Unternehmen und solchen Gruppierungen ab, die über genug Macht und Entschlusskraft verfügen, die Rechnerinfrastruktur zu sabotieren und ihre Schwachstellen auszunutzen. Auch wenn es bequem ist, Substitute von @code{hydra.gnu.org} zu benutzen, ermuntern wir Nutzer, auch selbst Erstellungen durchzuführen oder gar ihre eigene Build-Farm zu betreiben, damit @code{hydra.gnu.org} ein weniger interessantes Ziel wird. Eine Art, uns zu helfen, ist, die von Ihnen erstellte Software mit dem Befehl @command{guix publish} zu veröffentlichen, damit andere eine größere Auswahl haben, von welchem Server sie Substitute beziehen möchten (@pxref{Invoking guix publish})."
+msgstr "Derzeit hängt die Kontrolle jedes Individuums über seine Rechner von Institutionen, Unternehmen und solchen Gruppierungen ab, die über genug Macht und Entschlusskraft verfügen, die Rechnerinfrastruktur zu sabotieren und ihre Schwachstellen auszunutzen. Auch wenn es bequem ist, Substitute von @code{hydra.gnu.org} zu benutzen, ermuntern wir Nutzer, auch selbst Erstellungen durchzuführen oder gar ihre eigene Build-Farm zu betreiben, damit @code{hydra.gnu.org} ein weniger interessantes Ziel wird. Eine Art, uns zu helfen, ist, die von Ihnen erstellte Software mit dem Befehl @command{guix publish} zu veröffentlichen, damit andere eine größere Auswahl haben, von welchem Server sie Substitute beziehen möchten (siehe @ref{Invoking guix publish})."
 
 #. type: Plain text
 #: doc/guix.texi:2528
 msgid "Guix has the foundations to maximize build reproducibility (@pxref{Features}).  In most cases, independent builds of a given package or derivation should yield bit-identical results.  Thus, through a diverse set of independent package builds, we can strengthen the integrity of our systems.  The @command{guix challenge} command aims to help users assess substitute servers, and to assist developers in finding out about non-deterministic package builds (@pxref{Invoking guix challenge}).  Similarly, the @option{--check} option of @command{guix build} allows users to check whether previously-installed substitutes are genuine by rebuilding them locally (@pxref{build-check, @command{guix build --check}})."
-msgstr "Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von Erstellungen zu maximieren (@pxref{Features}). In den meisten Fällen sollten unabhängige Erstellungen eines bestimmten Pakets zu bitweise identischen Ergebnissen führen. Wir können also mit Hilfe einer vielschichtigen Menge an unabhängigen Paketerstellungen die Integrität unseres Systems besser gewährleisten. Der Befehl @command{guix challenge} hat das Ziel, Nutzern zu ermöglichen, Substitutserver zu beurteilen, und Entwickler dabei zu unterstützen, nichtdeterministische Paketerstellungen zu finden (@pxref{Invoking guix challenge}). Ebenso ermöglicht es die Befehlszeilenoption @option{--check} von @command{guix build}, dass Nutzer bereits installierte Substitute auf Echtheit zu prüfen, indem sie lokal nachgebaut werden (@pxref{build-check, @command{guix build --check}})."
+msgstr "Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von Erstellungen zu maximieren (siehe @ref{Features}). In den meisten Fällen sollten unabhängige Erstellungen eines bestimmten Pakets zu bitweise identischen Ergebnissen führen. Wir können also mit Hilfe einer vielschichtigen Menge an unabhängigen Paketerstellungen die Integrität unseres Systems besser gewährleisten. Der Befehl @command{guix challenge} hat das Ziel, Nutzern zu ermöglichen, Substitutserver zu beurteilen, und Entwickler dabei zu unterstützen, nichtdeterministische Paketerstellungen zu finden (siehe @ref{Invoking guix challenge}). Ebenso ermöglicht es die Befehlszeilenoption @option{--check} von @command{guix build}, dass Nutzer bereits installierte Substitute auf Echtheit zu prüfen, indem sie lokal nachgebaut werden (siehe @ref{build-check, @command{guix build --check}})."
 
 #. type: Plain text
 #: doc/guix.texi:2532
@@ -5935,12 +5929,12 @@ msgstr "guix package -i glib:doc\n"
 #. type: Plain text
 #: doc/guix.texi:2577
 msgid "Some packages install programs with different ``dependency footprints''.  For instance, the WordNet package installs both command-line tools and graphical user interfaces (GUIs).  The former depend solely on the C library, whereas the latter depend on Tcl/Tk and the underlying X libraries.  In this case, we leave the command-line tools in the default output, whereas the GUIs are in a separate output.  This allows users who do not need the GUIs to save space.  The @command{guix size} command can help find out about such situations (@pxref{Invoking guix size}).  @command{guix graph} can also be helpful (@pxref{Invoking guix graph})."
-msgstr "Manche Pakete installieren Programme mit unterschiedlich großem »Abhängigkeiten-Fußabdruck«. Zum Beispiel installiert das Paket WordNet sowohl Befehlszeilenwerkzeuge als auch grafische Benutzerschnittstellen (GUIs). Erstere hängen nur von der C-Bibliothek ab, während Letztere auch von Tcl/Tk und den zu Grunde liegenden X-Bibliotheken abhängen. Jedenfalls belassen wir deshalb die Befehlszeilenwerkzeuge in der Standard-Paketausgabe, während sich die GUIs in einer separaten Ausgabe befinden. So können Benutzer, die die GUIs nicht brauchen, Platz sparen. Der Befehl @command{guix size} kann dabei helfen, solche Situationen zu erkennen (@pxref{Invoking guix size}). @command{guix graph} kann auch helfen (@pxref{Invoking guix graph})."
+msgstr "Manche Pakete installieren Programme mit unterschiedlich großem »Abhängigkeiten-Fußabdruck«. Zum Beispiel installiert das Paket WordNet sowohl Befehlszeilenwerkzeuge als auch grafische Benutzerschnittstellen (GUIs). Erstere hängen nur von der C-Bibliothek ab, während Letztere auch von Tcl/Tk und den zu Grunde liegenden X-Bibliotheken abhängen. Jedenfalls belassen wir deshalb die Befehlszeilenwerkzeuge in der Standard-Paketausgabe, während sich die GUIs in einer separaten Ausgabe befinden. So können Benutzer, die die GUIs nicht brauchen, Platz sparen. Der Befehl @command{guix size} kann dabei helfen, solche Situationen zu erkennen (siehe @ref{Invoking guix size}). @command{guix graph} kann auch helfen (siehe @ref{Invoking guix graph})."
 
 #. type: Plain text
 #: doc/guix.texi:2585
 msgid "There are several such multiple-output packages in the GNU distribution.  Other conventional output names include @code{lib} for libraries and possibly header files, @code{bin} for stand-alone programs, and @code{debug} for debugging information (@pxref{Installing Debugging Files}).  The outputs of a packages are listed in the third column of the output of @command{guix package --list-available} (@pxref{Invoking guix package})."
-msgstr "In der GNU-Distribution gibt es viele solche Pakete mit mehreren Ausgaben. Andere Konventionen für Ausgabenamen sind zum Beispiel @code{lib} für Bibliotheken und eventuell auch ihre Header-Dateien,, @code{bin} für eigenständige Programme und @code{debug} für Informationen zur Fehlerbehandlung (@pxref{Installing Debugging Files}). Die Ausgaben eines Pakets stehen in der dritten Spalte der Anzeige von @command{guix package --list-available} (@pxref{Invoking guix package})."
+msgstr "In der GNU-Distribution gibt es viele solche Pakete mit mehreren Ausgaben. Andere Konventionen für Ausgabenamen sind zum Beispiel @code{lib} für Bibliotheken und eventuell auch ihre Header-Dateien,, @code{bin} für eigenständige Programme und @code{debug} für Informationen zur Fehlerbehandlung (siehe @ref{Installing Debugging Files}). Die Ausgaben eines Pakets stehen in der dritten Spalte der Anzeige von @command{guix package --list-available} (siehe @ref{Invoking guix package})."
 
 #. type: section
 #: doc/guix.texi:2588
@@ -5968,12 +5962,12 @@ msgstr "Pakete, die zwar installiert sind, aber nicht benutzt werden, können vo
 #. type: Plain text
 #: doc/guix.texi:2608
 msgid "The garbage collector has a set of known @dfn{roots}: any file under @file{/gnu/store} reachable from a root is considered @dfn{live} and cannot be deleted; any other file is considered @dfn{dead} and may be deleted.  The set of garbage collector roots (``GC roots'' for short)  includes default user profiles; by default, the symlinks under @file{/var/guix/gcroots} represent these GC roots.  New GC roots can be added with @command{guix build --root}, for example (@pxref{Invoking guix build})."
-msgstr "Der Müllsammler kennt eine Reihe von @dfn{Wurzeln}: Jede Datei in @file{/gnu/store}, die von einer Wurzel aus erreichbar ist, gilt als @dfn{lebendig} und kann nicht entfernt werden; jede andere Datei gilt als @dfn{tot} und ist ein Kandidat, gelöscht zu werden. Die Menge der Müllsammlerwurzeln (kurz auch »GC-Wurzeln«, von englisch »Garbage Collector«) umfasst Standard-Benutzerprofile; standardmäßig werden diese Müllsammlerwurzeln durch symbolische Verknüpfungen in @file{/var/guix/gcroots} dargestellt. Neue Müllsammlerwurzeln können zum Beispiel mit @command{guix build --root} festgelegt werden (@pxref{Invoking guix build})."
+msgstr "Der Müllsammler kennt eine Reihe von @dfn{Wurzeln}: Jede Datei in @file{/gnu/store}, die von einer Wurzel aus erreichbar ist, gilt als @dfn{lebendig} und kann nicht entfernt werden; jede andere Datei gilt als @dfn{tot} und ist ein Kandidat, gelöscht zu werden. Die Menge der Müllsammlerwurzeln (kurz auch »GC-Wurzeln«, von englisch »Garbage Collector«) umfasst Standard-Benutzerprofile; standardmäßig werden diese Müllsammlerwurzeln durch symbolische Verknüpfungen in @file{/var/guix/gcroots} dargestellt. Neue Müllsammlerwurzeln können zum Beispiel mit @command{guix build --root} festgelegt werden (siehe @ref{Invoking guix build})."
 
 #. type: Plain text
 #: doc/guix.texi:2614
 msgid "Prior to running @code{guix gc --collect-garbage} to make space, it is often useful to remove old generations from user profiles; that way, old package builds referenced by those generations can be reclaimed.  This is achieved by running @code{guix package --delete-generations} (@pxref{Invoking guix package})."
-msgstr "Bevor Sie mit @code{guix gc --collect-garbage} Speicher freimachen, wollen Sie vielleicht alte Generationen von Benutzerprofilen löschen, damit alte Paketerstellungen von diesen Generationen entfernt werden können. Führen Sie dazu @code{guix package --delete-generations} aus (@pxref{Invoking guix package})."
+msgstr "Bevor Sie mit @code{guix gc --collect-garbage} Speicher freimachen, wollen Sie vielleicht alte Generationen von Benutzerprofilen löschen, damit alte Paketerstellungen von diesen Generationen entfernt werden können. Führen Sie dazu @code{guix package --delete-generations} aus (siehe @ref{Invoking guix package})."
 
 #. type: Plain text
 #: doc/guix.texi:2618
@@ -5989,7 +5983,7 @@ msgstr "guix gc -F 5G\n"
 #. type: Plain text
 #: doc/guix.texi:2630
 msgid "It is perfectly safe to run as a non-interactive periodic job (@pxref{Scheduled Job Execution}, for how to set up such a job on GuixSD).  Running @command{guix gc} with no arguments will collect as much garbage as it can, but that is often inconvenient: you may find yourself having to rebuild or re-download software that is ``dead'' from the GC viewpoint but that is necessary to build other pieces of software---e.g., the compiler tool chain."
-msgstr "Es ist völlig sicher, dafür eine nicht interaktive, regelmäßige Auftragsausführung vorzugeben (@pxref{Scheduled Job Execution}, für eine Erklärung, wie man das in GuixSD tun kann). @command{guix gc} ohne Befehlszeilenargumente auszuführen, lässt so viel Müll wie möglich sammeln, aber das ist oft nicht, was man will, denn so muss man unter Umständen Software erneut erstellen oder erneut herunterladen, weil der Müllsammler sie als »tot« ansieht, sie aber zur Erstellung anderer Software wieder gebraucht wird — das trifft zum Beispiel auf die Compiler-Toolchain zu."
+msgstr "Es ist völlig sicher, dafür eine nicht interaktive, regelmäßige Auftragsausführung vorzugeben (siehe @ref{Scheduled Job Execution} für eine Erklärung, wie man das in GuixSD tun kann). @command{guix gc} ohne Befehlszeilenargumente auszuführen, lässt so viel Müll wie möglich sammeln, aber das ist oft nicht, was man will, denn so muss man unter Umständen Software erneut erstellen oder erneut herunterladen, weil der Müllsammler sie als »tot« ansieht, sie aber zur Erstellung anderer Software wieder gebraucht wird — das trifft zum Beispiel auf die Compiler-Toolchain zu."
 
 #. type: Plain text
 #: doc/guix.texi:2636
@@ -6016,7 +6010,7 @@ msgstr "Lässt Müll sammeln — z.B. nicht erreichbare Dateien in @file{/gnu/st
 #. type: table
 #: doc/guix.texi:2648
 msgid "When @var{min} is given, stop once @var{min} bytes have been collected.  @var{min} may be a number of bytes, or it may include a unit as a suffix, such as @code{MiB} for mebibytes and @code{GB} for gigabytes (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
-msgstr "Wenn ein @var{Minimum} angegeben wurde, hört der Müllsammler auf, sobald @var{Minimum} Bytes gesammelt wurden. Das @var{Minimum} kann die Anzahl der Bytes bezeichnen oder mit einer Einheit als Suffix versehen sein, wie etwa @code{MiB} für Mebibytes und @code{GB} für Gigabytes (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
+msgstr "Wenn ein @var{Minimum} angegeben wurde, hört der Müllsammler auf, sobald @var{Minimum} Bytes gesammelt wurden. Das @var{Minimum} kann die Anzahl der Bytes bezeichnen oder mit einer Einheit als Suffix versehen sein, wie etwa @code{MiB} für Mebibytes und @code{GB} für Gigabytes (siehe @ref{Block size, size specifications,, coreutils, GNU Coreutils})."
 
 #. type: table
 #: doc/guix.texi:2650
@@ -6076,7 +6070,7 @@ msgstr "Store-Objekte auflisten, die zwischengespeicherten Erstellungsfehlern en
 #. type: table
 #: doc/guix.texi:2672
 msgid "This prints nothing unless the daemon was started with @option{--cache-failures} (@pxref{Invoking guix-daemon, @option{--cache-failures}})."
-msgstr "Hierbei wird nichts ausgegeben, sofern der Daemon nicht mit @option{--cache-failures} gestartet wurde (@pxref{Invoking guix-daemon, @option{--cache-failures}})."
+msgstr "Hierbei wird nichts ausgegeben, sofern der Daemon nicht mit @option{--cache-failures} gestartet wurde (siehe @ref{Invoking guix-daemon, @option{--cache-failures}})."
 
 #. type: item
 #: doc/guix.texi:2673
@@ -6170,7 +6164,7 @@ msgstr "Listet alle Voraussetzungen der als Argumente übergebenen Store-Dateien
 #. type: table
 #: doc/guix.texi:2709
 msgid "@xref{Invoking guix size}, for a tool to profile the size of the closure of an element.  @xref{Invoking guix graph}, for a tool to visualize the graph of references."
-msgstr "Der Abschnitt @xref{Invoking guix size} erklärt ein Werkzeug, um den Speicherbedarf des Abschlusses eines Elements zu ermitteln. Siehe @xref{Invoking guix graph} für ein Werkzeug, um den Referenzgraphen zu veranschaulichen."
+msgstr "Der Abschnitt @ref{Invoking guix size} erklärt ein Werkzeug, um den Speicherbedarf des Abschlusses eines Elements zu ermitteln. Siehe @ref{Invoking guix graph} für ein Werkzeug, um den Referenzgraphen zu veranschaulichen."
 
 #. type: item
 #: doc/guix.texi:2710
@@ -6187,7 +6181,7 @@ msgstr "Ableitung"
 #. type: table
 #: doc/guix.texi:2714
 msgid "Return the derivation(s) leading to the given store items (@pxref{Derivations})."
-msgstr "Liefert die Ableitung(en), die zu den angegebenen Store-Objekten führen (@pxref{Derivations})."
+msgstr "Liefert die Ableitung(en), die zu den angegebenen Store-Objekten führen (siehe @ref{Derivations})."
 
 #. type: table
 #: doc/guix.texi:2716
@@ -6268,7 +6262,7 @@ msgstr "Datenbeschädigung, Behebung"
 #. type: table
 #: doc/guix.texi:2761
 msgid "Using @option{--verify=repair} or @option{--verify=contents,repair} causes the daemon to try to repair corrupt store items by fetching substitutes for them (@pxref{Substitutes}).  Because repairing is not atomic, and thus potentially dangerous, it is available only to the system administrator.  A lightweight alternative, when you know exactly which items in the store are corrupt, is @command{guix build --repair} (@pxref{Invoking guix build})."
-msgstr "Mit @option{--verify=repair} oder @option{--verify=contents,repair} versucht der Daemon, beschädigte Store-Objekte zu reparieren, indem er Substitute für selbige herunterlädt (@pxref{Substitutes}). Weil die Reparatur nicht atomar und daher womöglich riskant ist, kann nur der Systemadministrator den Befehl benutzen. Eine weniger aufwendige Alternative, wenn Sie wissen, welches Objekt beschädigt ist, ist, @command{guix build --repair} zu benutzen (@pxref{Invoking guix build})."
+msgstr "Mit @option{--verify=repair} oder @option{--verify=contents,repair} versucht der Daemon, beschädigte Store-Objekte zu reparieren, indem er Substitute für selbige herunterlädt (siehe @ref{Substitutes}). Weil die Reparatur nicht atomar und daher womöglich riskant ist, kann nur der Systemadministrator den Befehl benutzen. Eine weniger aufwendige Alternative, wenn Sie wissen, welches Objekt beschädigt ist, ist, @command{guix build --repair} zu benutzen (siehe @ref{Invoking guix build})."
 
 #. type: item
 #: doc/guix.texi:2762
@@ -6284,7 +6278,7 @@ msgstr "Den Store durch Nutzung harter Verknüpfungen für identische Dateien op
 #. type: table
 #: doc/guix.texi:2772
 msgid "The daemon performs deduplication after each successful build or archive import, unless it was started with @code{--disable-deduplication} (@pxref{Invoking guix-daemon, @code{--disable-deduplication}}).  Thus, this option is primarily useful when the daemon was running with @code{--disable-deduplication}."
-msgstr "Der Daemon führt Deduplizierung automatisch nach jeder erfolgreichen Erstellung und jedem Importieren eines Archivs durch, sofern er nicht mit @code{--disable-deduplication} (@pxref{Invoking guix-daemon, @code{--disable-deduplication}}) gestartet wurde. Diese Befehlszeilenoption brauchen Sie also in erster Linie dann, wenn der Daemon zuvor mit @code{--disable-deduplication} gestartet worden ist."
+msgstr "Der Daemon führt Deduplizierung automatisch nach jeder erfolgreichen Erstellung und jedem Importieren eines Archivs durch, sofern er nicht mit @code{--disable-deduplication} (siehe @ref{Invoking guix-daemon, @code{--disable-deduplication}}) gestartet wurde. Diese Befehlszeilenoption brauchen Sie also in erster Linie dann, wenn der Daemon zuvor mit @code{--disable-deduplication} gestartet worden ist."
 
 #. type: section
 #: doc/guix.texi:2776
@@ -6334,7 +6328,7 @@ msgstr "Jeder Nutzer kann seine Kopie von Guix mittels @command{guix pull} aktua
 #. type: Plain text
 #: doc/guix.texi:2807
 msgid "The result of running @command{guix pull} is a @dfn{profile} available under @file{~/.config/guix/current} containing the latest Guix.  Thus, make sure to add it to the beginning of your search path so that you use the latest version, and similarly for the Info manual (@pxref{Documentation}):"
-msgstr "Das Ergebnis von @command{guix pull} ist ein als @file{~/.config/guix/current} verfügbares @dfn{Profil} mit dem neuesten Guix. Stellen Sie sicher, dass es am Anfang Ihres Suchpfades steht, damit Sie auch wirklich das neueste Guix und sein Info-Handbuch sehen (@pxref{Documentation}):"
+msgstr "Das Ergebnis von @command{guix pull} ist ein als @file{~/.config/guix/current} verfügbares @dfn{Profil} mit dem neuesten Guix. Stellen Sie sicher, dass es am Anfang Ihres Suchpfades steht, damit Sie auch wirklich das neueste Guix und sein Info-Handbuch sehen (siehe @ref{Documentation}):"
 
 #. type: example
 #: doc/guix.texi:2811
@@ -6425,7 +6419,7 @@ msgstr "Im Abschnitt @ref{Invoking guix describe, @command{guix describe}} werde
 #. type: Plain text
 #: doc/guix.texi:2850
 msgid "This @code{~/.config/guix/current} profile works like any other profile created by @command{guix package} (@pxref{Invoking guix package}).  That is, you can list generations, roll back to the previous generation---i.e., the previous Guix---and so on:"
-msgstr "Das Profil @code{~/.config/guix/current} verhält sich genau wie jedes andere Profil, das von @command{guix package} erzeugt wurde (@pxref{Invoking guix package}). Das bedeutet, Sie können seine Generationen auflisten und es auf die vorherige Generation — also das vorherige Guix — zurücksetzen und so weiter:"
+msgstr "Das Profil @code{~/.config/guix/current} verhält sich genau wie jedes andere Profil, das von @command{guix package} erzeugt wurde (siehe @ref{Invoking guix package}). Das bedeutet, Sie können seine Generationen auflisten und es auf die vorherige Generation — also das vorherige Guix — zurücksetzen und so weiter:"
 
 #. type: example
 #: doc/guix.texi:2856
@@ -6501,12 +6495,12 @@ msgstr "-C @var{Datei}"
 #. type: table
 #: doc/guix.texi:2880
 msgid "Read the list of channels from @var{file} instead of @file{~/.config/guix/channels.scm}.  @var{file} must contain Scheme code that evaluates to a list of channel objects.  @xref{Channels}, for more information."
-msgstr "Die Liste der Kanäle aus der angegebenen @var{Datei} statt aus @file{~/.config/guix/channels.scm} auslesen. Die @var{Datei} muss Scheme-Code enthalten, der zu einer Liste von Kanalobjekten ausgewertet wird. Siehe @xref{Channels} für nähere Informationen."
+msgstr "Die Liste der Kanäle aus der angegebenen @var{Datei} statt aus @file{~/.config/guix/channels.scm} auslesen. Die @var{Datei} muss Scheme-Code enthalten, der zu einer Liste von Kanalobjekten ausgewertet wird. Siehe @ref{Channels} für nähere Informationen."
 
 #. type: table
 #: doc/guix.texi:2887
 msgid "List all the generations of @file{~/.config/guix/current} or, if @var{pattern} is provided, the subset of generations that match @var{pattern}.  The syntax of @var{pattern} is the same as with @code{guix package --list-generations} (@pxref{Invoking guix package})."
-msgstr "Alle Generationen von @file{~/.config/guix/current} bzw., wenn ein @var{Muster} angegeben wird, die dazu passenden Generationen auflisten. Die Syntax für das @var{Muster} ist dieselbe wie bei @code{guix package --list-generations} (@pxref{Invoking guix package})."
+msgstr "Alle Generationen von @file{~/.config/guix/current} bzw., wenn ein @var{Muster} angegeben wird, die dazu passenden Generationen auflisten. Die Syntax für das @var{Muster} ist dieselbe wie bei @code{guix package --list-generations} (siehe @ref{Invoking guix package})."
 
 #. type: table
 #: doc/guix.texi:2890
@@ -6548,12 +6542,12 @@ msgstr "Das neueste Guix mit dem Bootstrap-Guile erstellen. Diese Befehlszeileno
 #. type: Plain text
 #: doc/guix.texi:2912
 msgid "The @dfn{channel} mechanism allows you to instruct @command{guix pull} which repository and branch to pull from, as well as @emph{additional} repositories containing package modules that should be deployed.  @xref{Channels}, for more information."
-msgstr "Mit Hilfe von @dfn{Kanälen} können Sie bei @command{guix pull} anweisen, von welchem Repository und welchem Branch Guix aktualisiert werden soll, sowie von welchen @emph{weiteren} Repositorys Paketmodule bezogen werden sollen. Im Abschnitt @xref{Channels} finden Sie nähere Informationen."
+msgstr "Mit Hilfe von @dfn{Kanälen} können Sie bei @command{guix pull} anweisen, von welchem Repository und welchem Branch Guix aktualisiert werden soll, sowie von welchen @emph{weiteren} Repositorys Paketmodule bezogen werden sollen. Im Abschnitt @ref{Channels} finden Sie nähere Informationen."
 
 #. type: Plain text
 #: doc/guix.texi:2915
 msgid "In addition, @command{guix pull} supports all the common build options (@pxref{Common Build Options})."
-msgstr "Außerdem unterstützt @command{guix pull} alle gemeinsamen Erstellungsoptionen (@pxref{Common Build Options})."
+msgstr "Außerdem unterstützt @command{guix pull} alle gemeinsamen Erstellungsoptionen (siehe @ref{Common Build Options})."
 
 #. type: item
 #: doc/guix.texi:2919 doc/guix.texi:3279
@@ -6576,7 +6570,7 @@ msgstr "Konfiguration von @command{guix pull}"
 #. type: Plain text
 #: doc/guix.texi:2932
 msgid "Guix and its package collection are updated by running @command{guix pull} (@pxref{Invoking guix pull}).  By default @command{guix pull} downloads and deploys Guix itself from the official GNU@tie{}Guix repository.  This can be customized by defining @dfn{channels} in the @file{~/.config/guix/channels.scm} file.  A channel specifies a URL and branch of a Git repository to be deployed, and @command{guix pull} can be instructed to pull from one or more channels.  In other words, channels can be used to @emph{customize} and to @emph{extend} Guix, as we will see below."
-msgstr "Guix und die Sammlung darin verfügbarer Pakete können Sie durch Ausführen von @command{guix pull} aktualisieren (@pxref{Invoking guix pull}). Standardmäßig lädt @command{guix pull} Guix selbst vom offiziellen Repository von GNU@tie{}Guix herunter und installiert es. Diesen Vorgang können Sie anpassen, indem Sie @dfn{Kanäle} in der Datei @file{~/.config/guix/channels.scm} angeben. Ein Kanal enthält eine Angabe einer URL und eines Branches eines zu installierenden Git-Repositorys und Sie können @command{guix pull} veranlassen, die Aktualisierungen von einem oder mehreren Kanälen zu beziehen. Mit anderen Worten können Kanäle benutzt werden, um Guix @emph{anzupassen} und zu @emph{erweitern}, wie wir im Folgenden sehen werden."
+msgstr "Guix und die Sammlung darin verfügbarer Pakete können Sie durch Ausführen von @command{guix pull} aktualisieren (siehe @ref{Invoking guix pull}). Standardmäßig lädt @command{guix pull} Guix selbst vom offiziellen Repository von GNU@tie{}Guix herunter und installiert es. Diesen Vorgang können Sie anpassen, indem Sie @dfn{Kanäle} in der Datei @file{~/.config/guix/channels.scm} angeben. Ein Kanal enthält eine Angabe einer URL und eines Branches eines zu installierenden Git-Repositorys und Sie können @command{guix pull} veranlassen, die Aktualisierungen von einem oder mehreren Kanälen zu beziehen. Mit anderen Worten können Kanäle benutzt werden, um Guix @emph{anzupassen} und zu @emph{erweitern}, wie wir im Folgenden sehen werden."
 
 #. type: subsection
 #: doc/guix.texi:2933
@@ -6637,7 +6631,7 @@ msgstr "Kanäle, für eigene Pakete"
 #. type: Plain text
 #: doc/guix.texi:2965
 msgid "You can also specify @emph{additional channels} to pull from.  Let's say you have a bunch of custom package variants or personal packages that you think would make little sense to contribute to the Guix project, but would like to have these packages transparently available to you at the command line.  You would first write modules containing those package definitions (@pxref{Package Modules}), maintain them in a Git repository, and then you and anyone else can use it as an additional channel to get packages from.  Neat, no?"
-msgstr "Sie können auch @emph{weitere Kanäle} als Bezugsquelle angeben. Sagen wir, Sie haben ein paar eigene Paketvarianten oder persönliche Pakete, von denen Sie meinen, dass sie @emph{nicht} geeignet sind, ins Guix-Projekt selbst aufgenommen zu werden, die Ihnen aber dennoch wie andere Pakete auf der Befehlszeile zur Verfügung stehen sollen. Dann würden Sie zunächst Module mit diesen Paketdefinitionen schreiben (@pxref{Package Modules}) und diese dann in einem Git-Repository verwalten, welches Sie selbst oder jeder andere dann als zusätzlichen Kanal eintragen können, von dem Pakete geladen werden. Klingt gut, oder?"
+msgstr "Sie können auch @emph{weitere Kanäle} als Bezugsquelle angeben. Sagen wir, Sie haben ein paar eigene Paketvarianten oder persönliche Pakete, von denen Sie meinen, dass sie @emph{nicht} geeignet sind, ins Guix-Projekt selbst aufgenommen zu werden, die Ihnen aber dennoch wie andere Pakete auf der Befehlszeile zur Verfügung stehen sollen. Dann würden Sie zunächst Module mit diesen Paketdefinitionen schreiben (siehe @ref{Package Modules}) und diese dann in einem Git-Repository verwalten, welches Sie selbst oder jeder andere dann als zusätzlichen Kanal eintragen können, von dem Pakete geladen werden. Klingt gut, oder?"
 
 #. type: quotation
 #: doc/guix.texi:2969
@@ -6653,7 +6647,7 @@ msgstr "Bevor Sie, verehrter Nutzer, ausrufen: »Wow, das ist @emph{soooo coool}
 #. type: itemize
 #: doc/guix.texi:2981
 msgid "Before publishing a channel, please consider contributing your package definitions to Guix proper (@pxref{Contributing}).  Guix as a project is open to free software of all sorts, and packages in Guix proper are readily available to all Guix users and benefit from the project's quality assurance process."
-msgstr "Bevor Sie einen Kanal veröffentlichen, überlegen Sie sich bitte erst, ob Sie die Pakete nicht besser zum eigentlichen Guix-Projekt beisteuern (@pxref{Contributing}). Das Guix-Projekt ist gegenüber allen Arten freier Software offen und zum eigentlichen Guix gehörende Pakete stehen allen Guix-Nutzern zur Verfügung, außerdem profitieren sie von Guix’ Qualitätssicherungsprozess."
+msgstr "Bevor Sie einen Kanal veröffentlichen, überlegen Sie sich bitte erst, ob Sie die Pakete nicht besser zum eigentlichen Guix-Projekt beisteuern (siehe @ref{Contributing}). Das Guix-Projekt ist gegenüber allen Arten freier Software offen und zum eigentlichen Guix gehörende Pakete stehen allen Guix-Nutzern zur Verfügung, außerdem profitieren sie von Guix’ Qualitätssicherungsprozess."
 
 #. type: itemize
 #: doc/guix.texi:2990
@@ -6700,7 +6694,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3025
 msgid "Note that the snippet above is (as always!) Scheme code; we use @code{cons} to add a channel the list of channels that the variable @code{%default-channels} is bound to (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}).  With this file in place, @command{guix pull} builds not only Guix but also the package modules from your own repository.  The result in @file{~/.config/guix/current} is the union of Guix with your own package modules:"
-msgstr "Beachten Sie, dass der obige Schnipsel (wie immer!) Scheme-Code ist; mit @code{cons} fügen wir einen Kanal zur Liste der Kanäle hinzu, an die die Variable @code{%default-channels} gebunden ist (@pxref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}). Mit diesem Dateiinhalt wird @command{guix pull} nun nicht mehr nur Guix, sondern auch die Paketmodule aus Ihrem Repository erstellen. Das Ergebnis in @file{~/.config/guix/current} ist so die Vereinigung von Guix und Ihren eigenen Paketmodulen."
+msgstr "Beachten Sie, dass der obige Schnipsel (wie immer!) Scheme-Code ist; mit @code{cons} fügen wir einen Kanal zur Liste der Kanäle hinzu, an die die Variable @code{%default-channels} gebunden ist (siehe @ref{Pairs, @code{cons} and lists,, guile, GNU Guile Reference Manual}). Mit diesem Dateiinhalt wird @command{guix pull} nun nicht mehr nur Guix, sondern auch die Paketmodule aus Ihrem Repository erstellen. Das Ergebnis in @file{~/.config/guix/current} ist so die Vereinigung von Guix und Ihren eigenen Paketmodulen."
 
 #. type: example
 #: doc/guix.texi:3040
@@ -6795,7 +6789,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3073
 msgid "The @command{guix describe --format=channels} command can even generate this list of channels directly (@pxref{Invoking guix describe})."
-msgstr "Der Befehl @command{guix describe --format=channels} kann diese Kanalliste sogar direkt erzeugen (@pxref{Invoking guix describe})."
+msgstr "Der Befehl @command{guix describe --format=channels} kann diese Kanalliste sogar direkt erzeugen (siehe @ref{Invoking guix describe})."
 
 #. type: Plain text
 #: doc/guix.texi:3080
@@ -6805,7 +6799,7 @@ msgstr "Somit läuft auf beiden Maschinen @emph{genau dasselbe Guix} und es hat
 #. type: Plain text
 #: doc/guix.texi:3085
 msgid "This gives you super powers, allowing you to track the provenance of binary artifacts with very fine grain, and to reproduce software environments at will---some sort of ``meta reproducibility'' capabilities, if you will.  @xref{Inferiors}, for another way to take advantage of these super powers."
-msgstr "Das verleiht Ihnen Superkräfte, mit denen Sie die Provenienz binärer Artefakte sehr feinkörnig nachverfolgen können und Software-Umgebungen nach Belieben nachbilden können. Sie können es als eine Art Fähigkeit zur »Meta-Reproduzierbarkeit« auffassen, wenn Sie möchten. Der Abschnitt @xref{Inferiors} beschreibt eine weitere Möglichkeit, diese Superkräfte zu nutzen."
+msgstr "Das verleiht Ihnen Superkräfte, mit denen Sie die Provenienz binärer Artefakte sehr feinkörnig nachverfolgen können und Software-Umgebungen nach Belieben nachbilden können. Sie können es als eine Art Fähigkeit zur »Meta-Reproduzierbarkeit« auffassen, wenn Sie möchten. Der Abschnitt @ref{Inferiors} beschreibt eine weitere Möglichkeit, diese Superkräfte zu nutzen."
 
 #. type: quotation
 #: doc/guix.texi:3093
@@ -6838,12 +6832,12 @@ msgstr "untergeordnete Pakete"
 #. type: Plain text
 #: doc/guix.texi:3108
 msgid "Technically, an ``inferior'' is essentially a separate Guix process connected to your main Guix process through a REPL (@pxref{Invoking guix repl}).  The @code{(guix inferior)} module allows you to create inferiors and to communicate with them.  It also provides a high-level interface to browse and manipulate the packages that an inferior provides---@dfn{inferior packages}."
-msgstr "Aus technischer Sicht ist ein »Untergeordneter« im Kern ein separater Guix-Prozess, der über eine REPL (@pxref{Invoking guix repl}) mit Ihrem Haupt-Guix-Prozess verbunden ist. Das Modul @code{(guix inferior)} ermöglicht es Ihnen, Untergeordnete zu erstellen und mit ihnen zu kommunizieren. Dadurch steht Ihnen auch eine hochsprachliche Schnittstelle zur Verfügung, um die von einem Untergeordneten angebotenen Pakete zu durchsuchen und zu verändern — @dfn{untergeordnete Pakete}."
+msgstr "Aus technischer Sicht ist ein »Untergeordneter« im Kern ein separater Guix-Prozess, der über eine REPL (siehe @ref{Invoking guix repl}) mit Ihrem Haupt-Guix-Prozess verbunden ist. Das Modul @code{(guix inferior)} ermöglicht es Ihnen, Untergeordnete zu erstellen und mit ihnen zu kommunizieren. Dadurch steht Ihnen auch eine hochsprachliche Schnittstelle zur Verfügung, um die von einem Untergeordneten angebotenen Pakete zu durchsuchen und zu verändern — @dfn{untergeordnete Pakete}."
 
 #. type: Plain text
 #: doc/guix.texi:3118
 msgid "When combined with channels (@pxref{Channels}), inferiors provide a simple way to interact with a separate revision of Guix.  For example, let's assume you want to install in your profile the current @code{guile} package, along with the @code{guile-json} as it existed in an older revision of Guix---perhaps because the newer @code{guile-json} has an incompatible API and you want to run your code against the old API@.  To do that, you could write a manifest for use by @code{guix package --manifest} (@pxref{Invoking guix package}); in that manifest, you would create an inferior for that old Guix revision you care about, and you would look up the @code{guile-json} package in the inferior:"
-msgstr "In Kombination mit Kanälen (@pxref{Channels}) bieten Untergeordnete eine einfache Möglichkeit, mit einer anderen Version von Guix zu interagieren. Nehmen wir zum Beispiel an, Sie wollen das aktuelle @code{guile}-Paket in Ihr Profil installieren, zusammen mit dem @code{guile-json}, wie es in einer früheren Guix-Version existiert hat — vielleicht weil das neuere @code{guile-json} eine inkompatible API hat und Sie daher Ihren Code mit der alten API benutzen möchten. Dazu könnten Sie ein Manifest für @code{guix package --manifest} schreiben (@pxref{Invoking guix package}); in diesem Manifest würden Sie einen Untergeordneten für diese alte Guix-Version erzeugen, für die Sie sich interessieren, und aus diesem Untergeordneten das @code{guile-json}-Paket holen:"
+msgstr "In Kombination mit Kanälen (siehe @ref{Channels}) bieten Untergeordnete eine einfache Möglichkeit, mit einer anderen Version von Guix zu interagieren. Nehmen wir zum Beispiel an, Sie wollen das aktuelle @code{guile}-Paket in Ihr Profil installieren, zusammen mit dem @code{guile-json}, wie es in einer früheren Guix-Version existiert hat — vielleicht weil das neuere @code{guile-json} eine inkompatible API hat und Sie daher Ihren Code mit der alten API benutzen möchten. Dazu könnten Sie ein Manifest für @code{guix package --manifest} schreiben (siehe @ref{Invoking guix package}); in diesem Manifest würden Sie einen Untergeordneten für diese alte Guix-Version erzeugen, für die Sie sich interessieren, und aus diesem Untergeordneten das @code{guile-json}-Paket holen:"
 
 #. type: lisp
 #: doc/guix.texi:3122
@@ -7067,12 +7061,12 @@ msgstr "{Scheme-Prozedur} inferior-package-search-paths @var{Paket}"
 #. type: deffn
 #: doc/guix.texi:3203
 msgid "These procedures are the counterpart of package record accessors (@pxref{package Reference}).  Most of them work by querying the inferior @var{package} comes from, so the inferior must still be live when you call these procedures."
-msgstr "Diese Prozeduren sind das Gegenstück zu den Zugriffsmethoden des Verbunds »package« für Pakete (@pxref{package Reference}). Die meisten davon funktionieren durch eine Abfrage auf dem Untergeordneten, von dem das @var{Paket} kommt, weshalb der Untergeordnete noch lebendig sein muss, wenn Sie diese Prozeduren aufrufen."
+msgstr "Diese Prozeduren sind das Gegenstück zu den Zugriffsmethoden des Verbunds »package« für Pakete (siehe @ref{package Reference}). Die meisten davon funktionieren durch eine Abfrage auf dem Untergeordneten, von dem das @var{Paket} kommt, weshalb der Untergeordnete noch lebendig sein muss, wenn Sie diese Prozeduren aufrufen."
 
 #. type: Plain text
 #: doc/guix.texi:3213
 msgid "Inferior packages can be used transparently like any other package or file-like object in G-expressions (@pxref{G-Expressions}).  They are also transparently handled by the @code{packages->manifest} procedure, which is commonly use in manifests (@pxref{Invoking guix package, the @option{--manifest} option of @command{guix package}}).  Thus you can insert an inferior package pretty much anywhere you would insert a regular package: in manifests, in the @code{packages} field of your @code{operating-system} declaration, and so on."
-msgstr "Untergeordnete Pakete können transparent wie jedes andere Paket oder dateiartige Objekt in G-Ausdrücken verwendet werden (@pxref{G-Expressions}). Sie werden auch transparent wie reguläre Pakete von der Prozedur @code{packages->manifest} behandelt, welche oft in Manifesten benutzt wird (@pxref{Invoking guix package, siehe die Befehlszeilenoption @option{--manifest} von @command{guix package}}). Somit können Sie ein untergeordnetes Paket ziemlich überall dort verwenden, wo Sie ein reguläres Paket einfügen würden: in Manifesten, im Feld @code{packages} Ihrer @code{operating-system}-Deklaration und so weiter."
+msgstr "Untergeordnete Pakete können transparent wie jedes andere Paket oder dateiartige Objekt in G-Ausdrücken verwendet werden (siehe @ref{G-Expressions}). Sie werden auch transparent wie reguläre Pakete von der Prozedur @code{packages->manifest} behandelt, welche oft in Manifesten benutzt wird (siehe @ref{Invoking guix package, siehe die Befehlszeilenoption @option{--manifest} von @command{guix package}}). Somit können Sie ein untergeordnetes Paket ziemlich überall dort verwenden, wo Sie ein reguläres Paket einfügen würden: in Manifesten, im Feld @code{packages} Ihrer @code{operating-system}-Deklaration und so weiter."
 
 #. type: section
 #: doc/guix.texi:3215
@@ -7088,7 +7082,7 @@ msgstr "Sie könnten sich des Öfteren Fragen stellen wie: »Welche Version von
 #. type: Plain text
 #: doc/guix.texi:3230
 msgid "When run from a @command{guix pull}ed @command{guix}, @command{guix describe} displays the channel(s) that it was built from, including their repository URL and commit IDs (@pxref{Channels}):"
-msgstr "Wenn Sie ihn aus einem mit @command{guix pull} bezogenen @command{guix} heraus ausführen, zeigt Ihnen @command{guix describe} die Kanäle an, aus denen es erstellt wurde, jeweils mitsamt ihrer Repository-URL und Commit-ID (@pxref{Channels}):"
+msgstr "Wenn Sie ihn aus einem mit @command{guix pull} bezogenen @command{guix} heraus ausführen, zeigt Ihnen @command{guix describe} die Kanäle an, aus denen es erstellt wurde, jeweils mitsamt ihrer Repository-URL und Commit-ID (siehe @ref{Channels}):"
 
 #. type: example
 #: doc/guix.texi:3238
@@ -7111,7 +7105,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3247
 msgid "If you're familiar with the Git version control system, this is similar in spirit to @command{git describe}; the output is also similar to that of @command{guix pull --list-generations}, but limited to the current generation (@pxref{Invoking guix pull, the @option{--list-generations} option}).  Because the Git commit ID shown above unambiguously refers to a snapshot of Guix, this information is all it takes to describe the revision of Guix you're using, and also to replicate it."
-msgstr "Wenn Sie mit dem Versionskontrollsystem Git vertraut sind, erkennen Sie vielleicht die Ähnlichkeit zu @command{git describe}; die Ausgabe ähnelt auch der von @command{guix pull --list-generations} eingeschränkt auf die aktuelle Generation (@pxref{Invoking guix pull, die Befehlszeilenoption @option{--list-generations}}). Weil die oben gezeigte Git-Commit-ID eindeutig eine bestimmte Version von Guix bezeichnet, genügt diese Information, um die von Ihnen benutzte Version von Guix zu beschreiben, und auch, um sie nachzubilden."
+msgstr "Wenn Sie mit dem Versionskontrollsystem Git vertraut sind, erkennen Sie vielleicht die Ähnlichkeit zu @command{git describe}; die Ausgabe ähnelt auch der von @command{guix pull --list-generations} eingeschränkt auf die aktuelle Generation (siehe @ref{Invoking guix pull, die Befehlszeilenoption @option{--list-generations}}). Weil die oben gezeigte Git-Commit-ID eindeutig eine bestimmte Version von Guix bezeichnet, genügt diese Information, um die von Ihnen benutzte Version von Guix zu beschreiben, und auch, um sie nachzubilden."
 
 #. type: Plain text
 #: doc/guix.texi:3250
@@ -7139,7 +7133,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3267
 msgid "You can save this to a file and feed it to @command{guix pull -C} on some other machine or at a later point in time, which will instantiate @emph{this exact Guix revision} (@pxref{Invoking guix pull, the @option{-C} option}).  From there on, since you're able to deploy the same revision of Guix, you can just as well @emph{replicate a complete software environment}.  We humbly think that this is @emph{awesome}, and we hope you'll like it too!"
-msgstr "Sie können die Ausgabe in einer Datei speichern, die Sie an @command{guix pull -C} auf einer anderen Maschine oder zu einem späteren Zeitpunkt übergeben, wodurch dann eine Instanz @emph{von genau derselben Guix-Version} installiert wird (@pxref{Invoking guix pull, die Befehlszeilenoption @option{-C}}). Daraufhin können Sie, weil Sie jederzeit dieselbe Version von Guix installieren können, auch gleich @emph{eine vollständige Softwareumgebung genau nachbilden}. Wir halten das trotz aller Bescheidenheit für @emph{klasse} und hoffen, dass Ihnen das auch gefällt!"
+msgstr "Sie können die Ausgabe in einer Datei speichern, die Sie an @command{guix pull -C} auf einer anderen Maschine oder zu einem späteren Zeitpunkt übergeben, wodurch dann eine Instanz @emph{von genau derselben Guix-Version} installiert wird (siehe @ref{Invoking guix pull, die Befehlszeilenoption @option{-C}}). Daraufhin können Sie, weil Sie jederzeit dieselbe Version von Guix installieren können, auch gleich @emph{eine vollständige Softwareumgebung genau nachbilden}. Wir halten das trotz aller Bescheidenheit für @emph{klasse} und hoffen, dass Ihnen das auch gefällt!"
 
 #. type: Plain text
 #: doc/guix.texi:3270
@@ -7177,7 +7171,7 @@ msgstr "für menschenlesbare Ausgabe,"
 #. type: table
 #: doc/guix.texi:3283
 msgid "produce a list of channel specifications that can be passed to @command{guix pull -C} or installed as @file{~/.config/guix/channels.scm} (@pxref{Invoking guix pull});"
-msgstr "eine Liste von Kanalspezifikationen erzeugen, die an @command{guix pull -C} übergeben werden oder als @file{~/.config/guix/channels.scm} eingesetzt werden können (@pxref{Invoking guix pull}),"
+msgstr "eine Liste von Kanalspezifikationen erzeugen, die an @command{guix pull -C} übergeben werden oder als @file{~/.config/guix/channels.scm} eingesetzt werden können (siehe @ref{Invoking guix pull}),"
 
 #. type: item
 #: doc/guix.texi:3283 doc/guix.texi:7075
@@ -7226,7 +7220,7 @@ msgstr "Manchmal möchten Sie Software an Leute weitergeben, die (noch!) nicht d
 #. type: quotation
 #: doc/guix.texi:3307
 msgid "If you are looking for ways to exchange binaries among machines that already run Guix, @pxref{Invoking guix copy}, @ref{Invoking guix publish}, and @ref{Invoking guix archive}."
-msgstr "Wenn Sie aber nach einer Möglichkeit suchen, Binärdateien unter Maschinen auszutauschen, auf denen Guix bereits läuft, sollten Sie einen Blick auf die Abschnitte @pxref{Invoking guix copy}, @ref{Invoking guix publish} und @ref{Invoking guix archive} werfen."
+msgstr "Wenn Sie aber nach einer Möglichkeit suchen, Binärdateien unter Maschinen auszutauschen, auf denen Guix bereits läuft, sollten Sie einen Blick auf die Abschnitte @ref{Invoking guix copy}, @ref{Invoking guix publish} und @ref{Invoking guix archive} werfen."
 
 #. type: cindex
 #: doc/guix.texi:3309
@@ -7277,7 +7271,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3337
 msgid "The result here is a tarball containing a @file{/gnu/store} directory with all the relevant packages.  The resulting tarball contains a @dfn{profile} with the three packages of interest; the profile is the same as would be created by @command{guix package -i}.  It is this mechanism that is used to create Guix's own standalone binary tarball (@pxref{Binary Installation})."
-msgstr "Als Ergebnis erhalten Sie einen Tarball mit einem Verzeichnis @file{/gnu/store}, worin sich alles relevanten Pakete befinden. Der resultierende Tarball enthält auch ein @dfn{Profil} mit den drei angegebenen Paketen; es ist dieselbe Art von Profil, die auch @command{guix package -i} erzeugen würde. Mit diesem Mechanismus wird auch der binäre Tarball zur Installation von Guix erzeugt (@pxref{Binary Installation})."
+msgstr "Als Ergebnis erhalten Sie einen Tarball mit einem Verzeichnis @file{/gnu/store}, worin sich alles relevanten Pakete befinden. Der resultierende Tarball enthält auch ein @dfn{Profil} mit den drei angegebenen Paketen; es ist dieselbe Art von Profil, die auch @command{guix package -i} erzeugen würde. Mit diesem Mechanismus wird auch der binäre Tarball zur Installation von Guix erzeugt (siehe @ref{Binary Installation})."
 
 #. type: Plain text
 #: doc/guix.texi:3342
@@ -7468,7 +7462,7 @@ msgstr "Als Paket benutzen, wozu der @var{Ausdruck} ausgewertet wird."
 #. type: table
 #: doc/guix.texi:3454
 msgid "This has the same purpose as the same-named option in @command{guix build} (@pxref{Additional Build Options, @code{--expression} in @command{guix build}})."
-msgstr "Der Zweck hiervon ist derselbe wie bei der gleichnamigen Befehlszeilenoption in @command{guix build} (@pxref{Additional Build Options, @code{--expression} in @command{guix build}})."
+msgstr "Der Zweck hiervon ist derselbe wie bei der gleichnamigen Befehlszeilenoption in @command{guix build} (siehe @ref{Additional Build Options, @code{--expression} in @command{guix build}})."
 
 #. type: table
 #: doc/guix.texi:3459
@@ -7478,7 +7472,7 @@ msgstr "Die Pakete benutzen, die im Manifest-Objekt aufgeführt sind, das vom Sc
 #. type: table
 #: doc/guix.texi:3467
 msgid "This has a similar purpose as the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest files.  It allows you to define a collection of packages once and use it both for creating profiles and for creating archives for use on machines that do not have Guix installed.  Note that you can specify @emph{either} a manifest file @emph{or} a list of packages, but not both."
-msgstr "Dies hat einen ähnlichen Zweck wie die gleichnamige Befehlszeilenoption in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) und benutzt dieselben Regeln für Manifest-Dateien. Damit können Sie eine Reihe von Paketen einmal definieren und dann sowohl zum Erzeugen von Profilesn als auch zum Erzeugen von Archiven benutzen, letztere für Maschinen, auf denen Guix nicht installiert ist. Beachten Sie, dass Sie @emph{entweder} eine Manifest-Datei @emph{oder} eine Liste von Paketen angeben können, aber nicht beides."
+msgstr "Dies hat einen ähnlichen Zweck wie die gleichnamige Befehlszeilenoption in @command{guix package} (siehe @ref{profile-manifest, @option{--manifest}}) und benutzt dieselben Regeln für Manifest-Dateien. Damit können Sie eine Reihe von Paketen einmal definieren und dann sowohl zum Erzeugen von Profilesn als auch zum Erzeugen von Archiven benutzen, letztere für Maschinen, auf denen Guix nicht installiert ist. Beachten Sie, dass Sie @emph{entweder} eine Manifest-Datei @emph{oder} eine Liste von Paketen angeben können, aber nicht beides."
 
 #. type: itemx
 #: doc/guix.texi:3469 doc/guix.texi:6555 doc/guix.texi:7797 doc/guix.texi:7980
@@ -7507,7 +7501,7 @@ msgstr "Cross-Kompilieren"
 #. type: table
 #: doc/guix.texi:3478 doc/guix.texi:6591
 msgid "Cross-build for @var{triplet}, which must be a valid GNU triplet, such as @code{\"mips64el-linux-gnu\"} (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf})."
-msgstr "Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein gültiges GNU-Tripel wie z.B. @code{\"mips64el-linux-gnu\"} sein (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf})."
+msgstr "Lässt für das angegebene @var{Tripel} cross-erstellen, dieses muss ein gültiges GNU-Tripel wie z.B. @code{\"mips64el-linux-gnu\"} sein (siehe @ref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf})."
 
 #. type: item
 #: doc/guix.texi:3479
@@ -7573,12 +7567,12 @@ msgstr "Das »lokale Zustandsverzeichnis« @file{/var/guix} ins resultierende BÃ
 #. type: table
 #: doc/guix.texi:3508
 msgid "@file{/var/guix} contains the store database (@pxref{The Store}) as well as garbage-collector roots (@pxref{Invoking guix gc}).  Providing it in the pack means that the store is ``complete'' and manageable by Guix; not providing it pack means that the store is ``dead'': items cannot be added to it or removed from it after extraction of the pack."
-msgstr "@file{/var/guix} enthält die Store-Datenbank (@pxref{The Store}) sowie die Müllsammlerwurzeln (@pxref{Invoking guix gc}). Es ins Bündel aufzunehmen, bedeutet, dass der enthaltene Store »vollständig« ist und von Guix verwaltet werden kann, andernfalls wäre der Store im Bündel »tot« und nach dem Auspacken des Bündels könnte Guix keine Objekte mehr dort hinzufügen oder entfernen."
+msgstr "@file{/var/guix} enthält die Store-Datenbank (siehe @ref{The Store}) sowie die Müllsammlerwurzeln (siehe @ref{Invoking guix gc}). Es ins Bündel aufzunehmen, bedeutet, dass der enthaltene Store »vollständig« ist und von Guix verwaltet werden kann, andernfalls wäre der Store im Bündel »tot« und nach dem Auspacken des Bündels könnte Guix keine Objekte mehr dort hinzufügen oder entfernen."
 
 #. type: table
 #: doc/guix.texi:3511
 msgid "One use case for this is the Guix self-contained binary tarball (@pxref{Binary Installation})."
-msgstr "Ein Anwendungsfall hierfür ist der eigenständige, alle Komponenten umfassende binäre Tarball von Guix (@pxref{Binary Installation})."
+msgstr "Ein Anwendungsfall hierfür ist der eigenständige, alle Komponenten umfassende binäre Tarball von Guix (siehe @ref{Binary Installation})."
 
 #. type: table
 #: doc/guix.texi:3515
@@ -7588,7 +7582,7 @@ msgstr "Mit den Bootstrap-Binärdateien das Bündel erstellen. Diese Option ist
 #. type: Plain text
 #: doc/guix.texi:3520
 msgid "In addition, @command{guix pack} supports all the common build options (@pxref{Common Build Options}) and all the package transformation options (@pxref{Package Transformation Options})."
-msgstr "Außerdem unterstützt @command{guix pack} alle gemeinsamen Erstellungsoptionen (@pxref{Common Build Options}) und alle Paketumwandlungsoptionen (@pxref{Package Transformation Options})."
+msgstr "Außerdem unterstützt @command{guix pack} alle gemeinsamen Erstellungsoptionen (siehe @ref{Common Build Options}) und alle Paketumwandlungsoptionen (siehe @ref{Package Transformation Options})."
 
 #. type: section
 #: doc/guix.texi:3523
@@ -7616,7 +7610,7 @@ msgstr "Der Befehl @command{guix archive} ermöglicht es Nutzern, Dateien im Sto
 #. type: quotation
 #: doc/guix.texi:3536
 msgid "If you're looking for a way to produce archives in a format suitable for tools other than Guix, @pxref{Invoking guix pack}."
-msgstr "Wenn Sie nach einer Möglichkeit suchen, Archivdateien für andere Werkzeuge als Guix zu erstellen, finden Sie Informationen dazu im Abschnitt @pxref{Invoking guix pack}."
+msgstr "Wenn Sie nach einer Möglichkeit suchen, Archivdateien für andere Werkzeuge als Guix zu erstellen, finden Sie Informationen dazu im Abschnitt @ref{Invoking guix pack}."
 
 #. type: cindex
 #: doc/guix.texi:3538
@@ -7638,7 +7632,7 @@ msgstr "guix archive --export @var{Optionen} @var{Spezifikationen}...\n"
 #. type: Plain text
 #: doc/guix.texi:3550
 msgid "@var{specifications} may be either store file names or package specifications, as for @command{guix package} (@pxref{Invoking guix package}).  For instance, the following command creates an archive containing the @code{gui} output of the @code{git} package and the main output of @code{emacs}:"
-msgstr "@var{Spezifikationen} sind dabei entweder die Namen von Store-Dateien oder Paketspezifikationen wie bei @command{guix package} (@pxref{Invoking guix package}). Zum Beispiel erzeugt der folgende Befehl ein Archiv der @code{gui}-Ausgabe des Pakets @code{git} sowie die Hauptausgabe von @code{emacs}:"
+msgstr "@var{Spezifikationen} sind dabei entweder die Namen von Store-Dateien oder Paketspezifikationen wie bei @command{guix package} (siehe @ref{Invoking guix package}). Zum Beispiel erzeugt der folgende Befehl ein Archiv der @code{gui}-Ausgabe des Pakets @code{git} sowie die Hauptausgabe von @code{emacs}:"
 
 #. type: example
 #: doc/guix.texi:3553
@@ -7649,7 +7643,7 @@ msgstr "guix archive --export git:gui /gnu/store/...-emacs-24.3 > groß.nar\n"
 #. type: Plain text
 #: doc/guix.texi:3558
 msgid "If the specified packages are not built yet, @command{guix archive} automatically builds them.  The build process may be controlled with the common build options (@pxref{Common Build Options})."
-msgstr "Wenn die angegebenen Pakete noch nicht erstellt worden sind, werden sie durch @command{guix archive} automatisch erstellt. Der Erstellungsprozess kann durch die gemeinsamen Erstellungsoptionen gesteuert werden (@pxref{Common Build Options})."
+msgstr "Wenn die angegebenen Pakete noch nicht erstellt worden sind, werden sie durch @command{guix archive} automatisch erstellt. Der Erstellungsprozess kann durch die gemeinsamen Erstellungsoptionen gesteuert werden (siehe @ref{Common Build Options})."
 
 #. type: Plain text
 #: doc/guix.texi:3561
@@ -7680,7 +7674,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3583
 msgid "However, note that, in both examples, all of @code{emacs} and the profile as well as all of their dependencies are transferred (due to @code{-r}), regardless of what is already available in the store on the target machine.  The @code{--missing} option can help figure out which items are missing from the target store.  The @command{guix copy} command simplifies and optimizes this whole process, so this is probably what you should use in this case (@pxref{Invoking guix copy})."
-msgstr "Jedoch sollten Sie in beiden Beispielen beachten, dass alles, was zu @code{emacs}, dem Profil oder deren Abhängigkeiten (wegen @code{-r}) gehört, übertragen wird, egal ob es schon im Store der Zielmaschine vorhanden ist oder nicht. Mit der Befehlszeilenoption @code{--missing} lässt sich herausfinden, welche Objekte im Ziel-Store noch fehlen. Der Befehl @command{guix copy} vereinfacht und optimiert diesen gesamten Prozess, ist also, was Sie in diesem Fall wahrscheinlich eher benutzen wollten (@pxref{Invoking guix copy})."
+msgstr "Jedoch sollten Sie in beiden Beispielen beachten, dass alles, was zu @code{emacs}, dem Profil oder deren Abhängigkeiten (wegen @code{-r}) gehört, übertragen wird, egal ob es schon im Store der Zielmaschine vorhanden ist oder nicht. Mit der Befehlszeilenoption @code{--missing} lässt sich herausfinden, welche Objekte im Ziel-Store noch fehlen. Der Befehl @command{guix copy} vereinfacht und optimiert diesen gesamten Prozess, ist also, was Sie in diesem Fall wahrscheinlich eher benutzen wollten (siehe @ref{Invoking guix copy})."
 
 #. type: cindex
 #: doc/guix.texi:3584
@@ -7702,7 +7696,7 @@ msgstr "Archive werden als »Normalisiertes Archiv«, kurz »Nar«, formatiert.
 #. type: Plain text
 #: doc/guix.texi:3601
 msgid "When exporting, the daemon digitally signs the contents of the archive, and that digital signature is appended.  When importing, the daemon verifies the signature and rejects the import in case of an invalid signature or if the signing key is not authorized."
-msgstr "Beim Exportieren versieht der Daemon den Inhalt des Archivs mit einer digitalen Signatur.  Diese digitale Signatur wird an das Archiv angehängt. Beim Importieren verifiziert der Daemon die Signatur und lehnt den Import ab, falls die Signatur ungültig oder der signierende Schlüssel nicht autorisiert ist."
+msgstr "Beim Exportieren versieht der Daemon den Inhalt des Archivs mit einer digitalen Signatur, auch Beglaubigung genannt. Diese digitale Signatur wird an das Archiv angehängt. Beim Importieren verifiziert der Daemon die Signatur und lehnt den Import ab, falls die Signatur ungültig oder der signierende Schlüssel nicht autorisiert ist."
 
 #. type: Plain text
 #: doc/guix.texi:3603
@@ -7786,7 +7780,7 @@ msgstr "Ein neues Schlüsselpaar für den Daemon erzeugen. Dies ist erforderlich
 #. type: table
 #: doc/guix.texi:3646
 msgid "The generated key pair is typically stored under @file{/etc/guix}, in @file{signing-key.pub} (public key) and @file{signing-key.sec} (private key, which must be kept secret.)  When @var{parameters} is omitted, an ECDSA key using the Ed25519 curve is generated, or, for Libgcrypt versions before 1.6.0, it is a 4096-bit RSA key.  Alternatively, @var{parameters} can specify @code{genkey} parameters suitable for Libgcrypt (@pxref{General public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual})."
-msgstr "Das erzeugte Schlüsselpaar wird typischerweise unter @file{/etc/guix} gespeichert, in den Dateien @file{signing-key.pub} (für den öffentlichen Schlüssel) und @file{signing-key.sec} (für den privaten Schlüssel, der geheim gehalten werden muss). Wurden keine @var{Parameters} angegeben, wird ein ECDSA-Schlüssel unter Verwendung der Kurve Ed25519 erzeugt, oder, falls die Libgcrypt-Version älter als 1.6.0 ist, ein 4096-Bit-RSA-Schlüssel. Sonst geben die @var{Parameter} für Libgcrypt geeignete Parameter für @code{genkey} an (@pxref{General public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual})."
+msgstr "Das erzeugte Schlüsselpaar wird typischerweise unter @file{/etc/guix} gespeichert, in den Dateien @file{signing-key.pub} (für den öffentlichen Schlüssel) und @file{signing-key.sec} (für den privaten Schlüssel, der geheim gehalten werden muss). Wurden keine @var{Parameters} angegeben, wird ein ECDSA-Schlüssel unter Verwendung der Kurve Ed25519 erzeugt, oder, falls die Libgcrypt-Version älter als 1.6.0 ist, ein 4096-Bit-RSA-Schlüssel. Sonst geben die @var{Parameter} für Libgcrypt geeignete Parameter für @code{genkey} an (siehe @ref{General public-key related Functions, @code{gcry_pk_genkey},, gcrypt, The Libgcrypt Reference Manual})."
 
 #. type: item
 #: doc/guix.texi:3647
@@ -7825,7 +7819,7 @@ msgstr "-x @var{Verzeichnis}"
 #. type: table
 #: doc/guix.texi:3665
 msgid "Read a single-item archive as served by substitute servers (@pxref{Substitutes}) and extract it to @var{directory}.  This is a low-level operation needed in only very narrow use cases; see below."
-msgstr "Ein Archiv mit einem einzelnen Objekt lesen, wie es von Substitutservern geliefert wird (@pxref{Substitutes}) und ins @var{Verzeichnis} entpacken. Dies ist eine systemnahe Operation, die man nur selten direkt benutzt; siehe unten."
+msgstr "Ein Archiv mit einem einzelnen Objekt lesen, wie es von Substitutservern geliefert wird (siehe @ref{Substitutes}) und ins @var{Verzeichnis} entpacken. Dies ist eine systemnahe Operation, die man nur selten direkt benutzt; siehe unten."
 
 #. type: table
 #: doc/guix.texi:3668
@@ -7944,17 +7938,17 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3769
 msgid "Without being a Scheme expert, the reader may have guessed the meaning of the various fields here.  This expression binds the variable @code{hello} to a @code{<package>} object, which is essentially a record (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}).  This package object can be inspected using procedures found in the @code{(guix packages)} module; for instance, @code{(package-name hello)} returns---surprise!---@code{\"hello\"}."
-msgstr "Auch ohne ein Experte in Scheme zu sein, könnten Leser erraten haben, was die verschiedenen Felder dabei bedeuten. Dieser Ausdruck bindet die Variable @code{hello} an ein @code{<package>}-Objekt, was an sich nur ein Verbund (Record) ist (@pxref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). Die Felder dieses Paket-Objekts lassen sich mit den Prozeduren aus dem Modul @code{(guix packages)} auslesen, zum Beispiel liefert @code{(package-name hello)} — Überraschung! — @code{\"hello\"}."
+msgstr "Auch ohne ein Experte in Scheme zu sein, könnten Leser erraten haben, was die verschiedenen Felder dabei bedeuten. Dieser Ausdruck bindet die Variable @code{hello} an ein @code{<package>}-Objekt, was an sich nur ein Verbund (Record) ist (siehe @ref{SRFI-9, Scheme records,, guile, GNU Guile Reference Manual}). Die Felder dieses Paket-Objekts lassen sich mit den Prozeduren aus dem Modul @code{(guix packages)} auslesen, zum Beispiel liefert @code{(package-name hello)} — Überraschung! — @code{\"hello\"}."
 
 #. type: Plain text
 #: doc/guix.texi:3773
 msgid "With luck, you may be able to import part or all of the definition of the package you are interested in from another repository, using the @code{guix import} command (@pxref{Invoking guix import})."
-msgstr "Mit etwas Glück können Sie die Definition vielleicht teilweise oder sogar ganz aus einer anderen Paketsammlung importieren, indem Sie den Befehl @code{guix import} verwenden (@pxref{Invoking guix import})."
+msgstr "Mit etwas Glück können Sie die Definition vielleicht teilweise oder sogar ganz aus einer anderen Paketsammlung importieren, indem Sie den Befehl @code{guix import} verwenden (siehe @ref{Invoking guix import})."
 
 #. type: Plain text
 #: doc/guix.texi:3779
 msgid "In the example above, @var{hello} is defined in a module of its own, @code{(gnu packages hello)}.  Technically, this is not strictly necessary, but it is convenient to do so: all the packages defined in modules under @code{(gnu packages @dots{})} are automatically known to the command-line tools (@pxref{Package Modules})."
-msgstr "In obigem Beispiel wurde @var{hello} in einem eigenen Modul ganz für sich alleine definiert, und zwar @code{(gnu packages hello)}. Technisch gesehen muss es nicht unbedingt in einem solchen Modul definiert werden, aber es ist bequem, denn alle Module unter @code{(gnu packages @dots{})} werden automatisch von den Befehlszeilenwerkzeugen gefunden (@pxref{Package Modules})."
+msgstr "In obigem Beispiel wurde @var{hello} in einem eigenen Modul ganz für sich alleine definiert, und zwar @code{(gnu packages hello)}. Technisch gesehen muss es nicht unbedingt in einem solchen Modul definiert werden, aber es ist bequem, denn alle Module unter @code{(gnu packages @dots{})} werden automatisch von den Befehlszeilenwerkzeugen gefunden (siehe @ref{Package Modules})."
 
 #. type: Plain text
 #: doc/guix.texi:3781
@@ -7964,7 +7958,7 @@ msgstr "Ein paar Dinge sind noch erwähnenswert in der obigen Paketdefinition:"
 #. type: itemize
 #: doc/guix.texi:3788
 msgid "The @code{source} field of the package is an @code{<origin>} object (@pxref{origin Reference}, for the complete reference).  Here, the @code{url-fetch} method from @code{(guix download)} is used, meaning that the source is a file to be downloaded over FTP or HTTP."
-msgstr "Das @code{source}-Feld für die Quelle des Pakets ist ein @code{<origin>}-Objekt, was den Paketursprung angibt (siehe @pxref{origin Reference}, für eine vollständige Referenz). Hier wird dafür die Methode @code{url-fetch} aus dem Modul @code{(guix download)} benutzt, d.h. die Quelle ist eine Datei, die über FTP oder HTTP heruntergeladen werden soll."
+msgstr "Das @code{source}-Feld für die Quelle des Pakets ist ein @code{<origin>}-Objekt, was den Paketursprung angibt (siehe @ref{origin Reference} für eine vollständige Referenz). Hier wird dafür die Methode @code{url-fetch} aus dem Modul @code{(guix download)} benutzt, d.h. die Quelle ist eine Datei, die über FTP oder HTTP heruntergeladen werden soll."
 
 #. type: itemize
 #: doc/guix.texi:3791
@@ -7974,7 +7968,7 @@ msgstr "Das Präfix @code{mirror://gnu} lässt @code{url-fetch} einen der GNU-Sp
 #. type: itemize
 #: doc/guix.texi:3798
 msgid "The @code{sha256} field specifies the expected SHA256 hash of the file being downloaded.  It is mandatory, and allows Guix to check the integrity of the file.  The @code{(base32 @dots{})} form introduces the base32 representation of the hash.  You can obtain this information with @code{guix download} (@pxref{Invoking guix download}) and @code{guix hash} (@pxref{Invoking guix hash})."
-msgstr "Das Feld @code{sha256} legt den erwarteten SHA256-Hashwert der herunterzuladenden Datei fest. Ihn anzugeben ist Pflicht und er ermöglicht es Guix, die Integrität der Datei zu überprüfen. Die Form @code{(base32 @dots{})} geht der base32-Darstellung des Hash-Wertes voraus. Sie finden die base32-Darstellung mit Hilfe der Befehle @code{guix download} (@pxref{Invoking guix download}) und @code{guix hash} (@pxref{Invoking guix hash})."
+msgstr "Das Feld @code{sha256} legt den erwarteten SHA256-Hashwert der herunterzuladenden Datei fest. Ihn anzugeben ist Pflicht und er ermöglicht es Guix, die Integrität der Datei zu überprüfen. Die Form @code{(base32 @dots{})} geht der base32-Darstellung des Hash-Wertes voraus. Sie finden die base32-Darstellung mit Hilfe der Befehle @code{guix download} (siehe @ref{Invoking guix download}) und @code{guix hash} (siehe @ref{Invoking guix hash})."
 
 #. type: cindex
 #: doc/guix.texi:3799
@@ -7996,12 +7990,12 @@ msgstr "GNU-Erstellungssystem"
 #. type: itemize
 #: doc/guix.texi:3811
 msgid "The @code{build-system} field specifies the procedure to build the package (@pxref{Build Systems}).  Here, @var{gnu-build-system} represents the familiar GNU Build System, where packages may be configured, built, and installed with the usual @code{./configure && make && make check && make install} command sequence."
-msgstr "Das Feld @code{build-system} legt fest, mit welcher Prozedur das Paket erstellt werden soll (@pxref{Build Systems}). In diesem Beispiel steht @var{gnu-build-system} für das wohlbekannte GNU-Erstellungssystem, wo Pakete mit der üblichen Befehlsfolge @code{./configure && make && make check && make install} konfiguriert, erstellt und installiert werden."
+msgstr "Das Feld @code{build-system} legt fest, mit welcher Prozedur das Paket erstellt werden soll (siehe @ref{Build Systems}). In diesem Beispiel steht @var{gnu-build-system} für das wohlbekannte GNU-Erstellungssystem, wo Pakete mit der üblichen Befehlsfolge @code{./configure && make && make check && make install} konfiguriert, erstellt und installiert werden."
 
 #. type: itemize
 #: doc/guix.texi:3817
 msgid "The @code{arguments} field specifies options for the build system (@pxref{Build Systems}).  Here it is interpreted by @var{gnu-build-system} as a request run @file{configure} with the @code{--enable-silent-rules} flag."
-msgstr "Das Feld @code{arguments} gibt an, welche Optionen dem Erstellungssystem mitgegeben werden sollen (@pxref{Build Systems}). In diesem Fall interpretiert @var{gnu-build-system} diese als Auftrag, @file{configure} mit der Befehlszeilenoption @code{--enable-silent-rules} auszuführen."
+msgstr "Das Feld @code{arguments} gibt an, welche Optionen dem Erstellungssystem mitgegeben werden sollen (siehe @ref{Build Systems}). In diesem Fall interpretiert @var{gnu-build-system} diese als Auftrag, @file{configure} mit der Befehlszeilenoption @code{--enable-silent-rules} auszuführen."
 
 #. type: findex
 #: doc/guix.texi:3818 doc/guix.texi:3821
@@ -8024,12 +8018,12 @@ msgstr "'"
 #. type: itemize
 #: doc/guix.texi:3829
 msgid "What about these quote (@code{'}) characters? They are Scheme syntax to introduce a literal list; @code{'} is synonymous with @code{quote}.  @xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, for details.  Here the value of the @code{arguments} field is a list of arguments passed to the build system down the road, as with @code{apply} (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
-msgstr "Was hat es mit diesen einfachen Anführungszeichen (@code{'}) auf sich? Sie gehören zur Syntax von Scheme und führen eine wörtlich zu interpretierende Datenlisten ein; dies nennt sich Maskierung oder Quotierung. @code{'} ist synonym mit @code{quote}. @xref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual}, enthält weitere Details. Hierbei ist also der Wert des @code{arguments}-Feldes eine Liste von Argumenten, die an das Erstellungssystem weitergereicht werden, wie bei @code{apply} (@pxref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
+msgstr "Was hat es mit diesen einfachen Anführungszeichen (@code{'}) auf sich? Sie gehören zur Syntax von Scheme und führen eine wörtlich zu interpretierende Datenlisten ein; dies nennt sich Maskierung oder Quotierung. @code{'} ist synonym mit @code{quote}. @ref{Expression Syntax, quoting,, guile, GNU Guile Reference Manual} enthält weitere Details. Hierbei ist also der Wert des @code{arguments}-Feldes eine Liste von Argumenten, die an das Erstellungssystem weitergereicht werden, wie bei @code{apply} (siehe @ref{Fly Evaluation, @code{apply},, guile, GNU Guile Reference Manual})."
 
 #. type: itemize
 #: doc/guix.texi:3835
 msgid "The hash-colon (@code{#:}) sequence defines a Scheme @dfn{keyword} (@pxref{Keywords,,, guile, GNU Guile Reference Manual}), and @code{#:configure-flags} is a keyword used to pass a keyword argument to the build system (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
-msgstr "Ein Doppelkreuz gefolgt von einem Doppelpunkt (@code{#:}) definiert ein Scheme-@dfn{Schlüsselwort} (@pxref{Keywords,,, guile, GNU Guile Reference Manual}) und @code{#:configure-flags} ist ein Schlüsselwort, um eine Befehlszeilenoption an das Erstellungssystem mitzugeben (@pxref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
+msgstr "Ein Doppelkreuz gefolgt von einem Doppelpunkt (@code{#:}) definiert ein Scheme-@dfn{Schlüsselwort} (siehe @ref{Keywords,,, guile, GNU Guile Reference Manual}) und @code{#:configure-flags} ist ein Schlüsselwort, um eine Befehlszeilenoption an das Erstellungssystem mitzugeben (siehe @ref{Coding With Keywords,,, guile, GNU Guile Reference Manual})."
 
 #. type: itemize
 #: doc/guix.texi:3841
@@ -8087,12 +8081,12 @@ msgstr "unquote-splicing"
 #. type: itemize
 #: doc/guix.texi:3855
 msgid "Again, @code{`} (a backquote, synonymous with @code{quasiquote}) allows us to introduce a literal list in the @code{inputs} field, while @code{,} (a comma, synonymous with @code{unquote}) allows us to insert a value in that list (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
-msgstr "Auch mit @code{`} (einem Backquote, stattdessen kann man auch das längere Synonym @code{quasiquote} schreiben) können wir eine wörtlich als Daten interpretierte Liste im @code{inputs}-Feld einführen, aber bei dieser »Quasimaskierung« kann @code{,} (ein Komma, oder dessen Synonym @code{unquote}) benutzt werden, um den ausgewerteten Wert eines Ausdrucks in diese Liste einzufügen (@pxref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
+msgstr "Auch mit @code{`} (einem Backquote, stattdessen kann man auch das längere Synonym @code{quasiquote} schreiben) können wir eine wörtlich als Daten interpretierte Liste im @code{inputs}-Feld einführen, aber bei dieser »Quasimaskierung« kann @code{,} (ein Komma, oder dessen Synonym @code{unquote}) benutzt werden, um den ausgewerteten Wert eines Ausdrucks in diese Liste einzufügen (siehe @ref{Expression Syntax, unquote,, guile, GNU Guile Reference Manual})."
 
 #. type: itemize
 #: doc/guix.texi:3859
 msgid "Note that GCC, Coreutils, Bash, and other essential tools do not need to be specified as inputs here.  Instead, @var{gnu-build-system} takes care of ensuring that they are present (@pxref{Build Systems})."
-msgstr "Beachten Sie, dass GCC, Coreutils, Bash und andere essenzielle Werkzeuge hier nicht als Eingaben aufgeführt werden müssen. Stattdessen sorgt schon @var{gnu-build-system} dafür, dass diese vorhanden sein müssen (@pxref{Build Systems})."
+msgstr "Beachten Sie, dass GCC, Coreutils, Bash und andere essenzielle Werkzeuge hier nicht als Eingaben aufgeführt werden müssen. Stattdessen sorgt schon @var{gnu-build-system} dafür, dass diese vorhanden sein müssen (siehe @ref{Build Systems})."
 
 #. type: itemize
 #: doc/guix.texi:3863
@@ -8102,12 +8096,12 @@ msgstr "Sämtliche anderen Abhängigkeiten müssen aber im @code{inputs}-Feld au
 #. type: Plain text
 #: doc/guix.texi:3866
 msgid "@xref{package Reference}, for a full description of possible fields."
-msgstr "Siehe @xref{package Reference} für eine umfassende Beschreibung aller erlaubten Felder."
+msgstr "Siehe @ref{package Reference} für eine umfassende Beschreibung aller erlaubten Felder."
 
 #. type: Plain text
 #: doc/guix.texi:3877
 msgid "Once a package definition is in place, the package may actually be built using the @code{guix build} command-line tool (@pxref{Invoking guix build}), troubleshooting any build failures you encounter (@pxref{Debugging Build Failures}).  You can easily jump back to the package definition using the @command{guix edit} command (@pxref{Invoking guix edit}).  @xref{Packaging Guidelines}, for more information on how to test package definitions, and @ref{Invoking guix lint}, for information on how to check a definition for style conformance."
-msgstr "Sobald eine Paketdefinition eingesetzt wurde, können Sie das Paket mit Hilfe des Befehlszeilenwerkzeugs @code{guix build} dann auch tatsächlich erstellen (@pxref{Invoking guix build}) und dabei jegliche Erstellungsfehler, auf die Sie stoßen, beseitigen (@pxref{Debugging Build Failures}). Sie können den Befehl @command{guix edit} benutzen, um leicht zur Paketdefinition zurückzuspringen (@pxref{Invoking guix edit}). Unter @xref{Packaging Guidelines} finden Sie mehr Informationen darüber, wie Sie Paketdefinitionen testen, und unter @ref{Invoking guix lint} finden Sie Informationen, wie Sie prüfen, ob eine Definition alle Stilkonventionen einhält."
+msgstr "Sobald eine Paketdefinition eingesetzt wurde, können Sie das Paket mit Hilfe des Befehlszeilenwerkzeugs @code{guix build} dann auch tatsächlich erstellen (siehe @ref{Invoking guix build}) und dabei jegliche Erstellungsfehler, auf die Sie stoßen, beseitigen (siehe @ref{Debugging Build Failures}). Sie können den Befehl @command{guix edit} benutzen, um leicht zur Paketdefinition zurückzuspringen (siehe @ref{Invoking guix edit}). Unter @ref{Packaging Guidelines} finden Sie mehr Informationen darüber, wie Sie Paketdefinitionen testen, und unter @ref{Invoking guix lint} finden Sie Informationen, wie Sie prüfen, ob eine Definition alle Stilkonventionen einhält."
 
 #. type: vindex
 #: doc/guix.texi:3877
@@ -8118,17 +8112,17 @@ msgstr "GUIX_PACKAGE_PATH"
 #. type: Plain text
 #: doc/guix.texi:3881
 msgid "Lastly, @pxref{Channels}, for information on how to extend the distribution by adding your own package definitions in a ``channel''."
-msgstr "Zuletzt finden Sie unter @pxref{Channels} Informationen, wie Sie die Distribution um Ihre eigenen Pakete in einem »Kanal« erweitern."
+msgstr "Zuletzt finden Sie unter @ref{Channels} Informationen, wie Sie die Distribution um Ihre eigenen Pakete in einem »Kanal« erweitern."
 
 #. type: Plain text
 #: doc/guix.texi:3885
 msgid "Finally, updating the package definition to a new upstream version can be partly automated by the @command{guix refresh} command (@pxref{Invoking guix refresh})."
-msgstr "Zu all dem sei auch erwähnt, dass Sie das Aktualisieren einer Paketdefinition auf eine vom Anbieter neu veröffentlichte Version mit dem Befehl @command{guix refresh} teilweise automatisieren können (@pxref{Invoking guix refresh})."
+msgstr "Zu all dem sei auch erwähnt, dass Sie das Aktualisieren einer Paketdefinition auf eine vom Anbieter neu veröffentlichte Version mit dem Befehl @command{guix refresh} teilweise automatisieren können (siehe @ref{Invoking guix refresh})."
 
 #. type: Plain text
 #: doc/guix.texi:3891
 msgid "Behind the scenes, a derivation corresponding to the @code{<package>} object is first computed by the @code{package-derivation} procedure.  That derivation is stored in a @code{.drv} file under @file{/gnu/store}.  The build actions it prescribes may then be realized by using the @code{build-derivations} procedure (@pxref{The Store})."
-msgstr "Hinter den Kulissen wird die einem @code{<package>}-Objekt entsprechende Ableitung zuerst durch @code{package-derivation} berechnet. Diese Ableitung wird in der @code{.drv}-Datei unter @file{/gnu/store} gespeichert. Die von ihr vorgeschriebenen Erstellungsaktionen können dann durch die Prozedur @code{build-derivations} umgesetzt werden (@pxref{The Store})."
+msgstr "Hinter den Kulissen wird die einem @code{<package>}-Objekt entsprechende Ableitung zuerst durch @code{package-derivation} berechnet. Diese Ableitung wird in der @code{.drv}-Datei unter @file{/gnu/store} gespeichert. Die von ihr vorgeschriebenen Erstellungsaktionen können dann durch die Prozedur @code{build-derivations} umgesetzt werden (siehe @ref{The Store})."
 
 #. type: deffn
 #: doc/guix.texi:3892
@@ -8139,12 +8133,12 @@ msgstr "{Scheme-Prozedur} package-derivation @var{Store} @var{Paket} [@var{Syste
 #. type: deffn
 #: doc/guix.texi:3895
 msgid "Return the @code{<derivation>} object of @var{package} for @var{system} (@pxref{Derivations})."
-msgstr "Das @code{<derivation>}-Objekt zum @var{Paket} für das angegebene @var{System} liefern (@pxref{Derivations})."
+msgstr "Das @code{<derivation>}-Objekt zum @var{Paket} für das angegebene @var{System} liefern (siehe @ref{Derivations})."
 
 #. type: deffn
 #: doc/guix.texi:3901
 msgid "@var{package} must be a valid @code{<package>} object, and @var{system} must be a string denoting the target system type---e.g., @code{\"x86_64-linux\"} for an x86_64 Linux-based GNU system.  @var{store} must be a connection to the daemon, which operates on the store (@pxref{The Store})."
-msgstr "Als @var{Paket} muss ein gültiges @code{<package>}-Objekt angegeben werden und das @var{System} muss eine Zeichenkette sein, die das Zielsystem angibt — z.B. @code{\"x86_64-linux\"} für ein auf x86_64 laufendes Linux-basiertes GNU-System. @var{Store} muss eine Verbindung zum Daemon sein, der die Operationen auf dem Store durchführt (@pxref{The Store})."
+msgstr "Als @var{Paket} muss ein gültiges @code{<package>}-Objekt angegeben werden und das @var{System} muss eine Zeichenkette sein, die das Zielsystem angibt — z.B. @code{\"x86_64-linux\"} für ein auf x86_64 laufendes Linux-basiertes GNU-System. @var{Store} muss eine Verbindung zum Daemon sein, der die Operationen auf dem Store durchführt (siehe @ref{The Store})."
 
 #. type: Plain text
 #: doc/guix.texi:3907
@@ -8165,7 +8159,7 @@ msgstr "@var{Paket} @var{Ziel} [@var{System}] Liefert das @code{<derivation>}-Ob
 #. type: deffn
 #: doc/guix.texi:3917
 msgid "@var{target} must be a valid GNU triplet denoting the target hardware and operating system, such as @code{\"mips64el-linux-gnu\"} (@pxref{Configuration Names, GNU configuration triplets,, configure, GNU Configure and Build System})."
-msgstr "Als @var{Ziel} muss ein gültiges GNU-Tripel angegeben werden, was die Ziel-Hardware und das zugehörige Betriebssystem beschreibt, wie z.B. @code{\"mips64el-linux-gnu\"} (@pxref{Configuration Names, GNU configuration triplets,, configure, GNU Configure and Build System})."
+msgstr "Als @var{Ziel} muss ein gültiges GNU-Tripel angegeben werden, was die Ziel-Hardware und das zugehörige Betriebssystem beschreibt, wie z.B. @code{\"mips64el-linux-gnu\"} (siehe @ref{Configuration Names, GNU configuration triplets,, configure, GNU Configure and Build System})."
 
 #. type: cindex
 #: doc/guix.texi:3919
@@ -8240,7 +8234,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3957
 msgid "Here we first define a rewriting procedure that replaces @var{openssl} with @var{libressl}.  Then we use it to define a @dfn{variant} of the @var{git} package that uses @var{libressl} instead of @var{openssl}.  This is exactly what the @option{--with-input} command-line option does (@pxref{Package Transformation Options, @option{--with-input}})."
-msgstr "Hier definieren wir zuerst eine Umschreibeprozedur, die @var{openssl} durch @var{libressl} ersetzt. Dann definieren wir damit eine @dfn{Variante} des @var{git}-Pakets, die @var{libressl} statt @var{openssl} benutzt. Das ist genau, was auch die Befehlszeilenoption @option{--with-input} tut (@pxref{Package Transformation Options, @option{--with-input}})."
+msgstr "Hier definieren wir zuerst eine Umschreibeprozedur, die @var{openssl} durch @var{libressl} ersetzt. Dann definieren wir damit eine @dfn{Variante} des @var{git}-Pakets, die @var{libressl} statt @var{openssl} benutzt. Das ist genau, was auch die Befehlszeilenoption @option{--with-input} tut (siehe @ref{Package Transformation Options, @option{--with-input}})."
 
 #. type: Plain text
 #: doc/guix.texi:3961
@@ -8267,7 +8261,7 @@ msgstr "@code{package}-Referenz"
 #. type: Plain text
 #: doc/guix.texi:3979
 msgid "This section summarizes all the options available in @code{package} declarations (@pxref{Defining Packages})."
-msgstr "Dieser Abschnitt fasst alle in @code{package}-Deklarationen zur Verfügung stehenden Optionen zusammen (@pxref{Defining Packages})."
+msgstr "Dieser Abschnitt fasst alle in @code{package}-Deklarationen zur Verfügung stehenden Optionen zusammen (siehe @ref{Defining Packages})."
 
 #. type: deftp
 #: doc/guix.texi:3980
@@ -8306,7 +8300,7 @@ msgstr "source"
 #. type: table
 #: doc/guix.texi:3997
 msgid "An object telling how the source code for the package should be acquired.  Most of the time, this is an @code{origin} object, which denotes a file fetched from the Internet (@pxref{origin Reference}).  It can also be any other ``file-like'' object such as a @code{local-file}, which denotes a file from the local file system (@pxref{G-Expressions, @code{local-file}})."
-msgstr "Ein Objekt, das beschreibt, wie der Quellcode des Pakets bezogen werden soll. Meistens ist es ein @code{origin}-Objekt, welches für eine aus dem Internet heruntergeladene Datei steht (@pxref{origin Reference}). Es kann aber auch ein beliebiges anderes »dateiähnliches« Objekt sein, wie z.B. ein @code{local-file}, was eine Datei im lokalen Dateisystem bezeichnet (@pxref{G-Expressions, @code{local-file}})."
+msgstr "Ein Objekt, das beschreibt, wie der Quellcode des Pakets bezogen werden soll. Meistens ist es ein @code{origin}-Objekt, welches für eine aus dem Internet heruntergeladene Datei steht (siehe @ref{origin Reference}). Es kann aber auch ein beliebiges anderes »dateiähnliches« Objekt sein, wie z.B. ein @code{local-file}, was eine Datei im lokalen Dateisystem bezeichnet (siehe @ref{G-Expressions, @code{local-file}})."
 
 #. type: code{#1}
 #: doc/guix.texi:3998
@@ -8317,7 +8311,7 @@ msgstr "build-system"
 #. type: table
 #: doc/guix.texi:4001
 msgid "The build system that should be used to build the package (@pxref{Build Systems})."
-msgstr "Das Erstellungssystem, mit dem das Paket erstellt werden soll (@pxref{Build Systems})."
+msgstr "Das Erstellungssystem, mit dem das Paket erstellt werden soll (siehe @ref{Build Systems})."
 
 #. type: item
 #: doc/guix.texi:4002 doc/guix.texi:12176
@@ -8357,7 +8351,7 @@ msgstr "Eingaben, von Paketen"
 #. type: table
 #: doc/guix.texi:4017
 msgid "These fields list dependencies of the package.  Each one is a list of tuples, where each tuple has a label for the input (a string) as its first element, a package, origin, or derivation as its second element, and optionally the name of the output thereof that should be used, which defaults to @code{\"out\"} (@pxref{Packages with Multiple Outputs}, for more on package outputs).  For example, the list below specifies three inputs:"
-msgstr "In diesen Feldern werden die Abhängigkeiten des Pakets aufgeführt. Jedes dieser Felder enthält eine Liste von Tupeln, wobei jedes Tupel eine Bezeichnung für die Eingabe (als Zeichenkette) als erstes Element, dann ein »package«-, »origin«- oder »derivation«-Objekt (Paket, Ursprung oder Ableitung) als zweites Element und optional die Benennung der davon zu benutzenden Ausgabe umfasst; letztere hat als Vorgabewert @code{\"out\"} (siehe @pxref{Packages with Multiple Outputs} für mehr Informationen zu Paketausgaben). Im folgenden Beispiel etwa werden drei Eingaben festgelegt:"
+msgstr "In diesen Feldern werden die Abhängigkeiten des Pakets aufgeführt. Jedes dieser Felder enthält eine Liste von Tupeln, wobei jedes Tupel eine Bezeichnung für die Eingabe (als Zeichenkette) als erstes Element, dann ein »package«-, »origin«- oder »derivation«-Objekt (Paket, Ursprung oder Ableitung) als zweites Element und optional die Benennung der davon zu benutzenden Ausgabe umfasst; letztere hat als Vorgabewert @code{\"out\"} (siehe @ref{Packages with Multiple Outputs} für mehr Informationen zu Paketausgaben). Im folgenden Beispiel etwa werden drei Eingaben festgelegt:"
 
 #. type: example
 #: doc/guix.texi:4022
@@ -8385,7 +8379,7 @@ msgstr "Die Unterscheidung zwischen @code{native-inputs} und @code{inputs} ist w
 #. type: table
 #: doc/guix.texi:4035
 msgid "@code{native-inputs} is typically used to list tools needed at build time, but not at run time, such as Autoconf, Automake, pkg-config, Gettext, or Bison.  @command{guix lint} can report likely mistakes in this area (@pxref{Invoking guix lint})."
-msgstr "@code{native-inputs} listet typischerweise die Werkzeuge auf, die während der Erstellung gebraucht werden, aber nicht zur Laufzeit des Programms gebraucht werden. Beispiele sind Autoconf, Automake, pkg-config, Gettext oder Bison. @command{guix lint} kann melden, ob wahrscheinlich Fehler in der Auflistung sind (@pxref{Invoking guix lint})."
+msgstr "@code{native-inputs} listet typischerweise die Werkzeuge auf, die während der Erstellung gebraucht werden, aber nicht zur Laufzeit des Programms gebraucht werden. Beispiele sind Autoconf, Automake, pkg-config, Gettext oder Bison. @command{guix lint} kann melden, ob wahrscheinlich Fehler in der Auflistung sind (siehe @ref{Invoking guix lint})."
 
 #. type: anchor{#1}
 #: doc/guix.texi:4042
@@ -8395,7 +8389,7 @@ msgstr "package-propagated-inputs"
 #. type: table
 #: doc/guix.texi:4042
 msgid "Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the specified packages will be automatically installed alongside the package they belong to (@pxref{package-cmd-propagated-inputs, @command{guix package}}, for information on how @command{guix package} deals with propagated inputs.)"
-msgstr "Schließlich ist @code{propagated-inputs} ähnlich wie @code{inputs}, aber die angegebenen Pakete werden automatisch mit ins Profil installiert, wenn das Paket installiert wird, zu dem sie gehören (siehe @pxref{package-cmd-propagated-inputs, @command{guix package}}, für Informationen darüber, wie @command{guix package} mit propagierten Eingaben umgeht)."
+msgstr "Schließlich ist @code{propagated-inputs} ähnlich wie @code{inputs}, aber die angegebenen Pakete werden automatisch mit ins Profil installiert, wenn das Paket installiert wird, zu dem sie gehören (siehe @ref{package-cmd-propagated-inputs, @command{guix package}} für Informationen darüber, wie @command{guix package} mit propagierten Eingaben umgeht)."
 
 #. type: table
 #: doc/guix.texi:4046
@@ -8427,7 +8421,7 @@ msgstr "@code{outputs} (Vorgabe: @code{'(\"out\")})"
 #. type: table
 #: doc/guix.texi:4061
 msgid "The list of output names of the package.  @xref{Packages with Multiple Outputs}, for typical uses of additional outputs."
-msgstr "Die Liste der Benennungen der Ausgaben des Pakets. Der Abschnitt @xref{Packages with Multiple Outputs} beschreibt übliche Nutzungen zusätzlicher Ausgaben."
+msgstr "Die Liste der Benennungen der Ausgaben des Pakets. Der Abschnitt @ref{Packages with Multiple Outputs} beschreibt übliche Nutzungen zusätzlicher Ausgaben."
 
 #. type: item
 #: doc/guix.texi:4062
@@ -8455,7 +8449,7 @@ msgstr "@code{replacement} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:4071
 msgid "This must be either @code{#f} or a package object that will be used as a @dfn{replacement} for this package.  @xref{Security Updates, grafts}, for details."
-msgstr "Dies muss entweder @code{#f} oder ein package-Objekt sein, das als Ersatz (@dfn{replacement}) dieses Pakets benutzt werden soll. Im Abschnitt @xref{Security Updates, grafts}, wird dies erklärt."
+msgstr "Dies muss entweder @code{#f} oder ein package-Objekt sein, das als Ersatz (@dfn{replacement}) dieses Pakets benutzt werden soll. Im Abschnitt @ref{Security Updates, grafts} wird dies erklärt."
 
 #. type: item
 #: doc/guix.texi:4072 doc/guix.texi:7581
@@ -8549,7 +8543,7 @@ msgstr "@code{origin}-Referenz"
 #. type: Plain text
 #: doc/guix.texi:4106
 msgid "This section summarizes all the options available in @code{origin} declarations (@pxref{Defining Packages})."
-msgstr "Dieser Abschnitt fasst alle Optionen zusammen, die in @code{origin}-Deklarationen zur Verfügung stehen (@pxref{Defining Packages})."
+msgstr "Dieser Abschnitt fasst alle Optionen zusammen, die in @code{origin}-Deklarationen zur Verfügung stehen (siehe @ref{Defining Packages})."
 
 #. type: deftp
 #: doc/guix.texi:4107
@@ -8587,7 +8581,7 @@ msgstr "Eine Prozedur, die die URI verwertet."
 #. type: table
 #: doc/guix.texi:4121
 msgid "Examples include:"
-msgstr "Beispiele sind unter Anderem:"
+msgstr "Beispiele sind unter anderem:"
 
 #. type: item
 #: doc/guix.texi:4123
@@ -8643,7 +8637,7 @@ msgstr "Ein Bytevektor, der den SHA-256-Hash der Quelldateien enthält. Typische
 #. type: table
 #: doc/guix.texi:4148
 msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})."
-msgstr "Diese Informationen liefert Ihnen der Befehl @code{guix download} (@pxref{Invoking guix download}) oder @code{guix hash} (@pxref{Invoking guix hash})."
+msgstr "Diese Informationen liefert Ihnen der Befehl @code{guix download} (siehe @ref{Invoking guix download}) oder @code{guix hash} (siehe @ref{Invoking guix hash})."
 
 #. type: item
 #: doc/guix.texi:4149
@@ -8665,7 +8659,7 @@ msgstr "@code{patches} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:4159
 msgid "A list of file names, origins, or file-like objects (@pxref{G-Expressions, file-like objects}) pointing to patches to be applied to the source."
-msgstr "Eine Liste von Dateinamen, Ursprüngen oder dateiähnlichen Objekten (@pxref{G-Expressions, file-like objects}) mit Patches, welche auf den Quellcode anzuwenden sind."
+msgstr "Eine Liste von Dateinamen, Ursprüngen oder dateiähnlichen Objekten (siehe @ref{G-Expressions, file-like objects}) mit Patches, welche auf den Quellcode anzuwenden sind."
 
 #. type: table
 #: doc/guix.texi:4163
@@ -8681,7 +8675,7 @@ msgstr "@code{snippet} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:4168
 msgid "A G-expression (@pxref{G-Expressions}) or S-expression that will be run in the source directory.  This is a convenient way to modify the source, sometimes more convenient than a patch."
-msgstr "Ein im Quellcode-Verzeichnis auszuführender G-Ausdruck (@pxref{G-Expressions}) oder S-Ausdruck. Hiermit kann der Quellcode bequem modifiziert werden, manchmal ist dies bequemer als mit einem Patch."
+msgstr "Ein im Quellcode-Verzeichnis auszuführender G-Ausdruck (siehe @ref{G-Expressions}) oder S-Ausdruck. Hiermit kann der Quellcode bequem modifiziert werden, manchmal ist dies bequemer als mit einem Patch."
 
 #. type: item
 #: doc/guix.texi:4169
@@ -8736,7 +8730,7 @@ msgstr "Erstellungssystem"
 #. type: Plain text
 #: doc/guix.texi:4197
 msgid "Each package definition specifies a @dfn{build system} and arguments for that build system (@pxref{Defining Packages}).  This @code{build-system} field represents the build procedure of the package, as well as implicit dependencies of that build procedure."
-msgstr "Jede Paketdefinition legt ein @dfn{Erstellungssystem} (»build system«) sowie dessen Argumente fest (@pxref{Defining Packages}). Das @code{build-system}-Feld steht für die Erstellungsprozedur des Pakets sowie für weitere implizite Eingaben für die Erstellungsprozedur."
+msgstr "Jede Paketdefinition legt ein @dfn{Erstellungssystem} (»build system«) sowie dessen Argumente fest (siehe @ref{Defining Packages}). Das @code{build-system}-Feld steht für die Erstellungsprozedur des Pakets sowie für weitere implizite Eingaben für die Erstellungsprozedur."
 
 #. type: Plain text
 #: doc/guix.texi:4201
@@ -8752,12 +8746,12 @@ msgstr "Bag (systemnahe Paketrepräsentation)"
 #. type: Plain text
 #: doc/guix.texi:4209
 msgid "Under the hood, build systems first compile package objects to @dfn{bags}.  A @dfn{bag} is like a package, but with less ornamentation---in other words, a bag is a lower-level representation of a package, which includes all the inputs of that package, including some that were implicitly added by the build system.  This intermediate representation is then compiled to a derivation (@pxref{Derivations})."
-msgstr "Intern funktionieren Erstellungssysteme, indem erst Paketobjekte zu @dfn{Bags} kompiliert werden. Eine Bag (deutsch: Beutel, Sack) ist wie ein Paket, aber mit weniger Zierrat — anders gesagt ist eine Bag eine systemnähere Darstellung eines Pakets, die sämtliche Eingaben des Pakets einschließlich vom Erstellungssystem hinzugefügter Eingaben enthält. Diese Zwischendarstellung wird dann zur eigentlichen Ableitung kompiliert (@pxref{Derivations})."
+msgstr "Intern funktionieren Erstellungssysteme, indem erst Paketobjekte zu @dfn{Bags} kompiliert werden. Eine Bag (deutsch: Beutel, Sack) ist wie ein Paket, aber mit weniger Zierrat — anders gesagt ist eine Bag eine systemnähere Darstellung eines Pakets, die sämtliche Eingaben des Pakets einschließlich vom Erstellungssystem hinzugefügter Eingaben enthält. Diese Zwischendarstellung wird dann zur eigentlichen Ableitung kompiliert (siehe @ref{Derivations})."
 
 #. type: Plain text
 #: doc/guix.texi:4217
 msgid "Build systems accept an optional list of @dfn{arguments}.  In package definitions, these are passed @i{via} the @code{arguments} field (@pxref{Defining Packages}).  They are typically keyword arguments (@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile Reference Manual}).  The value of these arguments is usually evaluated in the @dfn{build stratum}---i.e., by a Guile process launched by the daemon (@pxref{Derivations})."
-msgstr "Erstellungssysteme akzeptieren optional eine Liste von @dfn{Argumenten}. In Paketdefinitionen werden diese über das @code{arguments}-Feld übergeben (@pxref{Defining Packages}). Sie sind in der Regel Schlüsselwort-Argumente (@pxref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile Reference Manual}). Der Wert dieser Argumente wird normalerweise vom Erstellungssystem in der @dfn{Erstellungsschicht} ausgewertet, d.h. von einem durch den Daemon gestarteten Guile-Prozess (@pxref{Derivations})."
+msgstr "Erstellungssysteme akzeptieren optional eine Liste von @dfn{Argumenten}. In Paketdefinitionen werden diese über das @code{arguments}-Feld übergeben (siehe @ref{Defining Packages}). Sie sind in der Regel Schlüsselwort-Argumente (siehe @ref{Optional Arguments, keyword arguments in Guile,, guile, GNU Guile Reference Manual}). Der Wert dieser Argumente wird normalerweise vom Erstellungssystem in der @dfn{Erstellungsschicht} ausgewertet, d.h. von einem durch den Daemon gestarteten Guile-Prozess (siehe @ref{Derivations})."
 
 #. type: Plain text
 #: doc/guix.texi:4221
@@ -8773,7 +8767,7 @@ msgstr "{Scheme-Variable} gnu-build-system"
 #. type: defvr
 #: doc/guix.texi:4226
 msgid "@var{gnu-build-system} represents the GNU Build System, and variants thereof (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards})."
-msgstr "@var{gnu-build-system} steht für das GNU-Erstellungssystem und Varianten desselben (@pxref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards})."
+msgstr "@var{gnu-build-system} steht für das GNU-Erstellungssystem und Varianten desselben (siehe @ref{Configuration, configuration and makefile conventions,, standards, GNU Coding Standards})."
 
 #. type: cindex
 #: doc/guix.texi:4227
@@ -8873,7 +8867,7 @@ msgstr "strip"
 #. type: table
 #: doc/guix.texi:4272
 msgid "Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} is false), copying them to the @code{debug} output when available (@pxref{Installing Debugging Files})."
-msgstr "Symbole zur Fehlerbehebung aus ELF-Dateien entfernen (außer @code{#:strip-binaries?} ist auf falsch gesetzt) und in die @code{debug}-Ausgabe kopieren, falls diese verfügbar ist (@pxref{Installing Debugging Files})."
+msgstr "Symbole zur Fehlerbehebung aus ELF-Dateien entfernen (außer @code{#:strip-binaries?} ist auf falsch gesetzt) und in die @code{debug}-Ausgabe kopieren, falls diese verfügbar ist (siehe @ref{Installing Debugging Files})."
 
 #. type: vindex
 #: doc/guix.texi:4274
@@ -9235,7 +9229,7 @@ msgstr "{Scheme-Variable} guile-build-system"
 #. type: defvr
 #: doc/guix.texi:4557
 msgid "This build system is for Guile packages that consist exclusively of Scheme code and that are so lean that they don't even have a makefile, let alone a @file{configure} script.  It compiles Scheme code using @command{guild compile} (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) and installs the @file{.scm} and @file{.go} files in the right place.  It also installs documentation."
-msgstr "Dieses Erstellungssystem ist für Guile-Pakete gedacht, die nur aus Scheme-Code bestehen und so schlicht sind, dass sie nicht einmal ein Makefile und erst recht keinen @file{configure}-Skript enthalten. Hierzu wird Scheme-Code mit @command{guild compile} kompiliert (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) und die @file{.scm}- und @file{.go}-Dateien an den richtigen Pfad installiert. Auch Dokumentation wird installiert."
+msgstr "Dieses Erstellungssystem ist für Guile-Pakete gedacht, die nur aus Scheme-Code bestehen und so schlicht sind, dass sie nicht einmal ein Makefile und erst recht keinen @file{configure}-Skript enthalten. Hierzu wird Scheme-Code mit @command{guild compile} kompiliert (siehe @ref{Compilation,,, guile, GNU Guile Reference Manual}) und die @file{.scm}- und @file{.go}-Dateien an den richtigen Pfad installiert. Auch Dokumentation wird installiert."
 
 #. type: defvr
 #: doc/guix.texi:4560
@@ -9477,7 +9471,7 @@ msgstr "{Scheme-Variable} emacs-build-system"
 #. type: defvr
 #: doc/guix.texi:4770
 msgid "This variable is exported by @code{(guix build-system emacs)}.  It implements an installation procedure similar to the packaging system of Emacs itself (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
-msgstr "Diese Variable wird vom Modul @code{(guix build-system emacs)} exportiert. Darin wird eine Installationsprozedur ähnlich der des Paketsystems von Emacs selbst implementiert (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
+msgstr "Diese Variable wird vom Modul @code{(guix build-system emacs)} exportiert. Darin wird eine Installationsprozedur ähnlich der des Paketsystems von Emacs selbst implementiert (siehe @ref{Packages,,, emacs, The GNU Emacs Manual})."
 
 #. type: defvr
 #: doc/guix.texi:4777
@@ -9576,7 +9570,7 @@ msgstr "Diese Variable wird vom Modul @code{(guix build-system trivial)} exporti
 #. type: defvr
 #: doc/guix.texi:4854
 msgid "This build system requires a @code{#:builder} argument.  This argument must be a Scheme expression that builds the package output(s)---as with @code{build-expression->derivation} (@pxref{Derivations, @code{build-expression->derivation}})."
-msgstr "Diesem Erstellungssystem muss im Argument @code{#:builder} ein Scheme-Ausdruck übergeben werden, der die Paketausgabe(n) erstellt — wie bei @code{build-expression->derivation} (@pxref{Derivations, @code{build-expression->derivation}})."
+msgstr "Diesem Erstellungssystem muss im Argument @code{#:builder} ein Scheme-Ausdruck übergeben werden, der die Paketausgabe(n) erstellt — wie bei @code{build-expression->derivation} (siehe @ref{Derivations, @code{build-expression->derivation}})."
 
 #. type: cindex
 #: doc/guix.texi:4860
@@ -9598,17 +9592,17 @@ msgstr "Konzeptionell ist der @dfn{Store} der Ort, wo Ableitungen nach erfolgrei
 #. type: Plain text
 #: doc/guix.texi:4877
 msgid "The store is @emph{always} accessed by the daemon on behalf of its clients (@pxref{Invoking guix-daemon}).  To manipulate the store, clients connect to the daemon over a Unix-domain socket, send requests to it, and read the result---these are remote procedure calls, or RPCs."
-msgstr "Auf den Store wird @emph{nur} durch den Daemon im Auftrag seiner Clients zugegriffen (@pxref{Invoking guix-daemon}). Um den Store zu verändern, verbinden sich Clients über einen Unix-Socket mit dem Daemon, senden ihm entsprechende Anfragen und lesen dann dessen Antwort — so etwas nennt sich entfernter Prozeduraufruf (englisch »Remote Procedure Call« oder kurz RPC)."
+msgstr "Auf den Store wird @emph{nur} durch den Daemon im Auftrag seiner Clients zugegriffen (siehe @ref{Invoking guix-daemon}). Um den Store zu verändern, verbinden sich Clients über einen Unix-Socket mit dem Daemon, senden ihm entsprechende Anfragen und lesen dann dessen Antwort — so etwas nennt sich entfernter Prozeduraufruf (englisch »Remote Procedure Call« oder kurz RPC)."
 
 #. type: quotation
 #: doc/guix.texi:4882
 msgid "Users must @emph{never} modify files under @file{/gnu/store} directly.  This would lead to inconsistencies and break the immutability assumptions of Guix's functional model (@pxref{Introduction})."
-msgstr "Benutzer dürfen @emph{niemals} Dateien in @file{/gnu/store} direkt verändern, sonst wären diese nicht mehr konsistent und die Grundannahmen im funktionalen Modell von Guix, dass die Objekte unveränderlich sind, wären dahin (@pxref{Introduction})."
+msgstr "Benutzer dürfen @emph{niemals} Dateien in @file{/gnu/store} direkt verändern, sonst wären diese nicht mehr konsistent und die Grundannahmen im funktionalen Modell von Guix, dass die Objekte unveränderlich sind, wären dahin (siehe @ref{Introduction})."
 
 #. type: quotation
 #: doc/guix.texi:4886
 msgid "@xref{Invoking guix gc, @command{guix gc --verify}}, for information on how to check the integrity of the store and attempt recovery from accidental modifications."
-msgstr "Siehe @xref{Invoking guix gc, @command{guix gc --verify}}, für Informationen, wie die Integrität des Stores überprüft und nach versehentlichen Veränderungen unter Umständen wiederhergestellt werden kann."
+msgstr "Siehe @ref{Invoking guix gc, @command{guix gc --verify}} für Informationen, wie die Integrität des Stores überprüft und nach versehentlichen Veränderungen unter Umständen wiederhergestellt werden kann."
 
 #. type: Plain text
 #: doc/guix.texi:4893
@@ -9668,7 +9662,7 @@ msgstr "Diese Konfiguration ist für lokale Netzwerke wie etwa in Rechen-Cluster
 #. type: table
 #: doc/guix.texi:4927
 msgid "The @code{--listen} option of @command{guix-daemon} can be used to instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, @code{--listen}})."
-msgstr "Die Befehlszeilenoption @code{--listen} von @command{guix-daemon} kann benutzt werden, damit er auf TCP-Verbindungen lauscht (@pxref{Invoking guix-daemon, @code{--listen}})."
+msgstr "Die Befehlszeilenoption @code{--listen} von @command{guix-daemon} kann benutzt werden, damit er auf TCP-Verbindungen lauscht (siehe @ref{Invoking guix-daemon, @code{--listen}})."
 
 #. type: item
 #: doc/guix.texi:4928
@@ -9685,7 +9679,7 @@ msgstr "SSH-Zugriff auf Erstellungs-Daemons"
 #. type: table
 #: doc/guix.texi:4933
 msgid "These URIs allow you to connect to a remote daemon over SSH@footnote{This feature requires Guile-SSH (@pxref{Requirements}).}.  A typical URL might look like this:"
-msgstr "Mit solchen URIs kann eine Verbindung zu einem entfernten Daemon über SSH hergestellt werden@footnote{Diese Funktionalitäts setzt Guile-SSH voraus (@pxref{Requirements}).}. Eine typische URL sieht so aus:"
+msgstr "Mit solchen URIs kann eine Verbindung zu einem entfernten Daemon über SSH hergestellt werden@footnote{Diese Funktionalitäts setzt Guile-SSH voraus (siehe @ref{Requirements}).}. Eine typische URL sieht so aus:"
 
 #. type: example
 #: doc/guix.texi:4936
@@ -9696,7 +9690,7 @@ msgstr "ssh://charlie@@guix.example.org:22\n"
 #. type: table
 #: doc/guix.texi:4940
 msgid "As for @command{guix copy}, the usual OpenSSH client configuration files are honored (@pxref{Invoking guix copy})."
-msgstr "Was @command{guix copy} betrifft, richtet es sich nach den üblichen OpenSSH-Client-Konfigurationsdateien (@pxref{Invoking guix copy})."
+msgstr "Was @command{guix copy} betrifft, richtet es sich nach den üblichen OpenSSH-Client-Konfigurationsdateien (siehe @ref{Invoking guix copy})."
 
 #. type: defvr
 #: doc/guix.texi:4943
@@ -9706,7 +9700,7 @@ msgstr "In Zukunft könnten weitere URI-Schemata unterstützt werden."
 #. type: quotation
 #: doc/guix.texi:4950
 msgid "The ability to connect to remote build daemons is considered experimental as of @value{VERSION}.  Please get in touch with us to share any problems or suggestions you may have (@pxref{Contributing})."
-msgstr "Die Fähigkeit, sich mit entfernten Erstellungs-Daemons zu verbinden, sehen wir als experimentell an, Stand @value{VERSION}. Bitte diskutieren Sie mit uns jegliche Probleme oder Vorschläge, die Sie haben könnten (@pxref{Contributing})."
+msgstr "Die Fähigkeit, sich mit entfernten Erstellungs-Daemons zu verbinden, sehen wir als experimentell an, Stand @value{VERSION}. Bitte diskutieren Sie mit uns jegliche Probleme oder Vorschläge, die Sie haben könnten (siehe @ref{Contributing})."
 
 #. type: deffn
 #: doc/guix.texi:4953
@@ -9798,7 +9792,7 @@ msgstr "Die @var{Ableitungen} erstellen (eine Liste von @code{<derivation>}-Obje
 #. type: Plain text
 #: doc/guix.texi:5002
 msgid "Note that the @code{(guix monads)} module provides a monad as well as monadic versions of the above procedures, with the goal of making it more convenient to work with code that accesses the store (@pxref{The Store Monad})."
-msgstr "Es sei erwähnt, dass im Modul @code{(guix monads)} eine Monade sowie monadische Versionen obiger Prozeduren angeboten werden, damit an Code, der auf den Store zugreift, bequemer gearbeitet werden kann (@pxref{The Store Monad})."
+msgstr "Es sei erwähnt, dass im Modul @code{(guix monads)} eine Monade sowie monadische Versionen obiger Prozeduren angeboten werden, damit an Code, der auf den Store zugreift, bequemer gearbeitet werden kann (siehe @ref{The Store Monad})."
 
 #. type: i{#1}
 #: doc/guix.texi:5005
@@ -9850,7 +9844,7 @@ msgstr "Ableitungspfad"
 #. type: Plain text
 #: doc/guix.texi:5043
 msgid "Derivations allow clients of the daemon to communicate build actions to the store.  They exist in two forms: as an in-memory representation, both on the client- and daemon-side, and as files in the store whose name end in @code{.drv}---these files are referred to as @dfn{derivation paths}.  Derivations paths can be passed to the @code{build-derivations} procedure to perform the build actions they prescribe (@pxref{The Store})."
-msgstr "Ableitungen ermöglichen es den Clients des Daemons, diesem Erstellungsaktionen für den Store mitzuteilen. Es gibt davon zwei Arten, sowohl Darstellungen im Arbeitsspeicher jeweils für Client und Daemon, als auch Dateien im Store, deren Namen auf @code{.drv} enden — diese Dateien werden als @dfn{Ableitungspfade} bezeichnet. Ableitungspfade können an die Prozedur @code{build-derivations} übergeben werden, damit die darin niedergeschriebenen Erstellungsaktionen durchgeführt werden (@pxref{The Store})."
+msgstr "Ableitungen ermöglichen es den Clients des Daemons, diesem Erstellungsaktionen für den Store mitzuteilen. Es gibt davon zwei Arten, sowohl Darstellungen im Arbeitsspeicher jeweils für Client und Daemon, als auch Dateien im Store, deren Namen auf @code{.drv} enden — diese Dateien werden als @dfn{Ableitungspfade} bezeichnet. Ableitungspfade können an die Prozedur @code{build-derivations} übergeben werden, damit die darin niedergeschriebenen Erstellungsaktionen durchgeführt werden (siehe @ref{The Store})."
 
 #. type: cindex
 #: doc/guix.texi:5044
@@ -9902,12 +9896,12 @@ msgstr "Ist @var{leaked-env-vars} wahr, muss es eine Liste von Zeichenketten sei
 #. type: deffn
 #: doc/guix.texi:5095
 msgid "When @var{local-build?} is true, declare that the derivation is not a good candidate for offloading and should rather be built locally (@pxref{Daemon Offload Setup}).  This is the case for small derivations where the costs of data transfers would outweigh the benefits."
-msgstr "Ist @var{local-build?} wahr, wird die Ableitung als schlechter Kandidat für das Auslagern deklariert, der besser lokal erstellt werden sollte (@pxref{Daemon Offload Setup}). Dies betrifft kleine Ableitungen, wo das Übertragen der Daten aufwendiger als ihre Erstellung ist."
+msgstr "Ist @var{local-build?} wahr, wird die Ableitung als schlechter Kandidat für das Auslagern deklariert, der besser lokal erstellt werden sollte (siehe @ref{Daemon Offload Setup}). Dies betrifft kleine Ableitungen, wo das Übertragen der Daten aufwendiger als ihre Erstellung ist."
 
 #. type: deffn
 #: doc/guix.texi:5100
 msgid "When @var{substitutable?} is false, declare that substitutes of the derivation's output should not be used (@pxref{Substitutes}).  This is useful, for instance, when building packages that capture details of the host CPU instruction set."
-msgstr "Ist @var{substitutable?} falsch, wird deklariert, dass für die Ausgabe der Ableitung keine Substitute benutzt werden sollen (@pxref{Substitutes}). Das ist nützlich, wenn Pakete erstellt werden, die Details über den Prozessorbefehlssatz des Wirtssystems auslesen."
+msgstr "Ist @var{substitutable?} falsch, wird deklariert, dass für die Ausgabe der Ableitung keine Substitute benutzt werden sollen (siehe @ref{Substitutes}). Das ist nützlich, wenn Pakete erstellt werden, die Details über den Prozessorbefehlssatz des Wirtssystems auslesen."
 
 #. type: deffn
 #: doc/guix.texi:5103
@@ -9958,7 +9952,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:5130
 msgid "As can be guessed, this primitive is cumbersome to use directly.  A better approach is to write build scripts in Scheme, of course! The best course of action for that is to write the build code as a ``G-expression'', and to pass it to @code{gexp->derivation}.  For more information, @pxref{G-Expressions}."
-msgstr "Wie man sehen kann, ist es umständlich, diese grundlegende Methode direkt zu benutzen. Natürlich ist es besser, Erstellungsskripts in Scheme zu schreiben! Am besten schreibt man den Erstellungscode als »G-Ausdruck« und übergibt ihn an @code{gexp->derivation}. Mehr Informationen finden Sie im Abschnitt @pxref{G-Expressions}."
+msgstr "Wie man sehen kann, ist es umständlich, diese grundlegende Methode direkt zu benutzen. Natürlich ist es besser, Erstellungsskripts in Scheme zu schreiben! Am besten schreibt man den Erstellungscode als »G-Ausdruck« und übergibt ihn an @code{gexp->derivation}. Mehr Informationen finden Sie im Abschnitt @ref{G-Expressions}."
 
 #. type: Plain text
 #: doc/guix.texi:5135
@@ -10113,7 +10107,7 @@ msgstr "An der zweiten Version lassen sich mehrere Dinge beobachten: Der Paramet
 #. type: Plain text
 #: doc/guix.texi:5248
 msgid "As it turns out, the call to @code{package->derivation} can even be omitted since it will take place implicitly, as we will see later (@pxref{G-Expressions}):"
-msgstr "Wie sich herausstellt, muss man den Aufruf von @code{package->derivation} nicht einmal aufschreiben, weil er implizit geschieht, wie wir später sehen werden (siehe @pxref{G-Expressions}):"
+msgstr "Wie sich herausstellt, muss man den Aufruf von @code{package->derivation} nicht einmal aufschreiben, weil er implizit geschieht, wie wir später sehen werden (siehe @ref{G-Expressions}):"
 
 #. type: example
 #: doc/guix.texi:5254
@@ -10282,7 +10276,7 @@ msgstr "@var{Rumpf} ...  Die @var{Variable}n an die monadischen Werte @var{mWert
 #. type: deffn
 #: doc/guix.texi:5346
 msgid "@code{mlet*} is to @code{mlet} what @code{let*} is to @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."
-msgstr "@code{mlet*} verhält sich gegenüber @code{mlet} wie @code{let*} gegenüber @code{let} (@pxref{Local Bindings,,, guile, GNU Guile Reference Manual})."
+msgstr "@code{mlet*} verhält sich gegenüber @code{mlet} wie @code{let*} gegenüber @code{let} (siehe @ref{Local Bindings,,, guile, GNU Guile Reference Manual})."
 
 #. type: deffn
 #: doc/guix.texi:5348
@@ -10572,7 +10566,7 @@ msgstr "{Monadische Prozedur} package->cross-derivation @var{Paket} @"
 #. type: deffn
 #: doc/guix.texi:5499
 msgid "@var{target} [@var{system}] Monadic version of @code{package-derivation} and @code{package-cross-derivation} (@pxref{Defining Packages})."
-msgstr "@var{Ziel} [@var{System}] Monadische Version von @code{package-derivation} und @code{package-cross-derivation} (@pxref{Defining Packages})."
+msgstr "@var{Ziel} [@var{System}] Monadische Version von @code{package-derivation} und @code{package-cross-derivation} (siehe @ref{Defining Packages})."
 
 #. type: cindex
 #: doc/guix.texi:5505
@@ -10589,7 +10583,7 @@ msgstr "Erstellungscode maskieren"
 #. type: Plain text
 #: doc/guix.texi:5512
 msgid "So we have ``derivations'', which represent a sequence of build actions to be performed to produce an item in the store (@pxref{Derivations}).  These build actions are performed when asking the daemon to actually build the derivations; they are run by the daemon in a container (@pxref{Invoking guix-daemon})."
-msgstr "Es gibt also »Ableitungen«, die eine Abfolge von Erstellungsaktionen repräsentieren, die durchgeführt werden müssen, um ein Objekt im Store zu erzeugen (@pxref{Derivations}). Diese Erstellungsaktionen werden durchgeführt, nachdem der Daemon gebeten wurde, die Ableitungen tatsächlich zu erstellen; dann führt der Daemon sie in einer isolierten Umgebung (einem sogenannten Container) aus (@pxref{Invoking guix-daemon})."
+msgstr "Es gibt also »Ableitungen«, die eine Abfolge von Erstellungsaktionen repräsentieren, die durchgeführt werden müssen, um ein Objekt im Store zu erzeugen (siehe @ref{Derivations}). Diese Erstellungsaktionen werden durchgeführt, nachdem der Daemon gebeten wurde, die Ableitungen tatsächlich zu erstellen; dann führt der Daemon sie in einer isolierten Umgebung (einem sogenannten Container) aus (siehe @ref{Invoking guix-daemon})."
 
 #. type: cindex
 #: doc/guix.texi:5513
@@ -10610,7 +10604,7 @@ msgstr "Um eine Ableitung und ihre Erstellungsaktionen zu beschreiben, muss man
 #. type: Plain text
 #: doc/guix.texi:5541
 msgid "The @code{(guix gexp)} module implements @dfn{G-expressions}, a form of S-expressions adapted to build expressions.  G-expressions, or @dfn{gexps}, consist essentially of three syntactic forms: @code{gexp}, @code{ungexp}, and @code{ungexp-splicing} (or simply: @code{#~}, @code{#$}, and @code{#$@@}), which are comparable to @code{quasiquote}, @code{unquote}, and @code{unquote-splicing}, respectively (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}).  However, there are major differences:"
-msgstr "Das Modul @code{(guix gexp)} implementiert @dfn{G-Ausdrücke}, eine Form von S-Ausdrücken, die zu Erstellungsausdrücken angepasst wurden. G-Ausdrücke (englisch »G-expressions«, kurz @dfn{Gexps}) setzen sich grundlegend aus drei syntaktischen Formen zusammen: @code{gexp}, @code{ungexp} und @code{ungexp-splicing} (alternativ einfach: @code{#~}, @code{#$} und @code{#$@@}), die jeweils mit @code{quasiquote}, @code{unquote} und @code{unquote-splicing} vergleichbar sind (@pxref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). Es gibt aber auch erhebliche Unterschiede:"
+msgstr "Das Modul @code{(guix gexp)} implementiert @dfn{G-Ausdrücke}, eine Form von S-Ausdrücken, die zu Erstellungsausdrücken angepasst wurden. G-Ausdrücke (englisch »G-expressions«, kurz @dfn{Gexps}) setzen sich grundlegend aus drei syntaktischen Formen zusammen: @code{gexp}, @code{ungexp} und @code{ungexp-splicing} (alternativ einfach: @code{#~}, @code{#$} und @code{#$@@}), die jeweils mit @code{quasiquote}, @code{unquote} und @code{unquote-splicing} vergleichbar sind (siehe @ref{Expression Syntax, @code{quasiquote},, guile, GNU Guile Reference Manual}). Es gibt aber auch erhebliche Unterschiede:"
 
 #. type: itemize
 #: doc/guix.texi:5546
@@ -10636,7 +10630,7 @@ msgstr "Herunterbrechen, von abstrakten Objekten in G-Ausdrücken"
 #. type: Plain text
 #: doc/guix.texi:5568
 msgid "This mechanism is not limited to package and derivation objects: @dfn{compilers} able to ``lower'' other high-level objects to derivations or files in the store can be defined, such that these objects can also be inserted into gexps.  For example, a useful type of high-level objects that can be inserted in a gexp is ``file-like objects'', which make it easy to add files to the store and to refer to them in derivations and such (see @code{local-file} and @code{plain-file} below.)"
-msgstr "Dieser Mechanismus ist nicht auf Pakete und Ableitung beschränkt: Es können @dfn{Compiler} definiert werden, die weitere abstrakte, hochsprachliche Objekte auf Ableitungen oder Dateien im Store »herunterbrechen«, womit diese Objekte dann auch in G-Ausdrücken eingefügt werden können. Zum Beispiel sind »dateiartige Objekte« ein nützlicher Typ solcher abstrakter Objekte. Mit ihnen können Dateien leicht in den Store eingefügt und von Ableitungen und Anderem referenziert werden (siehe unten @code{local-file} und @code{plain-file})."
+msgstr "Dieser Mechanismus ist nicht auf Pakete und Ableitung beschränkt: Es können @dfn{Compiler} definiert werden, die weitere abstrakte, hochsprachliche Objekte auf Ableitungen oder Dateien im Store »herunterbrechen«, womit diese Objekte dann auch in G-Ausdrücken eingefügt werden können. Zum Beispiel sind »dateiartige Objekte« ein nützlicher Typ solcher abstrakter Objekte. Mit ihnen können Dateien leicht in den Store eingefügt und von Ableitungen und anderem referenziert werden (siehe unten @code{local-file} und @code{plain-file})."
 
 #. type: Plain text
 #: doc/guix.texi:5570
@@ -10922,7 +10916,7 @@ msgstr "(ungexp @var{Objekt} @var{Ausgabe})"
 #. type: table
 #: doc/guix.texi:5709
 msgid "This is like the form above, but referring explicitly to the @var{output} of @var{obj}---this is useful when @var{obj} produces multiple outputs (@pxref{Packages with Multiple Outputs})."
-msgstr "Dies verhält sich wie die Form oben, bezieht sich aber ausdrücklich auf die angegebene @var{Ausgabe} des @var{Objekt}s — dies ist nützlich, wenn das @var{Objekt} mehrere Ausgaben generiert (@pxref{Packages with Multiple Outputs})."
+msgstr "Dies verhält sich wie die Form oben, bezieht sich aber ausdrücklich auf die angegebene @var{Ausgabe} des @var{Objekt}s — dies ist nützlich, wenn das @var{Objekt} mehrere Ausgaben generiert (siehe @ref{Packages with Multiple Outputs})."
 
 #. type: item
 #: doc/guix.texi:5710
@@ -11084,7 +11078,7 @@ msgstr "Liefert @code{#t}, wenn das @var{Objekt} ein G-Ausdruck ist."
 #. type: Plain text
 #: doc/guix.texi:5784
 msgid "G-expressions are meant to be written to disk, either as code building some derivation, or as plain files in the store.  The monadic procedures below allow you to do that (@pxref{The Store Monad}, for more information about monads.)"
-msgstr "G-Ausdrücke sind dazu gedacht, auf die Platte geschrieben zu werden, entweder als Code, der eine Ableitung erstellt, oder als einfache Dateien im Store. Die monadischen Prozeduren unten ermöglichen Ihnen das (@pxref{The Store Monad}, wenn Sie mehr Informationen über Monaden suchen)."
+msgstr "G-Ausdrücke sind dazu gedacht, auf die Platte geschrieben zu werden, entweder als Code, der eine Ableitung erstellt, oder als einfache Dateien im Store. Die monadischen Prozeduren unten ermöglichen Ihnen das (siehe @ref{The Store Monad}, wenn Sie mehr Informationen über Monaden suchen)."
 
 #. type: deffn
 #: doc/guix.texi:5785
@@ -11151,7 +11145,7 @@ msgstr "@var{deprecation-warnings} bestimmt, ob beim Kompilieren von Modulen War
 #. type: deffn
 #: doc/guix.texi:5844
 msgid "The other arguments are as for @code{derivation} (@pxref{Derivations})."
-msgstr "Die anderen Argumente verhalten sich wie bei @code{derivation} (@pxref{Derivations})."
+msgstr "Die anderen Argumente verhalten sich wie bei @code{derivation} (siehe @ref{Derivations})."
 
 #. type: cindex
 #: doc/guix.texi:5846
@@ -11193,7 +11187,7 @@ msgstr "[#:recursive? #f] [#:select? (const #t)] Liefert ein Objekt, dass die lo
 #. type: deffn
 #: doc/guix.texi:5883
 msgid "This is the declarative counterpart of the @code{interned-file} monadic procedure (@pxref{The Store Monad, @code{interned-file}})."
-msgstr "Dies ist das deklarative Gegenstück zur monadischen Prozedur @code{interned-file} (@pxref{The Store Monad, @code{interned-file}})."
+msgstr "Dies ist das deklarative Gegenstück zur monadischen Prozedur @code{interned-file} (siehe @ref{The Store Monad, @code{interned-file}})."
 
 #. type: deffn
 #: doc/guix.texi:5885
@@ -11268,7 +11262,7 @@ msgstr ""
 #. type: deffn
 #: doc/guix.texi:5921
 msgid "When ``running'' it through the store (@pxref{The Store Monad, @code{run-with-store}}), we obtain a derivation that produces an executable file @file{/gnu/store/@dots{}-list-files} along these lines:"
-msgstr "Lässt man es durch den Store »laufen« (siehe @pxref{The Store Monad, @code{run-with-store}}), erhalten wir eine Ableitung, die eine ausführbare Datei @file{/gnu/store/@dots{}-list-files} generiert, ungefähr so:"
+msgstr "Lässt man es durch den Store »laufen« (siehe @ref{The Store Monad, @code{run-with-store}}), erhalten wir eine Ableitung, die eine ausführbare Datei @file{/gnu/store/@dots{}-list-files} generiert, ungefähr so:"
 
 #. type: example
 #: doc/guix.texi:5926
@@ -11540,7 +11534,7 @@ msgstr "REPL (Lese-Auswerten-Schreiben-Schleife)"
 #. type: Plain text
 #: doc/guix.texi:6085
 msgid "The @command{guix repl} command spawns a Guile @dfn{read-eval-print loop} (REPL) for interactive programming (@pxref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}).  Compared to just launching the @command{guile} command, @command{guix repl} guarantees that all the Guix modules and all its dependencies are available in the search path.  You can use it this way:"
-msgstr ""
+msgstr "Der Befehl @command{guix repl} startet eine Guile-REPL (»@dfn{Read-Eval-Print Loop}«, kurz REPL, deutsch Lese-Auswerten-Schreiben-Schleife) zur interaktiven Programmierung (siehe @ref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}). Im Vergleich dazu, einfach den Befehl @command{guile} aufzurufen, garantiert @command{guix repl}, dass alle Guix-Module und deren Abhängigkeiten im Suchpfad verfügbar sind. Sie können die REPL so benutzen:"
 
 #. type: example
 #: doc/guix.texi:6091
@@ -11551,11 +11545,15 @@ msgid ""
 "scheme@@(guile-user)> coreutils\n"
 "$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>\n"
 msgstr ""
+"$ guix repl\n"
+"scheme@@(guile-user)> ,use (gnu packages base)\n"
+"scheme@@(guile-user)> coreutils\n"
+"$1 = #<package coreutils@@8.29 gnu/packages/base.scm:327 3e28300>\n"
 
 #. type: Plain text
 #: doc/guix.texi:6098
 msgid "In addition, @command{guix repl} implements a simple machine-readable REPL protocol for use by @code{(guix inferior)}, a facility to interact with @dfn{inferiors}, separate processes running a potentially different revision of Guix."
-msgstr ""
+msgstr "@command{guix repl} implementiert zusätzlich ein einfaches maschinenlesbares Protokoll für die REPL, das von @code{(guix inferior)} benutzt wird, um mit @dfn{Untergeordneten} zu interagieren, also mit getrennten Prozessen einer womöglich anderen Version von Guix."
 
 #. type: Plain text
 #: doc/guix.texi:6100
@@ -11566,67 +11564,67 @@ msgstr "Folgende @var{Optionen} gibt es:"
 #: doc/guix.texi:6102 doc/guix.texi:7952
 #, no-wrap
 msgid "--type=@var{type}"
-msgstr ""
+msgstr "--type=@var{Typ}"
 
 #. type: itemx
 #: doc/guix.texi:6103 doc/guix.texi:7953 doc/guix.texi:22545
 #, no-wrap
 msgid "-t @var{type}"
-msgstr ""
+msgstr "-t @var{Typ}"
 
 #. type: table
 #: doc/guix.texi:6105
 msgid "Start a REPL of the given @var{TYPE}, which can be one of the following:"
-msgstr ""
+msgstr "Startet eine REPL des angegebenen @var{Typ}s, der einer der Folgenden sein darf:"
 
 #. type: item
 #: doc/guix.texi:6107
 #, no-wrap
 msgid "guile"
-msgstr ""
+msgstr "guile"
 
 #. type: table
 #: doc/guix.texi:6109
 msgid "This is default, and it spawns a standard full-featured Guile REPL."
-msgstr ""
+msgstr "Die Voreinstellung, mit der eine normale, voll funktionsfähige Guile-REPL gestartet wird."
 
 #. type: item
 #: doc/guix.texi:6109
 #, no-wrap
 msgid "machine"
-msgstr ""
+msgstr "machine"
 
 #. type: table
 #: doc/guix.texi:6112
 msgid "Spawn a REPL that uses the machine-readable protocol.  This is the protocol that the @code{(guix inferior)} module speaks."
-msgstr ""
+msgstr "Startet eine REPL, die ein maschinenlesbares Protokoll benutzt. Dieses Protokoll wird vom Modul @code{(guix inferior)} gesprochen."
 
 #. type: table
 #: doc/guix.texi:6118
 msgid "By default, @command{guix repl} reads from standard input and writes to standard output.  When this option is passed, it will instead listen for connections on @var{endpoint}.  Here are examples of valid options:"
-msgstr ""
+msgstr "Der Vorgabe nach würde @command{guix repl} von der Standardeingabe lesen und auf die Standardausgabe schreiben. Wird diese Befehlszeilenoption angegeben, lauscht die REPL stattdessen auf dem @var{Endpunkt} auf Verbindungen. Hier sind Beispiele gültiger Befehlszeilenoptionen:"
 
 #. type: item
 #: doc/guix.texi:6120
 #, no-wrap
 msgid "--listen=tcp:37146"
-msgstr ""
+msgstr "--listen=tcp:37146"
 
 #. type: table
 #: doc/guix.texi:6122
 msgid "Accept connections on localhost on port 37146."
-msgstr ""
+msgstr "Verbindungen mit dem »localhost« auf Port 37146 akzeptieren."
 
 #. type: item
 #: doc/guix.texi:6123
 #, no-wrap
 msgid "--listen=unix:/tmp/socket"
-msgstr ""
+msgstr "--listen=unix:/tmp/socket"
 
 #. type: table
 #: doc/guix.texi:6125
 msgid "Accept connections on the Unix-domain socket @file{/tmp/socket}."
-msgstr ""
+msgstr "Verbindungen zum Unix-Socket @file{/tmp/socket} akzeptieren."
 
 #. type: Plain text
 #: doc/guix.texi:6136
@@ -11648,7 +11646,7 @@ msgstr "guix build"
 #. type: Plain text
 #: doc/guix.texi:6166
 msgid "The @command{guix build} command builds packages or derivations and their dependencies, and prints the resulting store paths.  Note that it does not modify the user's profile---this is the job of the @command{guix package} command (@pxref{Invoking guix package}).  Thus, it is mainly useful for distribution developers."
-msgstr "Der Befehl @command{guix build} lässt Pakete oder Ableitungen samt ihrer Abhängigkeiten erstellen und gibt die resultierenden Pfade im Store aus. Beachten Sie, dass das Nutzerprofil dadurch nicht modifiziert wird — eine solche Installation bewirkt der Befehl @command{guix package} (@pxref{Invoking guix package}). @command{guix build} wird also hauptsächlich von Entwicklern der Distribution benutzt."
+msgstr "Der Befehl @command{guix build} lässt Pakete oder Ableitungen samt ihrer Abhängigkeiten erstellen und gibt die resultierenden Pfade im Store aus. Beachten Sie, dass das Nutzerprofil dadurch nicht modifiziert wird — eine solche Installation bewirkt der Befehl @command{guix package} (siehe @ref{Invoking guix package}). @command{guix build} wird also hauptsächlich von Entwicklern der Distribution benutzt."
 
 #. type: Plain text
 #: doc/guix.texi:6168 doc/guix.texi:6835 doc/guix.texi:6902 doc/guix.texi:7657
@@ -11692,7 +11690,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:6194
 msgid "@var{package-or-derivation} may be either the name of a package found in the software distribution such as @code{coreutils} or @code{coreutils@@8.20}, or a derivation such as @file{/gnu/store/@dots{}-coreutils-8.19.drv}.  In the former case, a package with the corresponding name (and optionally version) is searched for among the GNU distribution modules (@pxref{Package Modules})."
-msgstr "Als @var{Paket-oder-Ableitung} muss entweder der Name eines in der Software-Distribution zu findenden Pakets, wie etwa @code{coreutils} oder @code{coreutils@@8.20}, oder eine Ableitung wie @file{/gnu/store/@dots{}-coreutils-8.19.drv} sein. Im ersten Fall wird nach einem Paket mit entsprechendem Namen (und optional der entsprechenden Version) in den Modulen der GNU-Distribution gesucht (@pxref{Package Modules})."
+msgstr "Als @var{Paket-oder-Ableitung} muss entweder der Name eines in der Software-Distribution zu findenden Pakets, wie etwa @code{coreutils} oder @code{coreutils@@8.20}, oder eine Ableitung wie @file{/gnu/store/@dots{}-coreutils-8.19.drv} sein. Im ersten Fall wird nach einem Paket mit entsprechendem Namen (und optional der entsprechenden Version) in den Modulen der GNU-Distribution gesucht (siehe @ref{Package Modules})."
 
 #. type: Plain text
 #: doc/guix.texi:6199
@@ -11724,7 +11722,7 @@ msgstr "-L @var{Verzeichnis}"
 #. type: table
 #: doc/guix.texi:6224
 msgid "Add @var{directory} to the front of the package module search path (@pxref{Package Modules})."
-msgstr "Das @var{Verzeichnis} vorne an den Suchpfad für Paketmodule anfügen (@pxref{Package Modules})."
+msgstr "Das @var{Verzeichnis} vorne an den Suchpfad für Paketmodule anfügen (siehe @ref{Package Modules})."
 
 #. type: table
 #: doc/guix.texi:6227
@@ -11746,12 +11744,12 @@ msgstr "-K"
 #. type: table
 #: doc/guix.texi:6235
 msgid "Keep the build tree of failed builds.  Thus, if a build fails, its build tree is kept under @file{/tmp}, in a directory whose name is shown at the end of the build log.  This is useful when debugging build issues.  @xref{Debugging Build Failures}, for tips and tricks on how to debug build issues."
-msgstr "Den Verzeichnisbaum, in dem fehlgeschlagene Erstellungen durchgeführt wurden, behalten. Wenn also eine Erstellung fehlschlägt, bleibt ihr Erstellungsbaum in @file{/tmp} erhalten. Der Name dieses Unterverzeichnisses wird am Ende dem Erstellungsprotokolls ausgegeben. Dies hilft bei der Suche nach Fehlern in Erstellungen. Der Abschnitt @xref{Debugging Build Failures} zeigt Ihnen Hinweise und Tricks, wie Erstellungsfehler untersucht werden können."
+msgstr "Den Verzeichnisbaum, in dem fehlgeschlagene Erstellungen durchgeführt wurden, behalten. Wenn also eine Erstellung fehlschlägt, bleibt ihr Erstellungsbaum in @file{/tmp} erhalten. Der Name dieses Unterverzeichnisses wird am Ende dem Erstellungsprotokolls ausgegeben. Dies hilft bei der Suche nach Fehlern in Erstellungen. Der Abschnitt @ref{Debugging Build Failures} zeigt Ihnen Hinweise und Tricks, wie Erstellungsfehler untersucht werden können."
 
 #. type: table
 #: doc/guix.texi:6239
 msgid "This option has no effect when connecting to a remote daemon with a @code{guix://} URI (@pxref{The Store, the @code{GUIX_DAEMON_SOCKET} variable})."
-msgstr "Diese Option hat keine Auswirkungen, wenn eine Verbindung zu einem entfernten Daemon über eine @code{guix://}-URI verwendet wurde (@pxref{The Store, the @code{GUIX_DAEMON_SOCKET} variable})."
+msgstr "Diese Option hat keine Auswirkungen, wenn eine Verbindung zu einem entfernten Daemon über eine @code{guix://}-URI verwendet wurde (siehe @ref{The Store, the @code{GUIX_DAEMON_SOCKET} variable})."
 
 #. type: item
 #: doc/guix.texi:6240
@@ -11794,7 +11792,7 @@ msgstr "--fallback"
 #. type: table
 #: doc/guix.texi:6256
 msgid "When substituting a pre-built binary fails, fall back to building packages locally (@pxref{Substitution Failure})."
-msgstr "Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese als »Fallback« lokal selbst erstellen (@pxref{Substitution Failure})."
+msgstr "Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese als »Fallback« lokal selbst erstellen (siehe @ref{Substitution Failure})."
 
 #. type: anchor{#1}
 #: doc/guix.texi:6262
@@ -11804,12 +11802,12 @@ msgstr "client-substitute-urls"
 #. type: table
 #: doc/guix.texi:6262
 msgid "Consider @var{urls} the whitespace-separated list of substitute source URLs, overriding the default list of URLs of @command{guix-daemon} (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})."
-msgstr "Die @var{urls} als durch Leerraumzeichen getrennte Liste von Quell-URLs für Substitute anstelle der vorgegebenen URL-Liste für den @command{guix-daemon} verwenden (@pxref{daemon-substitute-urls,, @command{guix-daemon} URLs})."
+msgstr "Die @var{urls} als durch Leerraumzeichen getrennte Liste von Quell-URLs für Substitute anstelle der vorgegebenen URL-Liste für den @command{guix-daemon} verwenden (siehe @ref{daemon-substitute-urls,, @command{guix-daemon} URLs})."
 
 #. type: table
 #: doc/guix.texi:6266
 msgid "This means that substitutes may be downloaded from @var{urls}, provided they are signed by a key authorized by the system administrator (@pxref{Substitutes})."
-msgstr "Das heißt, die Substitute dürfen von den @var{urls} heruntergeladen werden, sofern sie mit einem durch den Systemadministrator autorisierten Schlüssel signiert worden sind (@pxref{Substitutes})."
+msgstr "Das heißt, die Substitute dürfen von den @var{urls} heruntergeladen werden, sofern sie mit einem durch den Systemadministrator autorisierten Schlüssel signiert worden sind (siehe @ref{Substitutes})."
 
 #. type: table
 #: doc/guix.texi:6269
@@ -11825,7 +11823,7 @@ msgstr "--no-grafts"
 #. type: table
 #: doc/guix.texi:6279
 msgid "Do not ``graft'' packages.  In practice, this means that package updates available as grafts are not applied.  @xref{Security Updates}, for more information on grafts."
-msgstr "Pakete nicht »veredeln« (engl. »graft«). Praktisch heißt das, dass als Veredelungen verfügbare Paketaktualisierungen nicht angewandt werden. Der Abschnitt @xref{Security Updates} hat weitere Informationen zu Veredelungen."
+msgstr "Pakete nicht »veredeln« (engl. »graft«). Praktisch heißt das, dass als Veredelungen verfügbare Paketaktualisierungen nicht angewandt werden. Der Abschnitt @ref{Security Updates} hat weitere Informationen zu Veredelungen."
 
 #. type: item
 #: doc/guix.texi:6280
@@ -11841,27 +11839,27 @@ msgstr "Jede Ableitung @var{n}-mal nacheinander erstellen und einen Fehler melde
 #. type: table
 #: doc/guix.texi:6288
 msgid "This is a useful way to detect non-deterministic builds processes.  Non-deterministic build processes are a problem because they make it practically impossible for users to @emph{verify} whether third-party binaries are genuine.  @xref{Invoking guix challenge}, for more."
-msgstr "Das ist eine nützliche Methode, um nicht-deterministische Erstellungsprozesse zu erkennen. Nicht-deterministische Erstellungsprozesse sind ein Problem, weil Nutzer dadurch praktisch nicht @emph{verifizieren} können, ob von Drittanbietern bereitgestellte Binärdateien echt sind. Der Abschnitt @xref{Invoking guix challenge} erklärt dies genauer."
+msgstr "Das ist eine nützliche Methode, um nicht-deterministische Erstellungsprozesse zu erkennen. Nicht-deterministische Erstellungsprozesse sind ein Problem, weil Nutzer dadurch praktisch nicht @emph{verifizieren} können, ob von Drittanbietern bereitgestellte Binärdateien echt sind. Der Abschnitt @ref{Invoking guix challenge} erklärt dies genauer."
 
 #. type: table
 #: doc/guix.texi:6294
 msgid "Note that, currently, the differing build results are not kept around, so you will have to manually investigate in case of an error---e.g., by stashing one of the build results with @code{guix archive --export} (@pxref{Invoking guix archive}), then rebuilding, and finally comparing the two results."
-msgstr "Beachten Sie, dass die sich unterscheidenden Erstellungsergebnisse nicht erhalten bleiben, so dass Sie eventuelle Fehler manuell untersuchen müssen, z.B. indem Sie eines oder mehrere der Erstellungsergebnisse @code{guix archive --export} auslagern (@pxref{Invoking guix archive}), dann neu erstellen und letztlich die beiden Erstellungsergebnisse vergleichen."
+msgstr "Beachten Sie, dass die sich unterscheidenden Erstellungsergebnisse nicht erhalten bleiben, so dass Sie eventuelle Fehler manuell untersuchen müssen, z.B. indem Sie eines oder mehrere der Erstellungsergebnisse @code{guix archive --export} auslagern (siehe @ref{Invoking guix archive}), dann neu erstellen und letztlich die beiden Erstellungsergebnisse vergleichen."
 
 #. type: table
 #: doc/guix.texi:6299
 msgid "Do not attempt to offload builds @i{via} the ``build hook'' of the daemon (@pxref{Daemon Offload Setup}).  That is, always build things locally instead of offloading builds to remote machines."
-msgstr "Nicht versuchen, Erstellungen über den »Build-Hook« des Daemons auszulagern (@pxref{Daemon Offload Setup}). Somit wird lokal erstellt, statt Erstellungen auf entfernte Maschinen auszulagern."
+msgstr "Nicht versuchen, Erstellungen über den »Build-Hook« des Daemons auszulagern (siehe @ref{Daemon Offload Setup}). Somit wird lokal erstellt, statt Erstellungen auf entfernte Maschinen auszulagern."
 
 #. type: table
 #: doc/guix.texi:6306
 msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @code{--max-silent-time}})."
-msgstr "Standardmäßig wird die Einstellung für den Daemon benutzt (@pxref{Invoking guix-daemon, @code{--max-silent-time}})."
+msgstr "Standardmäßig wird die Einstellung für den Daemon benutzt (siehe @ref{Invoking guix-daemon, @code{--max-silent-time}})."
 
 #. type: table
 #: doc/guix.texi:6313
 msgid "By default, the daemon's setting is honored (@pxref{Invoking guix-daemon, @code{--timeout}})."
-msgstr "Standardmäßig wird die Einstellung für den Daemon benutzt (@pxref{Invoking guix-daemon, @code{--timeout}})."
+msgstr "Standardmäßig wird die Einstellung für den Daemon benutzt (siehe @ref{Invoking guix-daemon, @code{--timeout}})."
 
 #. type: item
 #: doc/guix.texi:6314
@@ -11882,7 +11880,7 @@ msgstr "Die Nutzung von bis zu @var{n} Prozessorkernen für die Erstellungen ges
 #. type: table
 #: doc/guix.texi:6329
 msgid "Allow at most @var{n} build jobs in parallel.  @xref{Invoking guix-daemon, @code{--max-jobs}}, for details about this option and the equivalent @command{guix-daemon} option."
-msgstr "Höchstens @var{n} gleichzeitige Erstellungsaufträge erlauben. Im Abschnitt @xref{Invoking guix-daemon, @code{--max-jobs}}, finden Sie Details zu dieser Option und der äquivalenten Option des @command{guix-daemon}."
+msgstr "Höchstens @var{n} gleichzeitige Erstellungsaufträge erlauben. Im Abschnitt @ref{Invoking guix-daemon, @code{--max-jobs}} finden Sie Details zu dieser Option und der äquivalenten Option des @command{guix-daemon}."
 
 #. type: Plain text
 #: doc/guix.texi:6336
@@ -11925,7 +11923,7 @@ msgstr "Paketvarianten"
 #. type: Plain text
 #: doc/guix.texi:6367
 msgid "Another set of command-line options supported by @command{guix build} and also @command{guix package} are @dfn{package transformation options}.  These are options that make it possible to define @dfn{package variants}---for instance, packages built from different source code.  This is a convenient way to create customized packages on the fly without having to type in the definitions of package variants (@pxref{Defining Packages})."
-msgstr "Eine weitere Gruppe von Befehlszeilenoptionen, die @command{guix build} und auch @command{guix package} unterstützen, sind @dfn{Paketumwandlungsoptionen}. Diese Optionen ermöglichen es, @dfn{Paketvarianten} zu definieren — zum Beispiel können Pakete aus einem anderen Quellcode als normalerweise erstellt werden. Damit ist es leicht, angepasste Pakete schnell zu erstellen, ohne die vollständigen Definitionen von Paketvarianten einzutippen (@pxref{Defining Packages})."
+msgstr "Eine weitere Gruppe von Befehlszeilenoptionen, die @command{guix build} und auch @command{guix package} unterstützen, sind @dfn{Paketumwandlungsoptionen}. Diese Optionen ermöglichen es, @dfn{Paketvarianten} zu definieren — zum Beispiel können Pakete aus einem anderen Quellcode als normalerweise erstellt werden. Damit ist es leicht, angepasste Pakete schnell zu erstellen, ohne die vollständigen Definitionen von Paketvarianten einzutippen (siehe @ref{Defining Packages})."
 
 #. type: item
 #: doc/guix.texi:6370
@@ -11948,7 +11946,7 @@ msgstr "--with-source=@var{Paket}@@@var{Version}=@var{Quelle}"
 #. type: table
 #: doc/guix.texi:6377
 msgid "Use @var{source} as the source of @var{package}, and @var{version} as its version number.  @var{source} must be a file name or a URL, as for @command{guix download} (@pxref{Invoking guix download})."
-msgstr "Den Paketquellcode für das @var{Paket} von der angegebenen @var{Quelle} holen und die @var{Version} als seine Versionsnummer verwenden. Die @var{Quelle} muss ein Dateiname oder eine URL sein wie bei @command{guix download} (@pxref{Invoking guix download})."
+msgstr "Den Paketquellcode für das @var{Paket} von der angegebenen @var{Quelle} holen und die @var{Version} als seine Versionsnummer verwenden. Die @var{Quelle} muss ein Dateiname oder eine URL sein wie bei @command{guix download} (siehe @ref{Invoking guix download})."
 
 #. type: table
 #: doc/guix.texi:6383
@@ -12027,7 +12025,7 @@ msgstr "Die Ersetzung ist rekursiv und umfassend. In diesem Beispiel würde nich
 #. type: table
 #: doc/guix.texi:6430
 msgid "This is implemented using the @code{package-input-rewriting} Scheme procedure (@pxref{Defining Packages, @code{package-input-rewriting}})."
-msgstr "Implementiert wird das alles mit der Scheme-Prozedur @code{package-input-rewriting} (@pxref{Defining Packages, @code{package-input-rewriting}})."
+msgstr "Implementiert wird das alles mit der Scheme-Prozedur @code{package-input-rewriting} (siehe @ref{Defining Packages, @code{package-input-rewriting}})."
 
 #. type: item
 #: doc/guix.texi:6431
@@ -12038,7 +12036,7 @@ msgstr "--with-graft=@var{Paket}=@var{Ersatz}"
 #. type: table
 #: doc/guix.texi:6437
 msgid "This is similar to @code{--with-input} but with an important difference: instead of rebuilding the whole dependency chain, @var{replacement} is built and then @dfn{grafted} onto the binaries that were initially referring to @var{package}.  @xref{Security Updates}, for more information on grafts."
-msgstr "Dies verhält sich ähnlich wie mit @code{--with-input}, aber mit dem wichtigen Unterschied, dass nicht die gesamte Abhängigkeitskette neu erstellt wird, sondern das @var{Ersatz}-Paket erstellt und die ursprünglichen Binärdateien, die auf das @var{Paket} verwiesen haben, damit @dfn{veredelt} werden. Im Abschnitt @xref{Security Updates} finden Sie weitere Informationen über Veredelungen."
+msgstr "Dies verhält sich ähnlich wie mit @code{--with-input}, aber mit dem wichtigen Unterschied, dass nicht die gesamte Abhängigkeitskette neu erstellt wird, sondern das @var{Ersatz}-Paket erstellt und die ursprünglichen Binärdateien, die auf das @var{Paket} verwiesen haben, damit @dfn{veredelt} werden. Im Abschnitt @ref{Security Updates} finden Sie weitere Informationen über Veredelungen."
 
 #. type: table
 #: doc/guix.texi:6441
@@ -12087,92 +12085,92 @@ msgstr "--file=@var{Datei}"
 #. type: table
 #: doc/guix.texi:6474
 msgid "Build the package, derivation, or other file-like object that the code within @var{file} evaluates to (@pxref{G-Expressions, file-like objects})."
-msgstr "Das Paket, die Ableitung oder das dateiähnliche Objekt erstellen, zu dem der Code in der @var{Datei} ausgewertet wird (@pxref{G-Expressions, file-like objects})."
+msgstr "Das Paket, die Ableitung oder das dateiähnliche Objekt erstellen, zu dem der Code in der @var{Datei} ausgewertet wird (siehe @ref{G-Expressions, file-like objects})."
 
 #. type: table
 #: doc/guix.texi:6477
 msgid "As an example, @var{file} might contain a package definition like this (@pxref{Defining Packages}):"
-msgstr "Zum Beispiel könnte in der @var{Datei} so eine Paketdefinition stehen (@pxref{Defining Packages}):"
+msgstr "Zum Beispiel könnte in der @var{Datei} so eine Paketdefinition stehen (siehe @ref{Defining Packages}):"
 
 #. type: table
 #: doc/guix.texi:6485
 msgid "Build the package or derivation @var{expr} evaluates to."
-msgstr ""
+msgstr "Das Paket oder die Ableitung erstellen, zu der der @var{Ausdruck} ausgewertet wird."
 
 #. type: table
 #: doc/guix.texi:6489
 msgid "For example, @var{expr} may be @code{(@@ (gnu packages guile)  guile-1.8)}, which unambiguously designates this specific variant of version 1.8 of Guile."
-msgstr ""
+msgstr "Zum Beispiel kann der @var{Ausdruck} @code{(@@ (gnu packages guile)  guile-1.8)} sein, was diese bestimmte Variante der Version 1.8 von Guile eindeutig bezeichnet."
 
 #. type: table
 #: doc/guix.texi:6493
 msgid "Alternatively, @var{expr} may be a G-expression, in which case it is used as a build program passed to @code{gexp->derivation} (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Alternativ kann der @var{Ausdruck} ein G-Ausdruck sein. In diesem Fall wird er als Erstellungsprogramm an @code{gexp->derivation} übergeben (siehe @ref{G-Expressions})."
 
 #. type: table
 #: doc/guix.texi:6497
 msgid "Lastly, @var{expr} may refer to a zero-argument monadic procedure (@pxref{The Store Monad}).  The procedure must return a derivation as a monadic value, which is then passed through @code{run-with-store}."
-msgstr ""
+msgstr "Zudem kann der @var{Ausdruck} eine monadische Prozedur mit null Argumenten bezeichnen (siehe @ref{The Store Monad}). Die Prozedur muss eine Ableitung als monadischen Wert zurückliefern, die dann durch @code{run-with-store} laufen gelassen wird."
 
 #. type: item
 #: doc/guix.texi:6498
 #, no-wrap
 msgid "--source"
-msgstr ""
+msgstr "--source"
 
 #. type: itemx
 #: doc/guix.texi:6499
 #, no-wrap
 msgid "-S"
-msgstr ""
+msgstr "-S"
 
 #. type: table
 #: doc/guix.texi:6502
 msgid "Build the source derivations of the packages, rather than the packages themselves."
-msgstr ""
+msgstr "Die Quellcode-Ableitung der Pakete statt die Pakete selbst erstellen."
 
 #. type: table
 #: doc/guix.texi:6506
 msgid "For instance, @code{guix build -S gcc} returns something like @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, which is the GCC source tarball."
-msgstr ""
+msgstr "Zum Beispiel liefert @code{guix build -S gcc} etwas in der Art von @file{/gnu/store/@dots{}-gcc-4.7.2.tar.bz2}, also den Tarball mit dem GCC-Quellcode."
 
 #. type: table
 #: doc/guix.texi:6510
 msgid "The returned source tarball is the result of applying any patches and code snippets specified in the package @code{origin} (@pxref{Defining Packages})."
-msgstr ""
+msgstr "Der gelieferte Quell-Tarball ist das Ergebnis davon, alle Patches und Code-Schnipsel aufzuspielen, die im @code{origin}-Objekt des Pakets festgelegt wurden (siehe @ref{Defining Packages})."
 
 #. type: item
 #: doc/guix.texi:6511
 #, no-wrap
 msgid "--sources"
-msgstr ""
+msgstr "--sources"
 
 #. type: table
 #: doc/guix.texi:6518
 msgid "Fetch and return the source of @var{package-or-derivation} and all their dependencies, recursively.  This is a handy way to obtain a local copy of all the source code needed to build @var{packages}, allowing you to eventually build them even without network access.  It is an extension of the @code{--source} option and can accept one of the following optional argument values:"
-msgstr ""
+msgstr "Den Quellcode für @var{Paket-oder-Ableitung} und alle Abhängigkeiten davon rekursiv herunterladen und zurückliefern. Dies ist eine praktische Methode, eine lokale Kopie des gesamten Quellcodes zu beziehen, der nötig ist, um die Pakete zu erstellen, damit Sie diese später auch ohne Netzwerkzugang erstellen lassen können. Es handelt sich um eine Erweiterung der Befehlszeilenoption @code{--source}, die jeden der folgenden Argumentwerte akzeptiert:"
 
 #. type: item
 #: doc/guix.texi:6520 doc/guix.texi:7846
 #, no-wrap
 msgid "package"
-msgstr ""
+msgstr "package"
 
 #. type: table
 #: doc/guix.texi:6523
 msgid "This value causes the @code{--sources} option to behave in the same way as the @code{--source} option."
-msgstr ""
+msgstr "Mit diesem Wert verhält sich die Befehlszeilenoption @code{--sources} auf genau die gleiche Weise wie die Befehlszeilenoption @code{--source}."
 
 #. type: item
 #: doc/guix.texi:6524 doc/guix.texi:13054
 #, no-wrap
 msgid "all"
-msgstr ""
+msgstr "all"
 
 #. type: table
 #: doc/guix.texi:6527
 msgid "Build the source derivations of all packages, including any source that might be listed as @code{inputs}.  This is the default value."
-msgstr ""
+msgstr "Erstellt die Quellcode-Ableitungen aller Pakete einschließlich allen Quellcodes, der als Teil der Eingaben im @code{inputs}-Feld aufgelistet ist. Dies ist der vorgegebene Wert, wenn sonst keiner angegeben wird."
 
 #. type: example
 #: doc/guix.texi:6533
@@ -12183,17 +12181,21 @@ msgid ""
 "   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
 "   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
 msgstr ""
+"$ guix build --sources tzdata\n"
+"Folgende Ableitungen werden erstellt:\n"
+"   /gnu/store/@dots{}-tzdata2015b.tar.gz.drv\n"
+"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
 
 #. type: item
 #: doc/guix.texi:6535
 #, no-wrap
 msgid "transitive"
-msgstr ""
+msgstr "transitive"
 
 #. type: table
 #: doc/guix.texi:6539
 msgid "Build the source derivations of all packages, as well of all transitive inputs to the packages.  This can be used e.g. to prefetch package source for later offline building."
-msgstr ""
+msgstr "Die Quellcode-Ableitungen aller Pakete sowie aller transitiven Eingaben der Pakete erstellen. Damit kann z.B. Paket-Quellcode vorab heruntergeladen und später offline erstellt werden."
 
 #. type: example
 #: doc/guix.texi:6550
@@ -12209,153 +12211,162 @@ msgid ""
 "   /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
 "@dots{}\n"
 msgstr ""
+"$ guix build --sources=transitive tzdata\n"
+"Folgende Ableitungen werden erstellt:\n"
+"   /gnu/store/@dots{}-tzcode2015b.tar.gz.drv\n"
+"   /gnu/store/@dots{}-findutils-4.4.2.tar.xz.drv\n"
+"   /gnu/store/@dots{}-grep-2.21.tar.xz.drv\n"
+"   /gnu/store/@dots{}-coreutils-8.23.tar.xz.drv\n"
+"   /gnu/store/@dots{}-make-4.1.tar.xz.drv\n"
+"   /gnu/store/@dots{}-bash-4.3.tar.xz.drv\n"
+"@dots{}\n"
 
 #. type: quotation
 #: doc/guix.texi:6563
 msgid "The @code{--system} flag is for @emph{native} compilation and must not be confused with cross-compilation.  See @code{--target} below for information on cross-compilation."
-msgstr ""
+msgstr "Die Befehlszeilenoption @code{--system} dient der @emph{nativen} Kompilierung (nicht zu verwechseln mit Cross-Kompilierung). Siehe @code{--target} unten für Informationen zur Cross-Kompilierung."
 
 #. type: table
 #: doc/guix.texi:6570
 msgid "An example use of this is on Linux-based systems, which can emulate different personalities.  For instance, passing @code{--system=i686-linux} on an @code{x86_64-linux} system or @code{--system=armhf-linux} on an @code{aarch64-linux} system allows you to build packages in a complete 32-bit environment."
-msgstr ""
+msgstr "Ein Beispiel sind Linux-basierte Systeme, die verschiedene Persönlichkeiten emulieren können. Zum Beispiel können Sie @code{--system=i686-linux} auf einem @code{x86_64-linux}-System oder @code{--system=armhf-linux} auf einem @code{aarch64-linux}-System angeben, um Pakete in einer vollständigen 32-Bit-Umgebung zu erstellen."
 
 #. type: quotation
 #: doc/guix.texi:6575
 msgid "Building for an @code{armhf-linux} system is unconditionally enabled on @code{aarch64-linux} machines, although certain aarch64 chipsets do not allow for this functionality, notably the ThunderX."
-msgstr ""
+msgstr "Das Erstellen für ein @code{armhf-linux}-System ist ungeprüft auf allen @code{aarch64-linux}-Maschinen aktiviert, obwohl bestimmte aarch64-Chipsätze diese Funktionalität nicht unterstützen, darunter auch ThunderX."
 
 #. type: table
 #: doc/guix.texi:6581
 msgid "Similarly, when transparent emulation with QEMU and @code{binfmt_misc} is enabled (@pxref{Virtualization Services, @code{qemu-binfmt-service-type}}), you can build for any system for which a QEMU @code{binfmt_misc} handler is installed."
-msgstr ""
+msgstr "Ebenso können Sie, wenn transparente Emulation mit QEMU und @code{binfmt_misc} aktiviert sind (siehe @ref{Virtualization Services, @code{qemu-binfmt-service-type}}), für jedes System Erstellungen durchführen, für das ein QEMU-@code{binfmt_misc}-Handler installiert ist."
 
 #. type: table
 #: doc/guix.texi:6585
 msgid "Builds for a system other than that of the machine you are using can also be offloaded to a remote machine of the right architecture.  @xref{Daemon Offload Setup}, for more information on offloading."
-msgstr ""
+msgstr "Erstellungen für ein anderes System, das nicht dem System der Maschine, die Sie benutzen, entspricht, können auch auf eine entfernte Maschine mit der richtigen Architektur ausgelagert werden. Siehe @ref{Daemon Offload Setup} für mehr Informationen über das Auslagern."
 
 #. type: anchor{#1}
 #: doc/guix.texi:6593
 msgid "build-check"
-msgstr ""
+msgstr "build-check"
 
 #. type: item
 #: doc/guix.texi:6593
 #, no-wrap
 msgid "--check"
-msgstr ""
+msgstr "--check"
 
 #. type: cindex
 #: doc/guix.texi:6594
 #, no-wrap
 msgid "determinism, checking"
-msgstr ""
+msgstr "Determinismus, Überprüfung"
 
 #. type: cindex
 #: doc/guix.texi:6595
 #, no-wrap
 msgid "reproducibility, checking"
-msgstr ""
+msgstr "Reproduzierbarkeit, Überprüfung"
 
 #. type: table
 #: doc/guix.texi:6599
 msgid "Rebuild @var{package-or-derivation}, which are already available in the store, and raise an error if the build results are not bit-for-bit identical."
-msgstr ""
+msgstr "@var{Paket-oder-Ableitung} erneut erstellen, wenn diese bereits im Store verfügbar ist, und einen Fehler melden, wenn die Erstellungsergebnisse nicht Bit für Bit identisch sind."
 
 #. type: table
 #: doc/guix.texi:6604
 msgid "This mechanism allows you to check whether previously installed substitutes are genuine (@pxref{Substitutes}), or whether the build result of a package is deterministic.  @xref{Invoking guix challenge}, for more background information and tools."
-msgstr ""
+msgstr "Mit diesem Mechanismus können Sie überprüfen, ob zuvor installierte Substitute unverfälscht sind (siehe @ref{Substitutes}) oder auch ob das Erstellungsergebnis eines Pakets deterministisch ist. Siehe @ref{Invoking guix challenge} für mehr Hintergrundinformationen und Werkzeuge."
 
 #. type: item
 #: doc/guix.texi:6609
 #, no-wrap
 msgid "--repair"
-msgstr ""
+msgstr "--repair"
 
 #. type: cindex
 #: doc/guix.texi:6610
 #, no-wrap
 msgid "repairing store items"
-msgstr ""
+msgstr "Reparieren von Store-Objekten"
 
 #. type: table
 #: doc/guix.texi:6614
 msgid "Attempt to repair the specified store items, if they are corrupt, by re-downloading or rebuilding them."
-msgstr ""
+msgstr "Versuchen, die angegebenen Store-Objekte zu reparieren, wenn sie beschädigt sind, indem sie neu heruntergeladen oder neu erstellt werden."
 
 #. type: table
 #: doc/guix.texi:6616
 msgid "This operation is not atomic and thus restricted to @code{root}."
-msgstr ""
+msgstr "Diese Operation ist nicht atomar und nur der Administratornutzer @code{root} kann sie verwenden."
 
 #. type: item
 #: doc/guix.texi:6617
 #, no-wrap
 msgid "--derivations"
-msgstr ""
+msgstr "--derivations"
 
 #. type: table
 #: doc/guix.texi:6621
 msgid "Return the derivation paths, not the output paths, of the given packages."
-msgstr ""
+msgstr "Liefert die Ableitungspfade und @emph{nicht} die Ausgabepfade für die angegebenen Pakete."
 
 #. type: item
 #: doc/guix.texi:6622 doc/guix.texi:8110 doc/guix.texi:22567
 #, no-wrap
 msgid "--root=@var{file}"
-msgstr ""
+msgstr "--root=@var{Datei}"
 
 #. type: itemx
 #: doc/guix.texi:6623 doc/guix.texi:8111 doc/guix.texi:22568
 #, no-wrap
 msgid "-r @var{file}"
-msgstr ""
+msgstr "-r @var{Datei}"
 
 #. type: cindex
 #: doc/guix.texi:6624
 #, no-wrap
 msgid "GC roots, adding"
-msgstr ""
+msgstr "GC-Wurzeln, Hinzufügen"
 
 #. type: cindex
 #: doc/guix.texi:6625
 #, no-wrap
 msgid "garbage collector roots, adding"
-msgstr ""
+msgstr "Müllsammlerwurzeln, Hinzufügen"
 
 #. type: table
 #: doc/guix.texi:6628 doc/guix.texi:22571
 msgid "Make @var{file} a symlink to the result, and register it as a garbage collector root."
-msgstr ""
+msgstr "Die @var{Datei} zu einer symbolischen Verknüpfung auf das Ergebnis machen und als Müllsammlerwurzel registrieren."
 
 #. type: table
 #: doc/guix.texi:6634
 msgid "Consequently, the results of this @command{guix build} invocation are protected from garbage collection until @var{file} is removed.  When that option is omitted, build results are eligible for garbage collection as soon as the build completes.  @xref{Invoking guix gc}, for more on GC roots."
-msgstr ""
+msgstr "Dadurch wird das Ergebnis dieses Aufrufs von @command{guix build} vor dem Müllsammler geschützt, bis die @var{Datei} gelöscht wird. Wird diese Befehlszeilenoption @emph{nicht} angegeben, können Erstellungsergebnisse vom Müllsammler geholt werden, sobald die Erstellung abgeschlossen ist. Siehe @ref{Invoking guix gc} für mehr Informationen zu Müllsammlerwurzeln."
 
 #. type: item
 #: doc/guix.texi:6635
 #, no-wrap
 msgid "--log-file"
-msgstr ""
+msgstr "--log-file"
 
 #. type: cindex
 #: doc/guix.texi:6636
 #, no-wrap
 msgid "build logs, access"
-msgstr ""
+msgstr "Erstellungsprotokolle, Zugriff"
 
 #. type: table
 #: doc/guix.texi:6640
 msgid "Return the build log file names or URLs for the given @var{package-or-derivation}, or raise an error if build logs are missing."
-msgstr ""
+msgstr "Liefert die Dateinamen oder URLs der Erstellungsprotokolle für das angegebene @var{Paket-oder-Ableitung} oder meldet einen Fehler, falls Protokolldateien fehlen."
 
 #. type: table
 #: doc/guix.texi:6643
 msgid "This works regardless of how packages or derivations are specified.  For instance, the following invocations are equivalent:"
-msgstr ""
+msgstr "Dies funktioniert, egal wie die Pakete oder Ableitungen angegeben werden. Zum Beispiel sind folgende Aufrufe alle äquivalent:"
 
 #. type: example
 #: doc/guix.texi:6649
@@ -12366,16 +12377,20 @@ msgid ""
 "guix build --log-file guile\n"
 "guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"
 msgstr ""
+"guix build --log-file `guix build -d guile`\n"
+"guix build --log-file `guix build guile`\n"
+"guix build --log-file guile\n"
+"guix build --log-file -e '(@@ (gnu packages guile) guile-2.0)'\n"
 
 #. type: table
 #: doc/guix.texi:6654
 msgid "If a log is unavailable locally, and unless @code{--no-substitutes} is passed, the command looks for a corresponding log on one of the substitute servers (as specified with @code{--substitute-urls}.)"
-msgstr ""
+msgstr "Wenn ein Protokoll lokal nicht verfügbar ist und sofern @code{--no-substitutes} nicht übergeben wurde, sucht der Befehl nach einem entsprechenden Protokoll auf einem der Substitutserver (die mit @code{--substitute-urls} angegeben werden können)."
 
 #. type: table
 #: doc/guix.texi:6657
 msgid "So for instance, imagine you want to see the build log of GDB on MIPS, but you are actually on an @code{x86_64} machine:"
-msgstr ""
+msgstr "Stellen Sie sich zum Beispiel vor, sie wollten das Erstellungsprotokoll von GDB auf einem MIPS-System sehen, benutzen aber selbst eine @code{x86_64}-Maschine:"
 
 #. type: example
 #: doc/guix.texi:6661
@@ -12384,32 +12399,34 @@ msgid ""
 "$ guix build --log-file gdb -s mips64el-linux\n"
 "https://hydra.gnu.org/log/@dots{}-gdb-7.10\n"
 msgstr ""
+"$ guix build --log-file gdb -s mips64el-linux\n"
+"https://hydra.gnu.org/log/@dots{}-gdb-7.10\n"
 
 #. type: table
 #: doc/guix.texi:6664
 msgid "You can freely access a huge library of build logs!"
-msgstr ""
+msgstr "So haben Sie umsonst Zugriff auf eine riesige Bibliothek von Erstellungsprotokollen!"
 
 #. type: cindex
 #: doc/guix.texi:6669
 #, no-wrap
 msgid "build failures, debugging"
-msgstr ""
+msgstr "Erstellungsfehler, Fehlersuche"
 
 #. type: Plain text
 #: doc/guix.texi:6675
 msgid "When defining a new package (@pxref{Defining Packages}), you will probably find yourself spending some time debugging and tweaking the build until it succeeds.  To do that, you need to operate the build commands yourself in an environment as close as possible to the one the build daemon uses."
-msgstr ""
+msgstr "Wenn Sie ein neues Paket definieren (siehe @ref{Defining Packages}), werden Sie sich vermutlich einige Zeit mit der Fehlersuche beschäftigen und die Erstellung so lange anpassen, bis sie funktioniert. Dazu müssen Sie die Erstellungsbefehle selbst in einer Umgebung benutzen, die der, die der Erstellungsdaemon aufbaut, so ähnlich wie möglich ist."
 
 #. type: Plain text
 #: doc/guix.texi:6680
 msgid "To that end, the first thing to do is to use the @option{--keep-failed} or @option{-K} option of @command{guix build}, which will keep the failed build tree in @file{/tmp} or whatever directory you specified as @code{TMPDIR} (@pxref{Invoking guix build, @code{--keep-failed}})."
-msgstr ""
+msgstr "Das Erste, was Sie dafür tun müssen, ist die Befehlszeilenoption @option{--keep-failed} oder @option{-K} von @command{guix build} einzusetzen, wodurch Verzeichnisbäume fehlgeschlagener Erstellungen in @file{/tmp} oder dem von Ihnen als @code{TMPDIR} ausgewiesenen Verzeichnis erhalten und nicht gelöscht werden (siehe @ref{Invoking guix build, @code{--keep-failed}})."
 
 #. type: Plain text
 #: doc/guix.texi:6686
 msgid "From there on, you can @command{cd} to the failed build tree and source the @file{environment-variables} file, which contains all the environment variable definitions that were in place when the build failed.  So let's say you're debugging a build failure in package @code{foo}; a typical session would look like this:"
-msgstr ""
+msgstr "Im Anschluss können Sie mit @command{cd} in die Verzeichnisse dieses fehlgeschlagenen Erstellungsbaums wechseln und mit @command{source} dessen @file{environment-variables}-Datei laden, die alle Umgebungsvariablendefinitionen enthält, die zum Zeitpunkt des Fehlschlags der Erstellung galten. Sagen wir, Sie suchen Fehler in einem Paket @code{foo}, dann würde eine typische Sitzung so aussehen:"
 
 #. type: example
 #: doc/guix.texi:6693
@@ -12421,21 +12438,26 @@ msgid ""
 "$ source ./environment-variables\n"
 "$ cd foo-1.2\n"
 msgstr ""
+"$ guix build foo -K\n"
+"@dots{} @i{build fails}\n"
+"$ cd /tmp/guix-build-foo.drv-0\n"
+"$ source ./environment-variables\n"
+"$ cd foo-1.2\n"
 
 #. type: Plain text
 #: doc/guix.texi:6697
 msgid "Now, you can invoke commands as if you were the daemon (almost) and troubleshoot your build process."
-msgstr ""
+msgstr "Nun können Sie Befehle (fast) so aufrufen, als wären Sie der Daemon, und Fehlerursachen in Ihrem Erstellungsprozess ermitteln."
 
 #. type: Plain text
 #: doc/guix.texi:6703
 msgid "Sometimes it happens that, for example, a package's tests pass when you run them manually but they fail when the daemon runs them.  This can happen because the daemon runs builds in containers where, unlike in our environment above, network access is missing, @file{/bin/sh} does not exist, etc. (@pxref{Build Environment Setup})."
-msgstr ""
+msgstr "Manchmal passiert es, dass zum Beispiel die Tests eines Pakets erfolgreich sind, wenn Sie sie manuell aufrufen, aber scheitern, wenn der Daemon sie ausführt. Das kann passieren, weil der Daemon Erstellungen in isolierten Umgebungen (»Containern«) durchführt, wo, anders als in der obigen Umgebung, kein Netzwerkzugang möglich ist, @file{/bin/sh} nicht exisiert usw. (siehe @ref{Build Environment Setup})."
 
 #. type: Plain text
 #: doc/guix.texi:6706
 msgid "In such cases, you may need to run inspect the build process from within a container similar to the one the build daemon creates:"
-msgstr ""
+msgstr "In solchen Fällen müssen Sie den Erstellungsprozess womöglich aus einer zu der des Daemons ähnlichen isolierten Umgebung heraus ausprobieren:"
 
 #. type: example
 #: doc/guix.texi:6714
@@ -12448,250 +12470,256 @@ msgid ""
 "[env]# source ./environment-variables\n"
 "[env]# cd foo-1.2\n"
 msgstr ""
+"$ guix build -K foo\n"
+"@dots{}\n"
+"$ cd /tmp/guix-build-foo.drv-0\n"
+"$ guix environment --no-grafts -C foo --ad-hoc strace gdb\n"
+"[env]# source ./environment-variables\n"
+"[env]# cd foo-1.2\n"
 
 #. type: Plain text
 #: doc/guix.texi:6723
 msgid "Here, @command{guix environment -C} creates a container and spawns a new shell in it (@pxref{Invoking guix environment}).  The @command{--ad-hoc strace gdb} part adds the @command{strace} and @command{gdb} commands to the container, which would may find handy while debugging.  The @option{--no-grafts} option makes sure we get the exact same environment, with ungrafted packages (@pxref{Security Updates}, for more info on grafts)."
-msgstr ""
+msgstr "Hierbei erzeugt @command{guix environment -C} eine isolierte Umgebung und öffnet darin eine Shell (siehe @ref{Invoking guix environment}). Der Teil mit @command{--ad-hoc strace gdb} fügt die Befehle @command{strace} und @command{gdb} zur isolierten Umgebung hinzu, die Sie gut gebrauchen könnten, während Sie Fehler suchen. Wegen der Befehlszeilenoption @option{--no-grafts} bekommen Sie haargenau dieselbe Umgebung ohne veredelte Pakete (siehe @ref{Security Updates} für mehr Informationen zu Veredelungen)."
 
 #. type: Plain text
 #: doc/guix.texi:6726
 msgid "To get closer to a container like that used by the build daemon, we can remove @file{/bin/sh}:"
-msgstr ""
+msgstr "Um der isolierten Umgebung des Erstellungsdaemons noch näher zu kommen, können wir @file{/bin/sh} entfernen:"
 
 #. type: example
 #: doc/guix.texi:6729
 #, no-wrap
 msgid "[env]# rm /bin/sh\n"
-msgstr ""
+msgstr "[env]# rm /bin/sh\n"
 
 #. type: Plain text
 #: doc/guix.texi:6733
 msgid "(Don't worry, this is harmless: this is all happening in the throw-away container created by @command{guix environment}.)"
-msgstr ""
+msgstr "(Keine Sorge, das ist harmlos: All dies passiert nur in der zuvor von @command{guix environment} erzeugten Wegwerf-Umgebung.)"
 
 #. type: Plain text
 #: doc/guix.texi:6736
 msgid "The @command{strace} command is probably not in the search path, but we can run:"
-msgstr ""
+msgstr "Der Befehl @command{strace} befindet sich wahrscheinlich nicht in Ihrem Suchpfad, aber wir können ihn so benutzen:"
 
 #. type: example
 #: doc/guix.texi:6739
 #, no-wrap
 msgid "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"
-msgstr ""
+msgstr "[env]# $GUIX_ENVIRONMENT/bin/strace -f -o log make check\n"
 
 #. type: Plain text
 #: doc/guix.texi:6744
 msgid "In this way, not only you will have reproduced the environment variables the daemon uses, you will also be running the build process in a container similar to the one the daemon uses."
-msgstr ""
+msgstr "Auf diese Weise haben Sie nicht nur die Umgebungsvariablen, die der Daemon benutzt, nachgebildet, sondern lassen auch den Erstellungsprozess in einer isolierten Umgebung ähnlich der des Daemons laufen."
 
 #. type: section
 #: doc/guix.texi:6747
 #, no-wrap
 msgid "Invoking @command{guix edit}"
-msgstr ""
+msgstr "@command{guix edit} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:6749
 #, no-wrap
 msgid "guix edit"
-msgstr ""
+msgstr "guix edit"
 
 #. type: cindex
 #: doc/guix.texi:6750
 #, no-wrap
 msgid "package definition, editing"
-msgstr ""
+msgstr "Paketdefinition, Bearbeiten"
 
 #. type: Plain text
 #: doc/guix.texi:6755
 msgid "So many packages, so many source files! The @command{guix edit} command facilitates the life of users and packagers by pointing their editor at the source file containing the definition of the specified packages.  For instance:"
-msgstr ""
+msgstr "So viele Pakete, so viele Quelldateien! Der Befehl @command{guix edit} erleichtert das Leben von sowohl Nutzern als auch Paketentwicklern, indem er Ihren Editor anweist, die Quelldatei mit der Definition des jeweiligen Pakets zu bearbeiten. Zum Beispiel startet dies:"
 
 #. type: example
 #: doc/guix.texi:6758
 #, no-wrap
 msgid "guix edit gcc@@4.9 vim\n"
-msgstr ""
+msgstr "guix edit gcc@@4.9 vim\n"
 
 #. type: Plain text
 #: doc/guix.texi:6764
 msgid "launches the program specified in the @code{VISUAL} or in the @code{EDITOR} environment variable to view the recipe of GCC@tie{}4.9.3 and that of Vim."
-msgstr ""
+msgstr "das mit der Umgebungsvariablen @code{VISUAL} ode @code{EDITOR} angegebene Programm und lässt es das Rezept von GCC@tie{}4.9.3 und von Vim anzeigen."
 
 #. type: Plain text
 #: doc/guix.texi:6770
 msgid "If you are using a Guix Git checkout (@pxref{Building from Git}), or have created your own packages on @code{GUIX_PACKAGE_PATH} (@pxref{Package Modules}), you will be able to edit the package recipes.  In other cases, you will be able to examine the read-only recipes for packages currently in the store."
-msgstr ""
+msgstr "Wenn Sie ein Git-Checkout von Guix benutzen (siehe @ref{Building from Git}) oder Ihre eigenen Pakete im @code{GUIX_PACKAGE_PATH} erstellt haben (siehe @ref{Package Modules}), werden Sie damit die Paketrezepte auch bearbeiten können. Andernfalls werden Sie zumindest in die Lage versetzt, die nur lesbaren Rezepte für sich im Moment im Store befindliche Pakete zu untersuchen."
 
 #. type: section
 #: doc/guix.texi:6773
 #, no-wrap
 msgid "Invoking @command{guix download}"
-msgstr ""
+msgstr "@command{guix download} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:6775
 #, no-wrap
 msgid "guix download"
-msgstr ""
+msgstr "guix download"
 
 #. type: cindex
 #: doc/guix.texi:6776
 #, no-wrap
 msgid "downloading package sources"
-msgstr ""
+msgstr "Paketquellcode herunterladen"
 
 #. type: Plain text
 #: doc/guix.texi:6783
 msgid "When writing a package definition, developers typically need to download a source tarball, compute its SHA256 hash, and write that hash in the package definition (@pxref{Defining Packages}).  The @command{guix download} tool helps with this task: it downloads a file from the given URI, adds it to the store, and prints both its file name in the store and its SHA256 hash."
-msgstr ""
+msgstr "Wenn Entwickler einer Paketdefinition selbige schreiben, müssen diese normalerweise einen Quellcode-Tarball herunterladen, seinen SHA256-Hash als Prüfsumme berechnen und diese in der Paketdefinition eintragen (siehe @ref{Defining Packages}). Das Werkzeug @command{guix download} hilft bei dieser Aufgabe: Damit wird eine Datei von der angegebenen URI heruntergeladen, in den Store eingelagert und sowohl ihr Dateiname im Store als auch ihr SHA256-Hash als Prüfsumme angezeigt."
 
 #. type: Plain text
 #: doc/guix.texi:6790
 msgid "The fact that the downloaded file is added to the store saves bandwidth: when the developer eventually tries to build the newly defined package with @command{guix build}, the source tarball will not have to be downloaded again because it is already in the store.  It is also a convenient way to temporarily stash files, which may be deleted eventually (@pxref{Invoking guix gc})."
-msgstr ""
+msgstr "Dadurch, dass die heruntergeladene Datei in den Store eingefügt wird, wird Bandbreite gespart: Wenn der Entwickler schließlich versucht, das neu definierte Paket mit @command{guix build} zu erstellen, muss der Quell-Tarball nicht erneut heruntergeladen werden, weil er sich bereits im Store befindet. Es ist auch eine bequeme Methode, Dateien temporär aufzubewahren, die letztlich irgendwann gelöscht werden (siehe @ref{Invoking guix gc})."
 
 #. type: Plain text
 #: doc/guix.texi:6798
 msgid "The @command{guix download} command supports the same URIs as used in package definitions.  In particular, it supports @code{mirror://} URIs.  @code{https} URIs (HTTP over TLS) are supported @emph{provided} the Guile bindings for GnuTLS are available in the user's environment; when they are not available, an error is raised.  @xref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, for more information."
-msgstr ""
+msgstr "Der Befehl @command{guix download} unterstützt dieselben URIs, die in Paketdefinitionen verwendet werden. Insbesondere unterstützt er @code{mirror://}-URIs. @code{https}-URIs (HTTP über TLS) werden unterstützt, @emph{vorausgesetzt} die Guile-Anbindungen für GnuTLS sind in der Umgebung des Benutzers verfügbar; wenn nicht, wird ein Fehler gemeldet. Siehe @ref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile}, hat mehr Informationen."
 
 #. type: Plain text
 #: doc/guix.texi:6803
 msgid "@command{guix download} verifies HTTPS server certificates by loading the certificates of X.509 authorities from the directory pointed to by the @code{SSL_CERT_DIR} environment variable (@pxref{X.509 Certificates}), unless @option{--no-check-certificate} is used."
-msgstr ""
+msgstr "Mit @command{guix download} werden HTTPS-Serverzertifikate verifiziert, indem die Zertifikate der X.509-Autoritäten in das durch die Umgebungsvariable @code{SSL_CERT_DIR} bezeichnete Verzeichnis heruntergeladen werden (siehe @ref{X.509 Certificates}), außer @option{--no-check-certificate} wird benutzt."
 
 #. type: Plain text
 #: doc/guix.texi:6805 doc/guix.texi:8390
 msgid "The following options are available:"
-msgstr ""
+msgstr "Folgende Befehlszeilenoptionen stehen zur Verfügung:"
 
 #. type: item
 #: doc/guix.texi:6807 doc/guix.texi:6846
 #, no-wrap
 msgid "--format=@var{fmt}"
-msgstr ""
+msgstr "--format=@var{Format}"
 
 #. type: itemx
 #: doc/guix.texi:6808 doc/guix.texi:6847
 #, no-wrap
 msgid "-f @var{fmt}"
-msgstr ""
+msgstr "-f @var{Format}"
 
 #. type: table
 #: doc/guix.texi:6811
 msgid "Write the hash in the format specified by @var{fmt}.  For more information on the valid values for @var{fmt}, @pxref{Invoking guix hash}."
-msgstr ""
+msgstr "Die Hash-Prüfsumme im angegebenen @var{Format} ausgeben. Für weitere Informationen, was gültige Werte für das @var{Format} sind, siehe @ref{Invoking guix hash}."
 
 #. type: item
 #: doc/guix.texi:6812
 #, no-wrap
 msgid "--no-check-certificate"
-msgstr ""
+msgstr "--no-check-certificate"
 
 #. type: table
 #: doc/guix.texi:6814
 msgid "Do not validate the X.509 certificates of HTTPS servers."
-msgstr ""
+msgstr "X.509-Zertifikate von HTTPS-Servern @emph{nicht} validieren."
 
 #. type: table
 #: doc/guix.texi:6818
 msgid "When using this option, you have @emph{absolutely no guarantee} that you are communicating with the authentic server responsible for the given URL, which makes you vulnerable to ``man-in-the-middle'' attacks."
-msgstr ""
+msgstr "Wenn Sie diese Befehlszeilenoption benutzen, haben Sie @emph{keinerlei Garantie}, dass Sie tatsächlich mit dem authentischen Server, der für die angegebene URL verantwortlich ist, kommunizieren. Das macht Sie anfällig gegen sogenannte »Man-in-the-Middle«-Angriffe."
 
 #. type: item
 #: doc/guix.texi:6819
 #, no-wrap
 msgid "--output=@var{file}"
-msgstr ""
+msgstr "--output=@var{Datei}"
 
 #. type: itemx
 #: doc/guix.texi:6820
 #, no-wrap
 msgid "-o @var{file}"
-msgstr ""
+msgstr "-o @var{Datei}"
 
 #. type: table
 #: doc/guix.texi:6823
 msgid "Save the downloaded file to @var{file} instead of adding it to the store."
-msgstr ""
+msgstr "Die heruntergeladene Datei @emph{nicht} in den Store, sondern in die angegebene @var{Datei} abspeichern."
 
 #. type: section
 #: doc/guix.texi:6826
 #, no-wrap
 msgid "Invoking @command{guix hash}"
-msgstr ""
+msgstr "@command{guix hash} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:6828
 #, no-wrap
 msgid "guix hash"
-msgstr ""
+msgstr "guix hash"
 
 #. type: Plain text
 #: doc/guix.texi:6833
 msgid "The @command{guix hash} command computes the SHA256 hash of a file.  It is primarily a convenience tool for anyone contributing to the distribution: it computes the cryptographic hash of a file, which can be used in the definition of a package (@pxref{Defining Packages})."
-msgstr ""
+msgstr "Der Befehl @command{guix hash} berechnet den SHA256-Hash einer Datei. Er ist primär ein Werkzeug, dass es bequemer macht, etwas zur Distribution beizusteuern: Damit wird die kryptografische Hash-Prüfsumme berechnet, die bei der Definition eines Pakets benutzt werden kann (siehe @ref{Defining Packages})."
 
 #. type: example
 #: doc/guix.texi:6838
 #, no-wrap
 msgid "guix hash @var{option} @var{file}\n"
-msgstr ""
+msgstr "guix hash @var{Option} @var{Datei}\n"
 
 #. type: Plain text
 #: doc/guix.texi:6843
 msgid "When @var{file} is @code{-} (a hyphen), @command{guix hash} computes the hash of data read from standard input.  @command{guix hash} has the following options:"
-msgstr ""
+msgstr "Wird als @var{Datei} ein Bindestrich @code{-} angegeben, berechnet @command{guix hash} den Hash der von der Standardeingabe gelesenen Daten. @command{guix hash} unterstützt die folgenden Optionen:"
 
 #. type: table
 #: doc/guix.texi:6849
 msgid "Write the hash in the format specified by @var{fmt}."
-msgstr ""
+msgstr "Gibt die Prüfsumme im angegebenen @var{Format} aus."
 
 #. type: table
 #: doc/guix.texi:6852
 msgid "Supported formats: @code{nix-base32}, @code{base32}, @code{base16} (@code{hex} and @code{hexadecimal} can be used as well)."
-msgstr ""
+msgstr "Unterstützte Formate: @code{nix-base32}, @code{base32}, @code{base16} (@code{hex} und @code{hexadecimal} können auch benutzt werden)."
 
 #. type: table
 #: doc/guix.texi:6856
 msgid "If the @option{--format} option is not specified, @command{guix hash} will output the hash in @code{nix-base32}.  This representation is used in the definitions of packages."
-msgstr ""
+msgstr "Wird keine Befehlszeilenoption @option{--format} angegeben, wird @command{guix hash} die Prüfsumme im @code{nix-base32}-Format ausgeben. Diese Darstellung wird bei der Definition von Paketen benutzt."
 
 #. type: table
 #: doc/guix.texi:6860
 msgid "Compute the hash on @var{file} recursively."
-msgstr ""
+msgstr "Die Prüfsumme der @var{Datei} rekursiv berechnen."
 
 #. type: table
 #: doc/guix.texi:6869
 msgid "In this case, the hash is computed on an archive containing @var{file}, including its children if it is a directory.  Some of the metadata of @var{file} is part of the archive; for instance, when @var{file} is a regular file, the hash is different depending on whether @var{file} is executable or not.  Metadata such as time stamps has no impact on the hash (@pxref{Invoking guix archive})."
-msgstr ""
+msgstr "In diesem Fall wird die Prüfsumme eines Archivs berechnet, das die @var{Datei} enthält, und auch ihre Kinder, wenn es sich um ein Verzeichnis handelt. Einige der Metadaten der @var{Datei} sind Teil dieses Archivs. Zum Beispiel unterscheidet sich die berechnete Prüfsumme, wenn die @var{Datei} eine reguläre Datei ist, je nachdem, ob die @var{Datei} ausführbar ist oder nicht. Metadaten wie der Zeitstempel haben keinen Einfluss auf die Prüfsumme (siehe @ref{Invoking guix archive})."
 
 #. type: item
 #: doc/guix.texi:6870
 #, no-wrap
 msgid "--exclude-vcs"
-msgstr ""
+msgstr "--exclude-vcs"
 
 #. type: itemx
 #: doc/guix.texi:6871
 #, no-wrap
 msgid "-x"
-msgstr ""
+msgstr "-x"
 
 #. type: table
 #: doc/guix.texi:6874
 msgid "When combined with @option{--recursive}, exclude version control system directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)"
-msgstr ""
+msgstr "Wenn dies zusammen mit der Befehlszeilenoption @option{--recursive} angegeben wird, werden Verzeichnisse zur Versionskontrolle (@file{.bzr}, @file{.git}, @file{.hg}, etc.) vom Archiv ausgenommen."
 
 #. type: table
 #: doc/guix.texi:6879
 msgid "As an example, here is how you would compute the hash of a Git checkout, which is useful when using the @code{git-fetch} method (@pxref{origin Reference}):"
-msgstr ""
+msgstr "Zum Beispiel würden Sie auf diese Art die Prüfsumme eines Git-Checkouts berechnen, was nützlich ist, wenn Sie die Prüfsumme für die Methode @code{git-fetch} benutzen (siehe @ref{origin Reference}):"
 
 #. type: example
 #: doc/guix.texi:6884
@@ -12701,298 +12729,301 @@ msgid ""
 "$ cd foo\n"
 "$ guix hash -rx .\n"
 msgstr ""
+"$ git clone http://example.org/foo.git\n"
+"$ cd foo\n"
+"$ guix hash -rx .\n"
 
 #. type: cindex
 #: doc/guix.texi:6888 doc/guix.texi:6893
 #, no-wrap
 msgid "Invoking @command{guix import}"
-msgstr ""
+msgstr "@command{guix import} aufrufen"
 
 #. type: cindex
 #: doc/guix.texi:6890
 #, no-wrap
 msgid "importing packages"
-msgstr ""
+msgstr "Pakete importieren"
 
 #. type: cindex
 #: doc/guix.texi:6891
 #, no-wrap
 msgid "package import"
-msgstr ""
+msgstr "Paketimport"
 
 #. type: cindex
 #: doc/guix.texi:6892
 #, no-wrap
 msgid "package conversion"
-msgstr ""
+msgstr "Pakete an Guix anpassen"
 
 #. type: Plain text
 #: doc/guix.texi:6900
 msgid "The @command{guix import} command is useful for people who would like to add a package to the distribution with as little work as possible---a legitimate demand.  The command knows of a few repositories from which it can ``import'' package metadata.  The result is a package definition, or a template thereof, in the format we know (@pxref{Defining Packages})."
-msgstr ""
+msgstr "Der Befehl @command{guix import} ist für Leute hilfreich, die ein Paket gerne mit so wenig Arbeit wie möglich zur Distribution hinzufügen würden — ein legitimer Anspruch. Der Befehl kennt ein paar Sammlungen, aus denen mit ihm Paketmetadaten »importiert« werden können. Das Ergebnis ist eine Paketdefinition oder eine Vorlage dafür in dem uns bekannten Format (siehe @ref{Defining Packages})."
 
 #. type: example
 #: doc/guix.texi:6905
 #, no-wrap
 msgid "guix import @var{importer} @var{options}@dots{}\n"
-msgstr ""
+msgstr "guix import @var{Importer} @var{Optionen}@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:6911
 msgid "@var{importer} specifies the source from which to import package metadata, and @var{options} specifies a package identifier and other options specific to @var{importer}.  Currently, the available ``importers'' are:"
-msgstr ""
+msgstr "Der @var{Importer} gibt die Quelle an, aus der Paketmetadaten importiert werden, und die @var{Optionen} geben eine Paketbezeichnung und andere vom @var{Importer} abhängige Daten an. Derzeit sind folgende »Importer« verfügbar:"
 
 #. type: item
 #: doc/guix.texi:6913 doc/guix.texi:7404
 #, no-wrap
 msgid "gnu"
-msgstr ""
+msgstr "gnu"
 
 #. type: table
 #: doc/guix.texi:6917
 msgid "Import metadata for the given GNU package.  This provides a template for the latest version of that GNU package, including the hash of its source tarball, and its canonical synopsis and description."
-msgstr ""
+msgstr "Metadaten für das angegebene GNU-Paket importieren. Damit wird eine Vorlage für die neueste Version dieses GNU-Pakets zur Verfügung gestellt, einschließlich der Prüfsumme seines Quellcode-Tarballs, seiner kanonischen Zusammenfassung und seiner Beschreibung."
 
 #. type: table
 #: doc/guix.texi:6920
 msgid "Additional information such as the package dependencies and its license needs to be figured out manually."
-msgstr ""
+msgstr "Zusätzliche Informationen wie Paketabhängigkeiten und seine Lizenz müssen noch manuell ermittelt werden."
 
 #. type: table
 #: doc/guix.texi:6923
 msgid "For example, the following command returns a package definition for GNU@tie{}Hello:"
-msgstr ""
+msgstr "Zum Beispiel liefert der folgende Befehl eine Paketdefinition für GNU@tie{}Hello:"
 
 #. type: example
 #: doc/guix.texi:6926
 #, no-wrap
 msgid "guix import gnu hello\n"
-msgstr ""
+msgstr "guix import gnu hello\n"
 
 #. type: table
 #: doc/guix.texi:6929 doc/guix.texi:7163 doc/guix.texi:7213 doc/guix.texi:7242
 msgid "Specific command-line options are:"
-msgstr ""
+msgstr "Speziell für diesen Importer stehen noch folgende Befehlszeilenoptionen zur Verfügung:"
 
 #. type: item
 #: doc/guix.texi:6931 doc/guix.texi:7535
 #, no-wrap
 msgid "--key-download=@var{policy}"
-msgstr ""
+msgstr "--key-download=@var{Richtlinie}"
 
 #. type: table
 #: doc/guix.texi:6935
 msgid "As for @code{guix refresh}, specify the policy to handle missing OpenPGP keys when verifying the package signature.  @xref{Invoking guix refresh, @code{--key-download}}."
-msgstr ""
+msgstr "Die Richtlinie zum Umgang mit fehlenden OpenPGP-Schlüsseln beim Verifizieren der Paketsignatur (auch »Beglaubigung« genannt) festlegen, wie bei @code{guix refresh}. Siehe @ref{Invoking guix refresh, @code{--key-download}}."
 
 #. type: item
 #: doc/guix.texi:6937 doc/guix.texi:6938 doc/guix.texi:7422
 #, no-wrap
 msgid "pypi"
-msgstr ""
+msgstr "pypi"
 
 #. type: table
 #: doc/guix.texi:6946
 msgid "Import metadata from the @uref{https://pypi.python.org/, Python Package Index}@footnote{This functionality requires Guile-JSON to be installed.  @xref{Requirements}.}.  Information is taken from the JSON-formatted description available at @code{pypi.python.org} and usually includes all the relevant information, including package dependencies.  For maximum efficiency, it is recommended to install the @command{unzip} utility, so that the importer can unzip Python wheels and gather data from them."
-msgstr ""
+msgstr "Metadaten aus dem @uref{https://pypi.python.org/, Python Package Index} importieren@footnote{Diese Funktionalität setzt voraus, dass Guile-JSON installiert ist, siehe @ref{Requirements}.}. Informationen stammen aus der JSON-formatierten Beschreibung, die unter @code{pypi.python.org} verfügbar ist, und enthalten meistens alle relevanten Informationen einschließlich der Abhängigkeiten des Pakets. Für maximale Effizienz wird empfohlen, das Hilfsprogramm @command{unzip} zu installieren, damit der Importer »Python Wheels« entpacken und daraus Daten beziehen kann."
 
 #. type: table
 #: doc/guix.texi:6949
 msgid "The command below imports metadata for the @code{itsdangerous} Python package:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für das Python-Paket namens @code{itsdangerous}:"
 
 #. type: example
 #: doc/guix.texi:6952
 #, no-wrap
 msgid "guix import pypi itsdangerous\n"
-msgstr ""
+msgstr "guix import pypi itsdangerous\n"
 
 #. type: table
 #: doc/guix.texi:6960 doc/guix.texi:6987 doc/guix.texi:7186 doc/guix.texi:7227
 #: doc/guix.texi:7274
 msgid "Traverse the dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix."
-msgstr ""
+msgstr "Den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv durchlaufen und Paketausdrücke für alle solchen Pakete erzeugen, die es in Guix noch nicht gibt."
 
 #. type: item
 #: doc/guix.texi:6962 doc/guix.texi:6963 doc/guix.texi:7424
 #, no-wrap
 msgid "gem"
-msgstr ""
+msgstr "gem"
 
 #. type: table
 #: doc/guix.texi:6974
 msgid "Import metadata from @uref{https://rubygems.org/, RubyGems}@footnote{This functionality requires Guile-JSON to be installed.  @xref{Requirements}.}.  Information is taken from the JSON-formatted description available at @code{rubygems.org} and includes most relevant information, including runtime dependencies.  There are some caveats, however.  The metadata doesn't distinguish between synopses and descriptions, so the same string is used for both fields.  Additionally, the details of non-Ruby dependencies required to build native extensions is unavailable and left as an exercise to the packager."
-msgstr ""
+msgstr "Metadaten von @uref{https://rubygems.org/, RubyGems} importieren@footnote{Diese Funktionalität setzt voraus, dass Guile-JSON installiert ist. Siehe @ref{Requirements}.}. Informationen kommen aus der JSON-formatierten Beschreibung, die auf @code{rubygems.org} verfügbar ist, und enthält die relevantesten Informationen einschließlich der Laufzeitabhängigkeiten. Dies hat aber auch Schattenseiten — die Metadaten unterscheiden nicht zwischen Zusammenfassungen und Beschreibungen, daher wird dieselbe Zeichenkette für beides eingesetzt. Zudem fehlen Informationen zu nicht in Ruby geschriebenen Abhängigkeiten, die benötigt werden, um native Erweiterungen zu in Ruby geschriebenem Code zu erstellen. Diese herauszufinden bleibt dem Paketentwickler überlassen."
 
 #. type: table
 #: doc/guix.texi:6976
 msgid "The command below imports metadata for the @code{rails} Ruby package:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten aus dem Ruby-Paket @code{rails}."
 
 #. type: example
 #: doc/guix.texi:6979
 #, no-wrap
 msgid "guix import gem rails\n"
-msgstr ""
+msgstr "guix import gem rails\n"
 
 #. type: item
 #: doc/guix.texi:6989 doc/guix.texi:7420
 #, no-wrap
 msgid "cpan"
-msgstr ""
+msgstr "cpan"
 
 #. type: cindex
 #: doc/guix.texi:6990
 #, no-wrap
 msgid "CPAN"
-msgstr ""
+msgstr "CPAN"
 
 #. type: table
 #: doc/guix.texi:7000
 msgid "Import metadata from @uref{https://www.metacpan.org/, MetaCPAN}@footnote{This functionality requires Guile-JSON to be installed.  @xref{Requirements}.}.  Information is taken from the JSON-formatted metadata provided through @uref{https://fastapi.metacpan.org/, MetaCPAN's API} and includes most relevant information, such as module dependencies.  License information should be checked closely.  If Perl is available in the store, then the @code{corelist} utility will be used to filter core modules out of the list of dependencies."
-msgstr ""
+msgstr "Importiert Metadaten von @uref{https://www.metacpan.org/, MetaCPAN}@footnote{Diese Funktionalität setzt voraus, dass Guile-JSON installiert ist. Siehe @ref{Requirements}.}. Informationen werden aus den JSON-formatierten Metadaten genommen, die über die @uref{https://fastapi.metacpan.org/, Programmierschnittstelle (»API«) von MetaCPAN} angeboten werden, und enthalten die relevantesten Informationen wie zum Beispiel Modulabhängigkeiten. Lizenzinformationen sollten genau nachgeprüft werden. Wenn Perl im Store verfügbar ist, wird das Werkzeug @code{corelist} benutzt, um Kernmodule in der Abhängigkeitsliste wegzulassen."
 
 #. type: table
 #: doc/guix.texi:7003
 msgid "The command command below imports metadata for the @code{Acme::Boolean} Perl module:"
-msgstr ""
+msgstr "Folgender Befehl importiert Metadaten für das Perl-Modul @code{Acme::Boolean}:"
 
 #. type: example
 #: doc/guix.texi:7006
 #, no-wrap
 msgid "guix import cpan Acme::Boolean\n"
-msgstr ""
+msgstr "guix import cpan Acme::Boolean\n"
 
 #. type: item
 #: doc/guix.texi:7008 doc/guix.texi:7416
 #, no-wrap
 msgid "cran"
-msgstr ""
+msgstr "cran"
 
 #. type: cindex
 #: doc/guix.texi:7009
 #, no-wrap
 msgid "CRAN"
-msgstr ""
+msgstr "CRAN"
 
 #. type: cindex
 #: doc/guix.texi:7010
 #, no-wrap
 msgid "Bioconductor"
-msgstr ""
+msgstr "Bioconductor"
 
 #. type: table
 #: doc/guix.texi:7014
 msgid "Import metadata from @uref{https://cran.r-project.org/, CRAN}, the central repository for the @uref{http://r-project.org, GNU@tie{}R statistical and graphical environment}."
-msgstr ""
+msgstr "Metadaten aus dem @uref{https://cran.r-project.org/, CRAN} importieren, der zentralen Sammlung für die @uref{http://r-project.org, statistische und grafische Umgebung GNU@tie{}R}."
 
 #. type: table
 #: doc/guix.texi:7016
 msgid "Information is extracted from the @code{DESCRIPTION} file of the package."
-msgstr ""
+msgstr "Informationen werden aus der Datei namens @code{DESCRIPTION} des Pakets extrahiert."
 
 #. type: table
 #: doc/guix.texi:7019
 msgid "The command command below imports metadata for the @code{Cairo} R package:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für das @code{Cairo}-R-Paket:"
 
 #. type: example
 #: doc/guix.texi:7022
 #, no-wrap
 msgid "guix import cran Cairo\n"
-msgstr ""
+msgstr "guix import cran Cairo\n"
 
 #. type: table
 #: doc/guix.texi:7027
 msgid "When @code{--recursive} is added, the importer will traverse the dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix."
-msgstr ""
+msgstr "Wird zudem @code{--recursive} angegeben, wird der Importer den Abhängigkeitsgraphen des angegebenen Pakets beim Anbieter rekursiv durchlaufen und Paketausdrücke für all die Pakete erzeugen, die noch nicht Teil von Guix sind."
 
 #. type: table
 #: doc/guix.texi:7032
 msgid "When @code{--archive=bioconductor} is added, metadata is imported from @uref{https://www.bioconductor.org/, Bioconductor}, a repository of R packages for for the analysis and comprehension of high-throughput genomic data in bioinformatics."
-msgstr ""
+msgstr "Wird @code{--archive=bioconductor} angegeben, werden Metadaten vom @uref{https://www.bioconductor.org/, Bioconductor} importiert, einer Sammlung von R-Paketen zur Analyse und zum Verständnis von großen Mengen genetischer Daten in der Bioinformatik."
 
 #. type: table
 #: doc/guix.texi:7035
 msgid "Information is extracted from the @code{DESCRIPTION} file of a package published on the web interface of the Bioconductor SVN repository."
-msgstr ""
+msgstr "Informationen werden aus der @code{DESCRIPTION}-Datei im Paket extrahiert, das auf der Weboberfläche des Bioconductor-SVN-Repositorys veröffentlicht wurde."
 
 #. type: table
 #: doc/guix.texi:7038
 msgid "The command below imports metadata for the @code{GenomicRanges} R package:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für das R-Paket @code{GenomicRanges}:"
 
 #. type: example
 #: doc/guix.texi:7041
 #, no-wrap
 msgid "guix import cran --archive=bioconductor GenomicRanges\n"
-msgstr ""
+msgstr "guix import cran --archive=bioconductor GenomicRanges\n"
 
 #. type: item
 #: doc/guix.texi:7043
 #, no-wrap
 msgid "texlive"
-msgstr ""
+msgstr "texlive"
 
 #. type: cindex
 #: doc/guix.texi:7044
 #, no-wrap
 msgid "TeX Live"
-msgstr ""
+msgstr "TeX Live"
 
 #. type: cindex
 #: doc/guix.texi:7045
 #, no-wrap
 msgid "CTAN"
-msgstr ""
+msgstr "CTAN"
 
 #. type: table
 #: doc/guix.texi:7049
 msgid "Import metadata from @uref{http://www.ctan.org/, CTAN}, the comprehensive TeX archive network for TeX packages that are part of the @uref{https://www.tug.org/texlive/, TeX Live distribution}."
-msgstr ""
+msgstr "Metadaten aus @uref{http://www.ctan.org/, CTAN}, dem umfassenden TeX-Archivnetzwerk, herunterladen, was für TeX-Pakete benutzt wird, die Teil der @uref{https://www.tug.org/texlive/, TeX-Live-Distribution} sind."
 
 #. type: table
 #: doc/guix.texi:7054
 msgid "Information about the package is obtained through the XML API provided by CTAN, while the source code is downloaded from the SVN repository of the Tex Live project.  This is done because the CTAN does not keep versioned archives."
-msgstr ""
+msgstr "Informationen über das Paket werden über die von CTAN angebotene XML-Programmierschnittstelle bezogen, wohingegen der Quellcode aus dem SVN-Repository des TeX-Live-Projekts heruntergeladen wird. Das wird so gemacht, weil CTAN keine versionierten Archive vorhält."
 
 #. type: table
 #: doc/guix.texi:7057
 msgid "The command command below imports metadata for the @code{fontspec} TeX package:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für das TeX-Paket @code{fontspec}:"
 
 #. type: example
 #: doc/guix.texi:7060
 #, no-wrap
 msgid "guix import texlive fontspec\n"
-msgstr ""
+msgstr "guix import texlive fontspec\n"
 
 #. type: table
 #: doc/guix.texi:7066
 msgid "When @code{--archive=DIRECTORY} is added, the source code is downloaded not from the @file{latex} sub-directory of the @file{texmf-dist/source} tree in the TeX Live SVN repository, but from the specified sibling directory under the same root."
-msgstr ""
+msgstr "Wenn @code{--archive=VERZEICHNIS} angegeben wird, wird der Quellcode @emph{nicht} aus dem Unterverzeichnis @file{latex} des @file{texmf-dist/source}-Baums im SVN-Repository von TeX Live heruntergeladen, sondern aus dem angegebenen Schwesterverzeichnis im selben Wurzelverzeichnis."
 
 #. type: table
 #: doc/guix.texi:7070
 msgid "The command below imports metadata for the @code{ifxetex} package from CTAN while fetching the sources from the directory @file{texmf/source/generic}:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für das Paket @code{ifxetex} aus CTAN und lädt die Quelldateien aus dem Verzeichnis @file{texmf/source/generic}:"
 
 #. type: example
 #: doc/guix.texi:7073
 #, no-wrap
 msgid "guix import texlive --archive=generic ifxetex\n"
-msgstr ""
+msgstr "guix import texlive --archive=generic ifxetex\n"
 
 #. type: cindex
 #: doc/guix.texi:7076
 #, no-wrap
 msgid "JSON, import"
-msgstr ""
+msgstr "JSON, Import"
 
 #. type: table
 #: doc/guix.texi:7081
 msgid "Import package metadata from a local JSON file@footnote{This functionality requires Guile-JSON to be installed.  @xref{Requirements}.}.  Consider the following example package definition in JSON format:"
-msgstr ""
+msgstr "Paketmetadaten aus einer lokalen JSON-Datei importieren@footnote{Diese Funktionalität setzt voraus, dass Guile-JSON installiert ist. Siehe @ref{Requirements}.}. Betrachten Sie folgende Beispiel-Paketdefinition im JSON-Format:"
 
 #. type: example
 #: doc/guix.texi:7094
@@ -13010,16 +13041,27 @@ msgid ""
 "  \"native-inputs\": [\"gcc@@6\"]\n"
 "@}\n"
 msgstr ""
+"@{\n"
+"  \"name\": \"hello\",\n"
+"  \"version\": \"2.10\",\n"
+"  \"source\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
+"  \"build-system\": \"gnu\",\n"
+"  \"home-page\": \"https://www.gnu.org/software/hello/\",\n"
+"  \"synopsis\": \"Hello, GNU world: An example GNU package\",\n"
+"  \"description\": \"GNU Hello prints a greeting.\",\n"
+"  \"license\": \"GPL-3.0+\",\n"
+"  \"native-inputs\": [\"gcc@@6\"]\n"
+"@}\n"
 
 #. type: table
 #: doc/guix.texi:7100
 msgid "The field names are the same as for the @code{<package>} record (@xref{Defining Packages}).  References to other packages are provided as JSON lists of quoted package specification strings such as @code{guile} or @code{guile@@2.0}."
-msgstr ""
+msgstr "Die Felder sind genauso benannt wie bei einem @code{<package>}-Verbundstyp (siehe @ref{Defining Packages}). Referenzen zu anderen Paketen stehen darin als JSON-Liste von mit Anführungszeichen quotierten Zeichenketten wie @code{guile} oder @code{guile@@2.0}."
 
 #. type: table
 #: doc/guix.texi:7103
 msgid "The importer also supports a more explicit source definition using the common fields for @code{<origin>} records:"
-msgstr ""
+msgstr "Der Importer unterstützt auch eine ausdrücklichere Definition der Quelldateien mit den üblichen Feldern eines @code{<origin>}-Verbunds:"
 
 #. type: example
 #: doc/guix.texi:7116
@@ -13037,161 +13079,172 @@ msgid ""
 "  @dots{}\n"
 "@}\n"
 msgstr ""
+"@{\n"
+"  @dots{}\n"
+"  \"source\": @{\n"
+"    \"method\": \"url-fetch\",\n"
+"    \"uri\": \"mirror://gnu/hello/hello-2.10.tar.gz\",\n"
+"    \"sha256\": @{\n"
+"      \"base32\": \"0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i\"\n"
+"    @}\n"
+"  @}\n"
+"  @dots{}\n"
+"@}\n"
 
 #. type: table
 #: doc/guix.texi:7120
 msgid "The command below reads metadata from the JSON file @code{hello.json} and outputs a package expression:"
-msgstr ""
+msgstr "Der folgende Befehl liest Metadaten aus der JSON-Datei @code{hello.json} und gibt einen Paketausdruck aus:"
 
 #. type: example
 #: doc/guix.texi:7123
 #, no-wrap
 msgid "guix import json hello.json\n"
-msgstr ""
+msgstr "guix import json hello.json\n"
 
 #. type: item
 #: doc/guix.texi:7125
 #, no-wrap
 msgid "nix"
-msgstr ""
+msgstr "nix"
 
 #. type: table
 #: doc/guix.texi:7134
 msgid "Import metadata from a local copy of the source of the @uref{http://nixos.org/nixpkgs/, Nixpkgs distribution}@footnote{This relies on the @command{nix-instantiate} command of @uref{http://nixos.org/nix/, Nix}.}.  Package definitions in Nixpkgs are typically written in a mixture of Nix-language and Bash code.  This command only imports the high-level package structure that is written in the Nix language.  It normally includes all the basic fields of a package definition."
-msgstr ""
+msgstr "Metadaten aus einer lokalen Kopie des Quellcodes der @uref{http://nixos.org/nixpkgs/, Nixpkgs-Distribution} importieren@footnote{Dazu wird der Befehl @command{nix-instantiate} von @uref{http://nixos.org/nix/, Nix} verwendet.}. Paketdefinitionen in Nixpkgs werden typischerweise in einer Mischung aus der Sprache von Nix und aus Bash-Code geschrieben. Dieser Befehl wird nur die abstrakte Paketstruktur, die in der Nix-Sprache geschrieben ist, importieren. Dazu gehören normalerweise alle grundlegenden Felder einer Paketdefinition."
 
 #. type: table
 #: doc/guix.texi:7137
 msgid "When importing a GNU package, the synopsis and descriptions are replaced by their canonical upstream variant."
-msgstr ""
+msgstr "Beim Importieren eines GNU-Pakets werden Zusammenfassung und Beschreibung stattdessen durch deren kanonische Variante bei GNU ersetzt."
 
 #. type: table
 #: doc/guix.texi:7139
 msgid "Usually, you will first need to do:"
-msgstr ""
+msgstr "Normalerweise würden Sie zunächst dies ausführen:"
 
 #. type: example
 #: doc/guix.texi:7142
 #, no-wrap
 msgid "export NIX_REMOTE=daemon\n"
-msgstr ""
+msgstr "export NIX_REMOTE=daemon\n"
 
 #. type: table
 #: doc/guix.texi:7146
 msgid "so that @command{nix-instantiate} does not try to open the Nix database."
-msgstr ""
+msgstr "damit @command{nix-instantiate} nicht versucht, die Nix-Datenbank zu öffnen."
 
 #. type: table
 #: doc/guix.texi:7150
 msgid "As an example, the command below imports the package definition of LibreOffice (more precisely, it imports the definition of the package bound to the @code{libreoffice} top-level attribute):"
-msgstr ""
+msgstr "Zum Beispiel importiert der Befehl unten die Paketdefinition von LibreOffice (genauer gesagt importiert er die Definition des an das Attribut @code{libreoffice} auf oberster Ebene gebundenen Pakets):"
 
 #. type: example
 #: doc/guix.texi:7153
 #, no-wrap
 msgid "guix import nix ~/path/to/nixpkgs libreoffice\n"
-msgstr ""
+msgstr "guix import nix ~/path/to/nixpkgs libreoffice\n"
 
 #. type: item
 #: doc/guix.texi:7155 doc/guix.texi:7156 doc/guix.texi:7428
 #, no-wrap
 msgid "hackage"
-msgstr ""
+msgstr "hackage"
 
 #. type: table
 #: doc/guix.texi:7161
 msgid "Import metadata from the Haskell community's central package archive @uref{https://hackage.haskell.org/, Hackage}.  Information is taken from Cabal files and includes all the relevant information, including package dependencies."
-msgstr ""
+msgstr "Metadaten aus @uref{https://hackage.haskell.org/, Hackage}, dem zentralen Paketarchiv der Haskell-Gemeinde, importieren. Informationen werden aus Cabal-Dateien ausgelesen. Darin sind alle relevanten Informationen einschließlich der Paketabhängigkeiten enthalten."
 
 #. type: item
 #: doc/guix.texi:7165
 #, no-wrap
 msgid "--stdin"
-msgstr ""
+msgstr "--stdin"
 
 #. type: itemx
 #: doc/guix.texi:7166
 #, no-wrap
 msgid "-s"
-msgstr ""
+msgstr "-s"
 
 #. type: table
 #: doc/guix.texi:7168
 msgid "Read a Cabal file from standard input."
-msgstr ""
+msgstr "Eine Cabal-Datei von der Standardeingabe lesen."
 
 #. type: item
 #: doc/guix.texi:7168 doc/guix.texi:7215
 #, no-wrap
 msgid "--no-test-dependencies"
-msgstr ""
+msgstr "--no-test-dependencies"
 
 #. type: itemx
 #: doc/guix.texi:7169 doc/guix.texi:7216
 #, no-wrap
 msgid "-t"
-msgstr ""
+msgstr "-t"
 
 #. type: table
 #: doc/guix.texi:7171 doc/guix.texi:7218
 msgid "Do not include dependencies required only by the test suites."
-msgstr ""
+msgstr "Keine Abhängigkeiten übernehmen, die nur von Testkatalogen benötigt werden."
 
 #. type: item
 #: doc/guix.texi:7171
 #, no-wrap
 msgid "--cabal-environment=@var{alist}"
-msgstr ""
+msgstr "--cabal-environment=@var{Aliste}"
 
 #. type: itemx
 #: doc/guix.texi:7172
 #, no-wrap
 msgid "-e @var{alist}"
-msgstr ""
+msgstr "-e @var{Aliste}"
 
 #. type: table
 #: doc/guix.texi:7181
 msgid "@var{alist} is a Scheme alist defining the environment in which the Cabal conditionals are evaluated.  The accepted keys are: @code{os}, @code{arch}, @code{impl} and a string representing the name of a flag.  The value associated with a flag has to be either the symbol @code{true} or @code{false}.  The value associated with other keys has to conform to the Cabal file format definition.  The default value associated with the keys @code{os}, @code{arch} and @code{impl} is @samp{linux}, @samp{x86_64} and @samp{ghc}, respectively."
-msgstr ""
+msgstr "@var{Aliste} muss eine assoziative Liste der Scheme-Programmiersprache sein, die die Umgebung definiert, in der bedingte Ausdrücke von Cabal ausgewertet werden. Dabei werden folgende Schlüssel akzeptiert: @code{os}, @code{arch}, @code{impl} und eine Zeichenkette, die dem Namen einer Option (einer »Flag«) entspricht. Der mit einer »Flag« assoziierte Wert muss entweder das Symbol @code{true} oder @code{false} sein. Der anderen Schlüsseln zugeordnete Wert muss mit der Definition des Cabal-Dateiformats konform sein. Der vorgegebene Wert zu den Schlüsseln @code{os}, @code{arch} and @code{impl} ist jeweils @samp{linux}, @samp{x86_64} bzw. @samp{ghc}."
 
 #. type: table
 #: doc/guix.texi:7191
 msgid "The command below imports metadata for the latest version of the @code{HTTP} Haskell package without including test dependencies and specifying the value of the flag @samp{network-uri} as @code{false}:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für die neuste Version des Haskell-@code{HTTP}-Pakets, ohne Testabhängigkeiten zu übernehmen und bei Übergabe von @code{false} als Wert der Flag @samp{network-uri}:"
 
 #. type: example
 #: doc/guix.texi:7194
 #, no-wrap
 msgid "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"
-msgstr ""
+msgstr "guix import hackage -t -e \"'((\\\"network-uri\\\" . false))\" HTTP\n"
 
 #. type: table
 #: doc/guix.texi:7198
 msgid "A specific package version may optionally be specified by following the package name by an at-sign and a version number as in the following example:"
-msgstr ""
+msgstr "Eine ganz bestimmte Paketversion kann optional ausgewählt werden, indem man nach dem Paketnamen anschließend ein At-Zeichen und eine Versionsnummer angibt wie in folgendem Beispiel:"
 
 #. type: example
 #: doc/guix.texi:7201
 #, no-wrap
 msgid "guix import hackage mtl@@2.1.3.1\n"
-msgstr ""
+msgstr "guix import hackage mtl@@2.1.3.1\n"
 
 #. type: item
 #: doc/guix.texi:7203 doc/guix.texi:7204 doc/guix.texi:7430
 #, no-wrap
 msgid "stackage"
-msgstr ""
+msgstr "stackage"
 
 #. type: table
 #: doc/guix.texi:7211
 msgid "The @code{stackage} importer is a wrapper around the @code{hackage} one.  It takes a package name, looks up the package version included in a long-term support (LTS) @uref{https://www.stackage.org, Stackage} release and uses the @code{hackage} importer to retrieve its metadata.  Note that it is up to you to select an LTS release compatible with the GHC compiler used by Guix."
-msgstr ""
+msgstr "Der @code{stackage}-Importer ist ein Wrapper um den @code{hackage}-Importer. Er nimmt einen Paketnamen und schaut dafür die Paketversion nach, die Teil einer @uref{https://www.stackage.org, Stackage}-Veröffentlichung mit Langzeitunterstützung (englisch »Long-Term Support«, kurz LTS) ist, deren Metadaten er dann mit dem @code{hackage}-Importer bezieht. Beachten Sie, dass es Ihre Aufgabe ist, eine LTS-Veröffentlichung auszuwählen, die mit dem von Guix benutzten GHC-Compiler kompatibel ist."
 
 #. type: item
 #: doc/guix.texi:7218
 #, no-wrap
 msgid "--lts-version=@var{version}"
-msgstr ""
+msgstr "--lts-version=@var{Version}"
 
 #. type: itemx
 #: doc/guix.texi:7219
@@ -13202,122 +13255,122 @@ msgstr "-l @var{Version}"
 #. type: table
 #: doc/guix.texi:7222
 msgid "@var{version} is the desired LTS release version.  If omitted the latest release is used."
-msgstr ""
+msgstr "@var{Version} ist die gewünschte Version der LTS-Veröffentlichung. Wird keine angegeben, wird die neueste benutzt."
 
 #. type: table
 #: doc/guix.texi:7231
 msgid "The command below imports metadata for the @code{HTTP} Haskell package included in the LTS Stackage release version 7.18:"
-msgstr ""
+msgstr "Der folgende Befehl importiert Metadaten für dasjenige @code{HTTP}-Haskell-Paket, das in der LTS-Stackage-Veröffentlichung mit Version 7.18 vorkommt:"
 
 #. type: example
 #: doc/guix.texi:7234
 #, no-wrap
 msgid "guix import stackage --lts-version=7.18 HTTP\n"
-msgstr ""
+msgstr "guix import stackage --lts-version=7.18 HTTP\n"
 
 #. type: item
 #: doc/guix.texi:7236 doc/guix.texi:7237 doc/guix.texi:7414
 #, no-wrap
 msgid "elpa"
-msgstr ""
+msgstr "elpa"
 
 #. type: table
 #: doc/guix.texi:7240
 msgid "Import metadata from an Emacs Lisp Package Archive (ELPA) package repository (@pxref{Packages,,, emacs, The GNU Emacs Manual})."
-msgstr ""
+msgstr "Metadaten aus der Paketsammlung »Emacs Lisp Package Archive« (ELPA) importieren (siehe @ref{Packages,,, emacs, The GNU Emacs Manual})."
 
 #. type: item
 #: doc/guix.texi:7244
 #, no-wrap
 msgid "--archive=@var{repo}"
-msgstr ""
+msgstr "--archive=@var{Repo}"
 
 #. type: itemx
 #: doc/guix.texi:7245
 #, no-wrap
 msgid "-a @var{repo}"
-msgstr ""
+msgstr "-a @var{Repo}"
 
 #. type: table
 #: doc/guix.texi:7249
 msgid "@var{repo} identifies the archive repository from which to retrieve the information.  Currently the supported repositories and their identifiers are:"
-msgstr ""
+msgstr "Mit @var{Repo} wird die Archiv-Sammlung (ein »Repository«) bezeichnet, von dem die Informationen bezogen werden sollen. Derzeit sind die unterstützten Repositorys und ihre Bezeichnungen folgende:"
 
 #. type: itemize
 #: doc/guix.texi:7253
 msgid "@uref{http://elpa.gnu.org/packages, GNU}, selected by the @code{gnu} identifier.  This is the default."
-msgstr ""
+msgstr "@uref{http://elpa.gnu.org/packages, GNU}, bezeichnet mit @code{gnu}. Dies ist die Vorgabe."
 
 #. type: itemize
 #: doc/guix.texi:7259
 msgid "Packages from @code{elpa.gnu.org} are signed with one of the keys contained in the GnuPG keyring at @file{share/emacs/25.1/etc/package-keyring.gpg} (or similar) in the @code{emacs} package (@pxref{Package Installation, ELPA package signatures,, emacs, The GNU Emacs Manual})."
-msgstr ""
+msgstr "Pakete aus @code{elpa.gnu.org} wurden mit einem der Schlüssel im GnuPG-Schlüsselbund in @file{share/emacs/25.1/etc/package-keyring.gpg} (oder einem ähnlichen Pfad) des @code{emacs}-Pakets signiert (siehe @ref{Package Installation, ELPA package signatures,, emacs, The GNU Emacs Manual})."
 
 #. type: itemize
 #: doc/guix.texi:7263
 msgid "@uref{http://stable.melpa.org/packages, MELPA-Stable}, selected by the @code{melpa-stable} identifier."
-msgstr ""
+msgstr "@uref{http://stable.melpa.org/packages, MELPA-Stable}, bezeichnet mit @code{melpa-stable}."
 
 #. type: itemize
 #: doc/guix.texi:7267
 msgid "@uref{http://melpa.org/packages, MELPA}, selected by the @code{melpa} identifier."
-msgstr ""
+msgstr "@uref{http://melpa.org/packages, MELPA}, bezeichnet mit @code{melpa}."
 
 #. type: item
 #: doc/guix.texi:7276 doc/guix.texi:7277 doc/guix.texi:7432
 #, no-wrap
 msgid "crate"
-msgstr ""
+msgstr "crate"
 
 #. type: table
 #: doc/guix.texi:7280
 msgid "Import metadata from the crates.io Rust package repository @uref{https://crates.io, crates.io}."
-msgstr ""
+msgstr "Metadaten aus der Paketsammlung crates.io für Rust importieren @uref{https://crates.io, crates.io}."
 
 #. type: item
 #: doc/guix.texi:7281
 #, no-wrap
 msgid "opam"
-msgstr ""
+msgstr "opam"
 
 #. type: cindex
 #: doc/guix.texi:7282
 #, no-wrap
 msgid "OPAM"
-msgstr ""
+msgstr "OPAM"
 
 #. type: cindex
 #: doc/guix.texi:7283
 #, no-wrap
 msgid "OCaml"
-msgstr ""
+msgstr "OCaml"
 
 #. type: table
 #: doc/guix.texi:7286
 msgid "Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package repository used by the OCaml community."
-msgstr ""
+msgstr "Metadaten aus der Paketsammlung @uref{https://opam.ocaml.org/, OPAM} der OCaml-Gemeinde importieren."
 
 #. type: Plain text
 #: doc/guix.texi:7291
 msgid "The structure of the @command{guix import} code is modular.  It would be useful to have more importers for other package formats, and your help is welcome here (@pxref{Contributing})."
-msgstr ""
+msgstr "@command{guix import} verfügt über eine modulare Code-Struktur. Mehr Importer für andere Paketformate zu haben, wäre nützlich, und Ihre Hilfe ist hierbei gerne gesehen (siehe @ref{Contributing})."
 
 #. type: section
 #: doc/guix.texi:7293
 #, no-wrap
 msgid "Invoking @command{guix refresh}"
-msgstr ""
+msgstr "@command{guix refresh} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:7295
 #, no-wrap
 msgid "guix refresh"
-msgstr ""
+msgstr "guix refresh"
 
 #. type: Plain text
 #: doc/guix.texi:7300
 msgid "The primary audience of the @command{guix refresh} command is developers of the GNU software distribution.  By default, it reports any packages provided by the distribution that are outdated compared to the latest upstream version, like this:"
-msgstr ""
+msgstr "Die Zielgruppe des Befehls @command{guix refresh} zum Auffrischen von Paketen sind in erster Linie Entwickler der GNU-Software-Distribution. Nach Vorgabe werden damit alle Pakete in der Distribution gemeldet, die nicht der neuesten Version des Anbieters entsprechen, indem Sie dies ausführen:"
 
 #. type: example
 #: doc/guix.texi:7305
@@ -13327,11 +13380,14 @@ msgid ""
 "gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n"
 "gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n"
 msgstr ""
+"$ guix refresh\n"
+"gnu/packages/gettext.scm:29:13: gettext would be upgraded from 0.18.1.1 to 0.18.2.1\n"
+"gnu/packages/glib.scm:77:12: glib would be upgraded from 2.34.3 to 2.37.0\n"
 
 #. type: Plain text
 #: doc/guix.texi:7309
 msgid "Alternately, one can specify packages to consider, in which case a warning is emitted for packages that lack an updater:"
-msgstr ""
+msgstr "Alternativ können die zu betrachtenden Pakete dabei angegeben werden, was zur Ausgabe einer Warnung führt, wenn es für Pakete kein Aktualisierungsprogramm gibt:"
 
 #. type: example
 #: doc/guix.texi:7314
@@ -13341,16 +13397,19 @@ msgid ""
 "gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n"
 "gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n"
 msgstr ""
+"$ guix refresh coreutils guile guile-ssh\n"
+"gnu/packages/ssh.scm:205:2: warning: no updater for guile-ssh\n"
+"gnu/packages/guile.scm:136:12: guile would be upgraded from 2.0.12 to 2.0.13\n"
 
 #. type: Plain text
 #: doc/guix.texi:7323
 msgid "@command{guix refresh} browses the upstream repository of each package and determines the highest version number of the releases therein.  The command knows how to update specific types of packages: GNU packages, ELPA packages, etc.---see the documentation for @option{--type} below.  There are many packages, though, for which it lacks a method to determine whether a new upstream release is available.  However, the mechanism is extensible, so feel free to get in touch with us to add a new method!"
-msgstr ""
+msgstr "@command{guix refresh} durchsucht die Paketsammlung beim Anbieter jedes Pakets und bestimmt, was die höchste Versionsnummer ist, zu der es dort eine Veröffentlichung gibt. Zum Befehl gehören Aktualisierungsprogramme, mit denen bestimmte Typen von Paketen automatisch aktualisiert werden können: GNU-Pakete, ELPA-Pakete usw. — siehe die Dokumentation von @option{--type} unten. Es gibt jedoch auch viele Pakete, für die noch keine Methode enthalten ist, um das Vorhandensein einer neuen Veröffentlichung zu prüfen. Der Mechanismus ist aber erweiterbar, also können Sie gerne mit uns in Kontakt treten, wenn Sie eine neue Methode hinzufügen möchten!"
 
 #. type: Plain text
 #: doc/guix.texi:7328
 msgid "Sometimes the upstream name differs from the package name used in Guix, and @command{guix refresh} needs a little help.  Most updaters honor the @code{upstream-name} property in package definitions, which can be used to that effect:"
-msgstr ""
+msgstr "Manchmal unterscheidet sich der vom Anbieter benutzte Name von dem Paketnamen, der in Guix verwendet wird, so dass @command{guix refresh} etwas Unterstützung braucht. Die meisten Aktualisierungsprogramme folgen der Eigenschaft @code{upstream-name} in Paketdefinitionen, die diese Unterstützung bieten kann."
 
 #. type: example
 #: doc/guix.texi:7335
@@ -13362,225 +13421,230 @@ msgid ""
 "    ;; @dots{}\n"
 "    (properties '((upstream-name . \"NetworkManager\")))))\n"
 msgstr ""
+"(define-public network-manager\n"
+"  (package\n"
+"    (name \"network-manager\")\n"
+"    ;; @dots{}\n"
+"    (properties '((upstream-name . \"NetworkManager\")))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:7347
 msgid "When passed @code{--update}, it modifies distribution source files to update the version numbers and source tarball hashes of those package recipes (@pxref{Defining Packages}).  This is achieved by downloading each package's latest source tarball and its associated OpenPGP signature, authenticating the downloaded tarball against its signature using @command{gpg}, and finally computing its hash.  When the public key used to sign the tarball is missing from the user's keyring, an attempt is made to automatically retrieve it from a public key server; when this is successful, the key is added to the user's keyring; otherwise, @command{guix refresh} reports an error."
-msgstr ""
+msgstr "Wenn @code{--update} übergeben wird, werden die Quelldateien der Distribution verändert, so dass für diese Paketrezepte die aktuelle Version und die aktuelle Hash-Prüfsumme des Quellcode-Tarballs eingetragen wird (siehe @ref{Defining Packages}). Dazu werden der neueste Quellcode-Tarball jedes Pakets sowie die jeweils zugehörige OpenPGP-Signatur heruntergeladen; mit Letzterer wird der heruntergeladene Tarball gegen seine Signatur mit @command{gpg} authentifiziert und schließlich dessen Hash berechnet. Wenn der öffentliche Schlüssel, mit dem der Tarball signiert wurde, im Schlüsselbund des Benutzers fehlt, wird versucht, ihn automatisch von einem Schlüssel-Server zu holen; wenn das klappt, wird der Schlüssel zum Schlüsselbund des Benutzers hinzugefügt, ansonsten meldet @command{guix refresh} einen Fehler."
 
 #. type: Plain text
 #: doc/guix.texi:7349
 msgid "The following options are supported:"
-msgstr ""
+msgstr "Die folgenden Befehlszeilenoptionen werden unterstützt:"
 
 #. type: table
 #: doc/guix.texi:7357 doc/guix.texi:7974
 msgid "This is useful to precisely refer to a package, as in this example:"
-msgstr ""
+msgstr "Dies ist nützlich, um genau ein bestimmtes Paket zu referenzieren, wie in diesem Beispiel:"
 
 #. type: example
 #: doc/guix.texi:7360
 #, no-wrap
 msgid "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
-msgstr ""
+msgstr "guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'\n"
 
 #. type: table
 #: doc/guix.texi:7364
 msgid "This command lists the dependents of the ``final'' libc (essentially all the packages.)"
-msgstr ""
+msgstr "Dieser Befehls listet auf, was alles von der »endgültigen« Erstellung von libc abhängt (praktisch alle Pakete)."
 
 #. type: item
 #: doc/guix.texi:7365
 #, no-wrap
 msgid "--update"
-msgstr ""
+msgstr "--update"
 
 #. type: itemx
 #: doc/guix.texi:7366
 #, no-wrap
 msgid "-u"
-msgstr ""
+msgstr "-u"
 
 #. type: table
 #: doc/guix.texi:7370
 msgid "Update distribution source files (package recipes) in place.  This is usually run from a checkout of the Guix source tree (@pxref{Running Guix Before It Is Installed}):"
-msgstr ""
+msgstr "Die Quelldateien der Distribution (die Paketrezepte) werden direkt »in place« verändert. Normalerweise führen Sie dies aus einem Checkout des Guix-Quellbaums heraus aus (siehe @ref{Running Guix Before It Is Installed}):"
 
 #. type: example
 #: doc/guix.texi:7373
 #, no-wrap
 msgid "$ ./pre-inst-env guix refresh -s non-core -u\n"
-msgstr ""
+msgstr "$ ./pre-inst-env guix refresh -s non-core -u\n"
 
 #. type: table
 #: doc/guix.texi:7376
 msgid "@xref{Defining Packages}, for more information on package definitions."
-msgstr ""
+msgstr "Siehe @ref{Defining Packages} für mehr Informationen zu Paketdefinitionen."
 
 #. type: item
 #: doc/guix.texi:7377
 #, no-wrap
 msgid "--select=[@var{subset}]"
-msgstr ""
+msgstr "--select=[@var{Teilmenge}]"
 
 #. type: itemx
 #: doc/guix.texi:7378
 #, no-wrap
 msgid "-s @var{subset}"
-msgstr ""
+msgstr "-s @var{Teilmenge}"
 
 #. type: table
 #: doc/guix.texi:7381
 msgid "Select all the packages in @var{subset}, one of @code{core} or @code{non-core}."
-msgstr ""
+msgstr "Wählt alle Pakete aus der @var{Teilmenge} aus, die entweder @code{core} oder @code{non-core} sein muss."
 
 #. type: table
 #: doc/guix.texi:7388
 msgid "The @code{core} subset refers to all the packages at the core of the distribution---i.e., packages that are used to build ``everything else''.  This includes GCC, libc, Binutils, Bash, etc.  Usually, changing one of these packages in the distribution entails a rebuild of all the others.  Thus, such updates are an inconvenience to users in terms of build time or bandwidth used to achieve the upgrade."
-msgstr ""
+msgstr "Die @code{core}-Teilmenge bezieht sich auf alle Pakete, die den Kern der Distribution ausmachen, d.h. Pakete, aus denen heraus »alles andere« erstellt wird. Dazu gehören GCC, libc, Binutils, Bash und so weiter. In der Regel ist die Folge einer Änderung an einem dieser Pakete in der Distribution, dass alle anderen neu erstellt werden müssen. Daher sind solche Änderungen unangenehm für Nutzer, weil sie einiges an Erstellungszeit oder Bandbreite investieren müssen, um die Aktualisierung abzuschließen."
 
 #. type: table
 #: doc/guix.texi:7392
 msgid "The @code{non-core} subset refers to the remaining packages.  It is typically useful in cases where an update of the core packages would be inconvenient."
-msgstr ""
+msgstr "Die @code{non-core}-Teilmenge bezieht sich auf die übrigen Pakete. Sie wird typischerweise dann benutzt, wenn eine Aktualisierung der Kernpakete zu viele Umstände machen würde."
 
 #. type: table
 #: doc/guix.texi:7397
 msgid "Select all the packages from the manifest in @var{file}. This is useful to check if any packages of the user manifest can be updated."
-msgstr ""
+msgstr "Wählt alle Pakete im in der @var{Datei} stehenden Manifest aus. Das ist nützlich, um zu überprüfen, welche Pakete aus dem Manifest des Nutzers aktualisiert werden können."
 
 #. type: item
 #: doc/guix.texi:7398
 #, no-wrap
 msgid "--type=@var{updater}"
-msgstr ""
+msgstr "--type=@var{Aktualisierungsprogramm}"
 
 #. type: itemx
 #: doc/guix.texi:7399
 #, no-wrap
 msgid "-t @var{updater}"
-msgstr ""
+msgstr "-t @var{Aktualisierungsprogramm}"
 
 #. type: table
 #: doc/guix.texi:7402
 msgid "Select only packages handled by @var{updater} (may be a comma-separated list of updaters).  Currently, @var{updater} may be one of:"
-msgstr ""
+msgstr "Nur solche Pakete auswählen, die vom angegebenen @var{Aktualisierungsprogramm} behandelt werden. Es darf auch eine kommagetrennte Liste mehrerer Aktualisierungsprogramme angegeben werden. Zur Zeit kann als @var{Aktualisierungsprogramm} eines der folgenden angegeben werden:"
 
 #. type: table
 #: doc/guix.texi:7406
 msgid "the updater for GNU packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für GNU-Pakete,"
 
 #. type: item
 #: doc/guix.texi:7406
 #, no-wrap
 msgid "gnome"
-msgstr ""
+msgstr "gnome"
 
 #. type: table
 #: doc/guix.texi:7408
 msgid "the updater for GNOME packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für GNOME-Pakete,"
 
 #. type: item
 #: doc/guix.texi:7408
 #, no-wrap
 msgid "kde"
-msgstr ""
+msgstr "kde"
 
 #. type: table
 #: doc/guix.texi:7410
 msgid "the updater for KDE packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für KDE-Pakete,"
 
 #. type: item
 #: doc/guix.texi:7410
 #, no-wrap
 msgid "xorg"
-msgstr ""
+msgstr "xorg"
 
 #. type: table
 #: doc/guix.texi:7412
 msgid "the updater for X.org packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für X.org-Pakete,"
 
 #. type: item
 #: doc/guix.texi:7412
 #, no-wrap
 msgid "kernel.org"
-msgstr ""
+msgstr "kernel.org"
 
 #. type: table
 #: doc/guix.texi:7414
 msgid "the updater for packages hosted on kernel.org;"
-msgstr ""
+msgstr "Aktualisierungsprogramm auf kernel.org angebotener Pakete,"
 
 #. type: table
 #: doc/guix.texi:7416
 msgid "the updater for @uref{http://elpa.gnu.org/, ELPA} packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{http://elpa.gnu.org/, ELPA-Pakete},"
 
 #. type: table
 #: doc/guix.texi:7418
 msgid "the updater for @uref{https://cran.r-project.org/, CRAN} packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://cran.r-project.org/, CRAN-Pakete},"
 
 #. type: item
 #: doc/guix.texi:7418
 #, no-wrap
 msgid "bioconductor"
-msgstr ""
+msgstr "bioconductor"
 
 #. type: table
 #: doc/guix.texi:7420
 msgid "the updater for @uref{https://www.bioconductor.org/, Bioconductor} R packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für R-Pakete vom @uref{https://www.bioconductor.org/, Bioconductor},"
 
 #. type: table
 #: doc/guix.texi:7422
 msgid "the updater for @uref{http://www.cpan.org/, CPAN} packages;"
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{http://www.cpan.org/, CPAN-Pakete},"
 
 #. type: table
 #: doc/guix.texi:7424
 msgid "the updater for @uref{https://pypi.python.org, PyPI} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://pypi.python.org, PyPI-Pakete},"
 
 #. type: table
 #: doc/guix.texi:7426
 msgid "the updater for @uref{https://rubygems.org, RubyGems} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://rubygems.org, RubyGems-Pakete}."
 
 #. type: item
 #: doc/guix.texi:7426
 #, no-wrap
 msgid "github"
-msgstr ""
+msgstr "github"
 
 #. type: table
 #: doc/guix.texi:7428
 msgid "the updater for @uref{https://github.com, GitHub} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://github.com, GitHub-Pakete}."
 
 #. type: table
 #: doc/guix.texi:7430
 msgid "the updater for @uref{https://hackage.haskell.org, Hackage} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://hackage.haskell.org, Hackage-Pakete}."
 
 #. type: table
 #: doc/guix.texi:7432
 msgid "the updater for @uref{https://www.stackage.org, Stackage} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://www.stackage.org, Stackage-Pakete}."
 
 #. type: table
 #: doc/guix.texi:7434
 msgid "the updater for @uref{https://crates.io, Crates} packages."
-msgstr ""
+msgstr "Aktualisierungsprogramm für @uref{https://crates.io, Crates-Pakete}."
 
 #. type: table
 #: doc/guix.texi:7438
 msgid "For instance, the following command only checks for updates of Emacs packages hosted at @code{elpa.gnu.org} and for updates of CRAN packages:"
-msgstr ""
+msgstr "Zum Beispiel prüft folgender Befehl nur auf mögliche Aktualisierungen von auf @code{elpa.gnu.org} angebotenen Emacs-Paketen und von CRAN-Paketen:"
 
 #. type: example
 #: doc/guix.texi:7443
@@ -13590,76 +13654,79 @@ msgid ""
 "gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n"
 "gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n"
 msgstr ""
+"$ guix refresh --type=elpa,cran\n"
+"gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0\n"
+"gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9\n"
 
 #. type: Plain text
 #: doc/guix.texi:7449
 msgid "In addition, @command{guix refresh} can be passed one or more package names, as in this example:"
-msgstr ""
+msgstr "An @command{guix refresh} können auch ein oder mehrere Paketnamen übergeben werden wie in diesem Beispiel:"
 
 #. type: example
 #: doc/guix.texi:7452
 #, no-wrap
 msgid "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"
-msgstr ""
+msgstr "$ ./pre-inst-env guix refresh -u emacs idutils gcc@@4.8\n"
 
 #. type: Plain text
 #: doc/guix.texi:7458
 msgid "The command above specifically updates the @code{emacs} and @code{idutils} packages.  The @code{--select} option would have no effect in this case."
-msgstr ""
+msgstr "Der Befehl oben aktualisiert speziell das @code{emacs}- und das @code{idutils}-Paket. Eine Befehlszeilenoption @code{--select} hätte dann keine Wirkung."
 
 #. type: Plain text
 #: doc/guix.texi:7463
 msgid "When considering whether to upgrade a package, it is sometimes convenient to know which packages would be affected by the upgrade and should be checked for compatibility.  For this the following option may be used when passing @command{guix refresh} one or more package names:"
-msgstr ""
+msgstr "Wenn Sie sich fragen, ob ein Paket aktualisiert werden sollte oder nicht, kann es helfen, sich anzuschauen, welche Pakete von der Aktualisierung betroffen wären und auf Kompatibilität hin geprüft werden sollten. Dazu kann die folgende Befehlszeilenoption zusammen mit einem oder mehreren Paketnamen an @command{guix refresh} übergeben werden:"
 
 #. type: item
 #: doc/guix.texi:7466
 #, no-wrap
 msgid "--list-updaters"
-msgstr ""
+msgstr "--list-updaters"
 
 #. type: itemx
 #: doc/guix.texi:7467
 #, no-wrap
 msgid "-L"
-msgstr ""
+msgstr "-L"
 
 #. type: table
 #: doc/guix.texi:7469
 msgid "List available updaters and exit (see @option{--type} above.)"
-msgstr ""
+msgstr "Eine Liste verfügbarer Aktualisierungsprogramme anzeigen und terminieren (siehe @option{--type} oben)."
 
 #. type: table
 #: doc/guix.texi:7472
 msgid "For each updater, display the fraction of packages it covers; at the end, display the fraction of packages covered by all these updaters."
-msgstr ""
+msgstr "Für jedes Aktualisierungsprogramm den Anteil der davon betroffenen Pakete anzeigen; zum Schluss wird der Gesamtanteil von irgendeinem Aktualisierungsprogramm betroffener Pakete angezeigt."
 
 #. type: item
 #: doc/guix.texi:7473
 #, no-wrap
 msgid "--list-dependent"
-msgstr ""
+msgstr "--list-dependent"
 
 #. type: itemx
 #: doc/guix.texi:7474 doc/guix.texi:7667
 #, no-wrap
 msgid "-l"
-msgstr ""
+msgstr "-l"
 
 #. type: table
 #: doc/guix.texi:7477
 msgid "List top-level dependent packages that would need to be rebuilt as a result of upgrading one or more packages."
-msgstr ""
+msgstr "Auflisten, welche abhängigen Pakete auf oberster Ebene neu erstellt werden müssten, wenn eines oder mehrere Pakete aktualisiert würden."
 
 #. type: table
 #: doc/guix.texi:7481
 msgid "@xref{Invoking guix graph, the @code{reverse-package} type of @command{guix graph}}, for information on how to visualize the list of dependents of a package."
-msgstr ""
+msgstr "Siehe @ref{Invoking guix graph, den @code{reverse-package}-Typ von @command{guix graph}} für Informationen dazu, wie Sie die Liste der Abhängigen eines Pakets visualisieren können."
 
 #. type: Plain text
 #: doc/guix.texi:7487
 msgid "Be aware that the @code{--list-dependent} option only @emph{approximates} the rebuilds that would be required as a result of an upgrade.  More rebuilds might be required under some circumstances."
-msgstr ""
+msgstr "Bedenken Sie, dass die Befehlszeilenoption @code{--list-dependent} das Ausmaß der nach einer Aktualisierungen benötigten Neuerstellungen nur @emph{annähert}. Es könnten auch unter Umständen mehr Neuerstellungen anfallen."
 
 #. type: example
 #: doc/guix.texi:7492
@@ -13669,27 +13736,30 @@ msgid ""
 "Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n"
 "hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"
 msgstr ""
+"$ guix refresh --list-dependent flex\n"
+"Building the following 120 packages would ensure 213 dependent packages are rebuilt:\n"
+"hop@@2.4.0 geiser@@0.4 notmuch@@0.18 mu@@0.9.9.5 cflow@@1.4 idutils@@4.6 @dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:7496
 msgid "The command above lists a set of packages that could be built to check for compatibility with an upgraded @code{flex} package."
-msgstr ""
+msgstr "Der oben stehende Befehl gibt einen Satz von Paketen aus, die Sie erstellen wollen könnten, um die Kompatibilität einer Aktualisierung des @code{flex}-Pakets beurteilen zu können."
 
 #. type: Plain text
 #: doc/guix.texi:7498
 msgid "The following options can be used to customize GnuPG operation:"
-msgstr ""
+msgstr "Mit den folgenden Befehlszeilenoptionen können Sie das Verhalten von GnuPG anpassen:"
 
 #. type: item
 #: doc/guix.texi:7501
 #, no-wrap
 msgid "--gpg=@var{command}"
-msgstr ""
+msgstr "--gpg=@var{Befehl}"
 
 #. type: table
 #: doc/guix.texi:7504
 msgid "Use @var{command} as the GnuPG 2.x command.  @var{command} is searched for in @code{$PATH}."
-msgstr ""
+msgstr "Den @var{Befehl} als GnuPG-2.x-Befehl einsetzen. Der @var{Befehl} wird im @code{$PATH} gesucht."
 
 #. type: item
 #: doc/guix.texi:7505
@@ -13700,28 +13770,28 @@ msgstr "--keyring=@var{Datei}"
 #. type: table
 #: doc/guix.texi:7511
 msgid "Use @var{file} as the keyring for upstream keys.  @var{file} must be in the @dfn{keybox format}.  Keybox files usually have a name ending in @file{.kbx} and the GNU@tie{}Privacy Guard (GPG) can manipulate these files (@pxref{kbxutil, @command{kbxutil},, gnupg, Using the GNU Privacy Guard}, for information on a tool to manipulate keybox files)."
-msgstr ""
+msgstr "Die @var{Datei} als Schlüsselbund mit Anbieterschlüsseln verwenden. Die @var{Datei} muss im @dfn{Keybox-Format} vorliegen. Keybox-Dateien haben normalerweise einen Namen, der auf @file{.kbx} endet. Sie können mit Hilfe von GNU@tie{}Privacy Guard (GPG) bearbeitet werden (siehe @ref{kbxutil, @command{kbxutil},, gnupg, Using the GNU Privacy Guard} für Informationen über ein Werkzeug zum Bearbeiten von Keybox-Dateien)."
 
 #. type: table
 #: doc/guix.texi:7517
 msgid "When this option is omitted, @command{guix refresh} uses @file{~/.config/guix/upstream/trustedkeys.kbx} as the keyring for upstream signing keys.  OpenPGP signatures are checked against keys from this keyring; missing keys are downloaded to this keyring as well (see @option{--key-download} below.)"
-msgstr ""
+msgstr "Wenn diese Befehlszeilenoption nicht angegeben wird, benutzt @command{guix refresh} die Keybox-Datei @file{~/.config/guix/upstream/trustedkeys.kbx} als Schlüsselbund für Signierschlüssel von Anbietern. OpenPGP-Signaturen werden mit Schlüsseln aus diesem Schlüsselbund überprüft; fehlende Schlüssel werden auch in diesen Schlüsselbund heruntergeladen (siehe @option{--key-download} unten)."
 
 #. type: table
 #: doc/guix.texi:7520
 msgid "You can export keys from your default GPG keyring into a keybox file using commands like this one:"
-msgstr ""
+msgstr "Sie können Schlüssel aus Ihrem normalerweise benutzten GPG-Schlüsselbund in eine Keybox-Datei exportieren, indem Sie Befehle wie diesen benutzen:"
 
 #. type: example
 #: doc/guix.texi:7523
 #, no-wrap
 msgid "gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx\n"
-msgstr ""
+msgstr "gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx\n"
 
 #. type: table
 #: doc/guix.texi:7526
 msgid "Likewise, you can fetch keys to a specific keybox file like this:"
-msgstr ""
+msgstr "Ebenso können Sie wie folgt Schlüssel in eine bestimmte Keybox-Datei herunterladen:"
 
 #. type: example
 #: doc/guix.texi:7530
@@ -13736,165 +13806,165 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:7534
 msgid "@ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU Privacy Guard}, for more information on GPG's @option{--keyring} option."
-msgstr ""
+msgstr "Siehe @ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU Privacy Guard} für mehr Informationen zur Befehlszeilenoption @option{--keyring} von GPG."
 
 #. type: table
 #: doc/guix.texi:7538
 msgid "Handle missing OpenPGP keys according to @var{policy}, which may be one of:"
-msgstr ""
+msgstr "Fehlende OpenPGP-Schlüssel gemäß dieser @var{Richtlinie} behandeln, für die eine der Folgenden angegeben werden kann:"
 
 #. type: item
 #: doc/guix.texi:7540 doc/guix.texi:15086
 #, no-wrap
 msgid "always"
-msgstr ""
+msgstr "always"
 
 #. type: table
 #: doc/guix.texi:7543
 msgid "Always download missing OpenPGP keys from the key server, and add them to the user's GnuPG keyring."
-msgstr ""
+msgstr "Immer fehlende OpenPGP-Schlüssel herunterladen und zum GnuPG-Schlüsselbund des Nutzers hinzufügen."
 
 #. type: item
 #: doc/guix.texi:7544 doc/guix.texi:15088
 #, no-wrap
 msgid "never"
-msgstr ""
+msgstr "never"
 
 #. type: table
 #: doc/guix.texi:7546
 msgid "Never try to download missing OpenPGP keys.  Instead just bail out."
-msgstr ""
+msgstr "Niemals fehlende OpenPGP-Schlüssel herunterladen, sondern einfach abbrechen."
 
 #. type: item
 #: doc/guix.texi:7547
 #, no-wrap
 msgid "interactive"
-msgstr ""
+msgstr "interactive"
 
 #. type: table
 #: doc/guix.texi:7550
 msgid "When a package signed with an unknown OpenPGP key is encountered, ask the user whether to download it or not.  This is the default behavior."
-msgstr ""
+msgstr "Ist ein Paket mit einem unbekannten OpenPGP-Schlüssel signiert, wird der Nutzer gefragt, ob der Schlüssel heruntergeladen werden soll oder nicht. Dies entspricht dem vorgegebenen Verhalten."
 
 #. type: item
 #: doc/guix.texi:7552
 #, no-wrap
 msgid "--key-server=@var{host}"
-msgstr ""
+msgstr "--key-server=@var{Host}"
 
 #. type: table
 #: doc/guix.texi:7554
 msgid "Use @var{host} as the OpenPGP key server when importing a public key."
-msgstr ""
+msgstr "Den mit @var{Host} bezeichneten Rechner als Schlüsselserver für OpenPGP benutzen, wenn ein öffentlicher Schlüssel importiert wird."
 
 #. type: Plain text
 #: doc/guix.texi:7567
 msgid "The @code{github} updater uses the @uref{https://developer.github.com/v3/, GitHub API} to query for new releases.  When used repeatedly e.g. when refreshing all packages, GitHub will eventually refuse to answer any further API requests.  By default 60 API requests per hour are allowed, and a full refresh on all GitHub packages in Guix requires more than this.  Authentication with GitHub through the use of an API token alleviates these limits.  To use an API token, set the environment variable @code{GUIX_GITHUB_TOKEN} to a token procured from @uref{https://github.com/settings/tokens} or otherwise."
-msgstr ""
+msgstr "Das @code{github}-Aktualisierungsprogramm benutzt die @uref{https://developer.github.com/v3/, GitHub-Programmierschnittstelle} (die »Github-API«), um Informationen über neue Veröffentlichungen einzuholen. Geschieht dies oft, z.B. beim Auffrischen aller Pakete, so wird GitHub irgendwann aufhören, weitere API-Anfragen zu beantworten. Normalerweise sind 60 API-Anfragen pro Stunde erlaubt, für eine vollständige Auffrischung aller GitHub-Pakete in Guix werden aber mehr benötigt. Wenn Sie sich bei GitHub mit Ihrem eigenen API-Token authentisieren, gelten weniger einschränkende Grenzwerte. Um einen API-Token zu benutzen, setzen Sie die Umgebungsvariable @code{GUIX_GITHUB_TOKEN} auf einen von @uref{https://github.com/settings/tokens} oder anderweitig bezogenen API-Token."
 
 #. type: section
 #: doc/guix.texi:7570
 #, no-wrap
 msgid "Invoking @command{guix lint}"
-msgstr ""
+msgstr "@command{guix lint} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:7572
 #, no-wrap
 msgid "guix lint"
-msgstr ""
+msgstr "guix lint"
 
 #. type: cindex
 #: doc/guix.texi:7573
 #, no-wrap
 msgid "package, checking for errors"
-msgstr ""
+msgstr "Pakete, auf Fehler prüfen"
 
 #. type: Plain text
 #: doc/guix.texi:7579
 msgid "The @command{guix lint} command is meant to help package developers avoid common errors and use a consistent style.  It runs a number of checks on a given set of packages in order to find common mistakes in their definitions.  Available @dfn{checkers} include (see @code{--list-checkers} for a complete list):"
-msgstr ""
+msgstr "Den Befehl @command{guix lint} gibt es, um Paketentwicklern beim Vermeiden häufiger Fehler und bei der Einhaltung eines konsistenten Code-Stils zu helfen. Er führt eine Reihe von Prüfungen auf einer angegebenen Menge von Paketen durch, um in deren Definition häufige Fehler aufzuspüren. Zu den verfügbaren @dfn{Prüfern} gehören (siehe @code{--list-checkers} für eine vollständige Liste):"
 
 #. type: table
 #: doc/guix.texi:7585
 msgid "Validate certain typographical and stylistic rules about package descriptions and synopses."
-msgstr ""
+msgstr "Überprüfen, ob bestimmte typografische und stilistische Regeln in Paketbeschreibungen und -zusammenfassungen eingehalten wurden."
 
 #. type: item
 #: doc/guix.texi:7586
 #, no-wrap
 msgid "inputs-should-be-native"
-msgstr ""
+msgstr "inputs-should-be-native"
 
 #. type: table
 #: doc/guix.texi:7588
 msgid "Identify inputs that should most likely be native inputs."
-msgstr ""
+msgstr "Eingaben identifizieren, die wahrscheinlich native Eingaben sein sollten."
 
 #. type: itemx
 #: doc/guix.texi:7591
 #, no-wrap
 msgid "mirror-url"
-msgstr ""
+msgstr "mirror-url"
 
 #. type: itemx
 #: doc/guix.texi:7592
 #, no-wrap
 msgid "source-file-name"
-msgstr ""
+msgstr "source-file-name"
 
 #. type: table
 #: doc/guix.texi:7598
 msgid "Probe @code{home-page} and @code{source} URLs and report those that are invalid.  Suggest a @code{mirror://} URL when applicable.  Check that the source file name is meaningful, e.g. is not just a version number or ``git-checkout'', without a declared @code{file-name} (@pxref{origin Reference})."
-msgstr ""
+msgstr "Die URLs für die Felder @code{home-page} und @code{source} anrufen und nicht erreichbare URLs melden. Wenn passend, wird eine @code{mirror://}-URL vorgeschlagen. Es wird geprüft, dass der Quell-Dateiname aussagekräftig ist, dass er also z.B. nicht nur aus einer Versionsnummer besteht oder als »git-checkout« angegeben wurde, ohne dass ein @code{Dateiname} deklariert wurde (siehe @ref{origin Reference})."
 
 #. type: item
 #: doc/guix.texi:7599
 #, no-wrap
 msgid "cve"
-msgstr ""
+msgstr "cve"
 
 #. type: cindex
 #: doc/guix.texi:7600 doc/guix.texi:23486
 #, no-wrap
 msgid "security vulnerabilities"
-msgstr ""
+msgstr "Sicherheitslücken"
 
 #. type: cindex
 #: doc/guix.texi:7601
 #, no-wrap
 msgid "CVE, Common Vulnerabilities and Exposures"
-msgstr ""
+msgstr "CVE, Common Vulnerabilities and Exposures"
 
 #. type: table
 #: doc/guix.texi:7606
 msgid "Report known vulnerabilities found in the Common Vulnerabilities and Exposures (CVE) databases of the current and past year @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, published by the US NIST}."
-msgstr ""
+msgstr "Bekannte Sicherheitslücken melden, die in den Datenbanken der »Common Vulnerabilities and Exposures« (CVE) aus diesem und dem letzten Jahr vorkommen, @uref{https://nvd.nist.gov/download.cfm#CVE_FEED, wie sie von der US-amerikanischen NIST veröffentlicht werden}."
 
 #. type: table
 #: doc/guix.texi:7608
 msgid "To view information about a particular vulnerability, visit pages such as:"
-msgstr ""
+msgstr "Um Informationen über eine bestimmte Sicherheitslücke angezeigt zu bekommen, besuchen Sie Webseiten wie:"
 
 #. type: indicateurl{#1}
 #: doc/guix.texi:7612
 msgid "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"
-msgstr ""
+msgstr "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-YYYY-ABCD"
 
 #. type: indicateurl{#1}
 #: doc/guix.texi:7614
 msgid "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"
-msgstr ""
+msgstr "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-YYYY-ABCD"
 
 #. type: table
 #: doc/guix.texi:7619
 msgid "where @code{CVE-YYYY-ABCD} is the CVE identifier---e.g., @code{CVE-2015-7554}."
-msgstr ""
+msgstr "wobei Sie statt @code{CVE-YYYY-ABCD} die CVE-Kennnummer angeben — z.B. @code{CVE-2015-7554}."
 
 #. type: table
 #: doc/guix.texi:7624
 msgid "Package developers can specify in package recipes the @uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)} name and version of the package when they differ from the name or version that Guix uses, as in this example:"
-msgstr ""
+msgstr "Paketentwickler können in ihren Paketrezepten den Namen und die Version des Pakets in der @uref{https://nvd.nist.gov/cpe.cfm,Common Platform Enumeration (CPE)} angeben, falls sich diese von dem in Guix benutzten Namen und der Version unterscheiden, zum Beispiel so:"
 
 #. type: example
 #: doc/guix.texi:7632
@@ -13907,11 +13977,17 @@ msgid ""
 "  (properties '((cpe-name . \"grub2\")\n"
 "                (cpe-version . \"2.3\")))\n"
 msgstr ""
+"(package\n"
+"  (name \"grub\")\n"
+"  ;; @dots{}\n"
+"  ;; CPE bezeichnet das Paket als \"grub2\".\n"
+"  (properties '((cpe-name . \"grub2\")\n"
+"                (cpe-version . \"2.3\")))\n"
 
 #. type: table
 #: doc/guix.texi:7639
 msgid "Some entries in the CVE database do not specify which version of a package they apply to, and would thus ``stick around'' forever.  Package developers who found CVE alerts and verified they can be ignored can declare them as in this example:"
-msgstr ""
+msgstr "Manche Einträge in der CVE-Datenbank geben die Version des Pakets nicht an, auf das sie sich beziehen, und würden daher bis in alle Ewigkeit Warnungen auslösen. Paketentwickler, die CVE-Warnmeldungen gefunden und geprüft haben, dass diese ignoriert werden können, können sie wie in diesem Beispiel deklarieren:"
 
 #. type: example
 #: doc/guix.texi:7649
@@ -13926,90 +14002,99 @@ msgid ""
 "                                    \"CVE-2011-1554\"\n"
 "                                    \"CVE-2011-5244\")))))\n"
 msgstr ""
+"(package\n"
+"  (name \"t1lib\")\n"
+"  ;; @dots{}\n"
+"  ;; Diese CVEs treffen nicht mehr zu und können bedenkenlos ignoriert\n"
+"  ;; werden.\n"
+"  (properties `((lint-hidden-cve . (\"CVE-2011-0433\"\n"
+"                                    \"CVE-2011-1553\"\n"
+"                                    \"CVE-2011-1554\"\n"
+"                                    \"CVE-2011-5244\")))))\n"
 
 #. type: item
 #: doc/guix.texi:7651
 #, no-wrap
 msgid "formatting"
-msgstr ""
+msgstr "Formatierung"
 
 #. type: table
 #: doc/guix.texi:7654
 msgid "Warn about obvious source code formatting issues: trailing white space, use of tabulations, etc."
-msgstr ""
+msgstr "Offensichtliche Fehler bei der Formatierung von Quellcode melden, z.B. Leerraum-Zeichen am Zeilenende oder Nutzung von Tabulatorzeichen."
 
 #. type: example
 #: doc/guix.texi:7660
 #, no-wrap
 msgid "guix lint @var{options} @var{package}@dots{}\n"
-msgstr ""
+msgstr "guix lint @var{Optionen} @var{Pakete}@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:7664
 msgid "If no package is given on the command line, then all packages are checked.  The @var{options} may be zero or more of the following:"
-msgstr ""
+msgstr "Wird kein Paket auf der Befehlszeile angegeben, dann werden alle Pakete geprüft, die es gibt. Als @var{Optionen} können null oder mehr der folgenden Befehlszeilenoptionen übergeben werden:"
 
 #. type: item
 #: doc/guix.texi:7666
 #, no-wrap
 msgid "--list-checkers"
-msgstr ""
+msgstr "--list-checkers"
 
 #. type: table
 #: doc/guix.texi:7670
 msgid "List and describe all the available checkers that will be run on packages and exit."
-msgstr ""
+msgstr "Alle verfügbaren Prüfer für die Pakete auflisten und beschreiben."
 
 #. type: item
 #: doc/guix.texi:7671
 #, no-wrap
 msgid "--checkers"
-msgstr ""
+msgstr "--checkers"
 
 #. type: itemx
 #: doc/guix.texi:7672
 #, no-wrap
 msgid "-c"
-msgstr ""
+msgstr "-c"
 
 #. type: table
 #: doc/guix.texi:7675
 msgid "Only enable the checkers specified in a comma-separated list using the names returned by @code{--list-checkers}."
-msgstr ""
+msgstr "Nur die Prüfer aktivieren, die hiernach in einer kommagetrennten Liste aus von @code{--list-checkers} aufgeführten Prüfern vorkommen."
 
 #. type: section
 #: doc/guix.texi:7679
 #, no-wrap
 msgid "Invoking @command{guix size}"
-msgstr ""
+msgstr "@command{guix size} aufrufen"
 
 #. type: cindex
 #: doc/guix.texi:7681
 #, no-wrap
 msgid "size"
-msgstr ""
+msgstr "Größe"
 
 #. type: cindex
 #: doc/guix.texi:7682
 #, no-wrap
 msgid "package size"
-msgstr ""
+msgstr "Paketgröße"
 
 #. type: command{#1}
 #: doc/guix.texi:7684
 #, no-wrap
 msgid "guix size"
-msgstr ""
+msgstr "guix size"
 
 #. type: Plain text
 #: doc/guix.texi:7691
 msgid "The @command{guix size} command helps package developers profile the disk usage of packages.  It is easy to overlook the impact of an additional dependency added to a package, or the impact of using a single output for a package that could easily be split (@pxref{Packages with Multiple Outputs}).  Such are the typical issues that @command{guix size} can highlight."
-msgstr ""
+msgstr "Der Befehl @command{guix size} hilft Paketentwicklern dabei, den Plattenplatzverbrauch von Paketen zu profilieren. Es ist leicht, die Auswirkungen zu unterschätzen, die das Hinzufügen zusätzlicher Abhängigkeiten zu einem Paket hat oder die das Verwenden einer einzelnen Ausgabe für ein leicht aufteilbares Paket ausmacht (siehe @ref{Packages with Multiple Outputs}). Das sind typische Probleme, auf die @command{guix size} aufmerksam machen kann."
 
 #. type: Plain text
 #: doc/guix.texi:7696
 msgid "The command can be passed one or more package specifications such as @code{gcc@@4.8} or @code{guile:debug}, or a file name in the store.  Consider this example:"
-msgstr ""
+msgstr "Dem Befehl können eine oder mehrere Paketspezifikationen wie @code{gcc@@4.8} oder @code{guile:debug} übergeben werden, oder ein Dateiname im Store. Betrachten Sie dieses Beispiel:"
 
 #. type: example
 #: doc/guix.texi:7709
@@ -14027,42 +14112,53 @@ msgid ""
 "/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%\n"
 "total: 78.9 MiB\n"
 msgstr ""
+"$ guix size coreutils\n"
+"Store-Objekt                            Gesamt   Selbst\n"
+"/gnu/store/@dots{}-gcc-5.5.0-lib           60.4    30.1  38.1%\n"
+"/gnu/store/@dots{}-glibc-2.27              30.3    28.8  36.6%\n"
+"/gnu/store/@dots{}-coreutils-8.28          78.9    15.0  19.0%\n"
+"/gnu/store/@dots{}-gmp-6.1.2               63.1     2.7   3.4%\n"
+"/gnu/store/@dots{}-bash-static-4.4.12       1.5     1.5   1.9%\n"
+"/gnu/store/@dots{}-acl-2.2.52              61.1     0.4   0.5%\n"
+"/gnu/store/@dots{}-attr-2.4.47             60.6     0.2   0.3%\n"
+"/gnu/store/@dots{}-libcap-2.25             60.5     0.2   0.2%\n"
+"Gesamt: 78.9 MiB\n"
 
 #. type: Plain text
 #: doc/guix.texi:7715
 msgid "The store items listed here constitute the @dfn{transitive closure} of Coreutils---i.e., Coreutils and all its dependencies, recursively---as would be returned by:"
-msgstr ""
+msgstr "Die hier aufgelisteten Store-Objekte bilden den @dfn{transitiven Abschluss} der Coreutils — d.h. die Coreutils und all ihre Abhängigkeiten und deren Abhängigkeiten, rekursiv —, wie sie hiervon angezeigt würden:<f"
 
 #. type: example
 #: doc/guix.texi:7718
 #, no-wrap
 msgid "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
-msgstr ""
+msgstr "$ guix gc -R /gnu/store/@dots{}-coreutils-8.23\n"
 
 #. type: Plain text
 #: doc/guix.texi:7726
 msgid "Here the output shows three columns next to store items.  The first column, labeled ``total'', shows the size in mebibytes (MiB) of the closure of the store item---that is, its own size plus the size of all its dependencies.  The next column, labeled ``self'', shows the size of the item itself.  The last column shows the ratio of the size of the item itself to the space occupied by all the items listed here."
-msgstr ""
+msgstr "Hier zeigt die Ausgabe neben den Store-Objekten noch drei Spalten. Die erste Spalte namens »Gesamt« gibt wieder, wieviele Mebibytes (MiB) der Abschluss des Store-Objekts groß ist — das heißt, dessen eigene Größe plus die Größe all seiner Abhängigkeiten. Die nächste Spalte, bezeichnet mit »Selbst«, zeigt die Größe nur dieses Objekts an. Die letzte Spalte zeigt das Verhältnis der Größe des Objekts zur Gesamtgröße aller hier aufgelisteten Objekte an."
 
 #. type: Plain text
 #: doc/guix.texi:7732
 msgid "In this example, we see that the closure of Coreutils weighs in at 79@tie{}MiB, most of which is taken by libc and GCC's run-time support libraries.  (That libc and GCC's libraries represent a large fraction of the closure is not a problem @i{per se} because they are always available on the system anyway.)"
-msgstr ""
+msgstr "In diesem Beispiel sehen wir, dass der Abschluss der Coreutils 79@tie{}MiB schwer ist, wovon das meiste durch libc und die Bibliotheken zur Laufzeitunterstützung von GCC ausgemacht wird. (Dass libc und die Bibliotheken vom GCC einen großen Anteil am Abschluss ausmachen, ist aber an sich noch kein Problem, weil es Bibliotheken sind, die auf dem System sowieso immer verfügbar sein müssen.)"
 
 #. type: Plain text
 #: doc/guix.texi:7741
 msgid "When the package(s) passed to @command{guix size} are available in the store@footnote{More precisely, @command{guix size} looks for the @emph{ungrafted} variant of the given package(s), as returned by @code{guix build @var{package} --no-grafts}.  @xref{Security Updates}, for information on grafts.}, @command{guix size} queries the daemon to determine its dependencies, and measures its size in the store, similar to @command{du -ms --apparent-size} (@pxref{du invocation,,, coreutils, GNU Coreutils})."
-msgstr ""
+msgstr "Wenn das oder die Paket(e), die an @command{guix size} übergeben wurden, im Store verfügbar sind@footnote{Genauer gesagt braucht @command{guix size} die @emph{nicht veredelte} Variante des angegebenen Pakets bzw. der Pakete, wie @code{guix build @var{Paket} --no-grafts} sie liefert. Siehe @ref{Security Updates} für Informationen über Veredelungen.}, beauftragen Sie mit @command{guix size} den Daemon, die Abhängigkeiten davon zu bestimmen und deren Größe im Store zu messen, ähnlich wie es mit @command{du -ms --apparent-size} geschehen würde (siehe @ref{du invocation,,, coreutils, GNU Coreutils})."
 
 #. type: Plain text
 #: doc/guix.texi:7746
 msgid "When the given packages are @emph{not} in the store, @command{guix size} reports information based on the available substitutes (@pxref{Substitutes}).  This makes it possible it to profile disk usage of store items that are not even on disk, only available remotely."
-msgstr ""
+msgstr "Wenn die übergebenen Pakete @emph{nicht} im Store liegen, erstattet @command{guix size} Bericht mit Informationen, die aus verfügbaren Substituten herausgelesen werden (siehe @ref{Substitutes}). Dadurch kann die Plattenausnutzung von Store-Objekten profiliert werden, die gar nicht auf der Platte liegen und nur auf entfernten Rechnern vorhanden sind."
 
 #. type: Plain text
 #: doc/guix.texi:7748
 msgid "You can also specify several package names:"
-msgstr ""
+msgstr "Sie können auch mehrere Paketnamen angeben:"
 
 #. type: example
 #: doc/guix.texi:7758
@@ -14077,391 +14173,399 @@ msgid ""
 "@dots{}\n"
 "total: 102.3 MiB\n"
 msgstr ""
+"$ guix size coreutils grep sed bash\n"
+"Store-Objekt                            Gesamt   Selbst\n"
+"/gnu/store/@dots{}-coreutils-8.24          77.8    13.8  13.4%\n"
+"/gnu/store/@dots{}-grep-2.22               73.1     0.8   0.8%\n"
+"/gnu/store/@dots{}-bash-4.3.42             72.3     4.7   4.6%\n"
+"/gnu/store/@dots{}-readline-6.3            67.6     1.2   1.2%\n"
+"@dots{}\n"
+"Gesamt: 102.3 MiB\n"
 
 #. type: Plain text
 #: doc/guix.texi:7764
 msgid "In this example we see that the combination of the four packages takes 102.3@tie{}MiB in total, which is much less than the sum of each closure since they have a lot of dependencies in common."
-msgstr ""
+msgstr "In diesem Beispiel sehen wir, dass die Kombination der vier Pakete insgesamt 102,3@tie{}MiB Platz verbraucht, was wesentlich weniger als die Summe der einzelnen Abschlüsse ist, weil diese viele Abhängigkeiten gemeinsam verwenden."
 
 #. type: Plain text
 #: doc/guix.texi:7766
 msgid "The available options are:"
-msgstr ""
+msgstr "Die verfügbaren Befehlszeilenoptionen sind:"
 
 #. type: table
 #: doc/guix.texi:7772
 msgid "Use substitute information from @var{urls}.  @xref{client-substitute-urls, the same option for @code{guix build}}."
-msgstr ""
+msgstr "Substitutinformationen von den @var{URLs} benutzen. Siehe @ref{client-substitute-urls, dieselbe Option bei @code{guix build}}."
 
 #. type: item
 #: doc/guix.texi:7773
 #, no-wrap
 msgid "--sort=@var{key}"
-msgstr ""
+msgstr "--sort=@var{Schlüssel}"
 
 #. type: table
 #: doc/guix.texi:7775
 msgid "Sort lines according to @var{key}, one of the following options:"
-msgstr ""
+msgstr "Zeilen anhand des @var{Schlüssel}s sortieren, der eine der folgenden Alternativen sein muss:"
 
 #. type: item
 #: doc/guix.texi:7777
 #, no-wrap
 msgid "self"
-msgstr ""
+msgstr "self"
 
 #. type: table
 #: doc/guix.texi:7779
 msgid "the size of each item (the default);"
-msgstr ""
+msgstr "die Größe jedes Objekts (die Vorgabe),"
 
 #. type: table
 #: doc/guix.texi:7781
 msgid "the total size of the item's closure."
-msgstr ""
+msgstr "die Gesamtgröße des Abschlusses des Objekts."
 
 #. type: item
 #: doc/guix.texi:7783
 #, no-wrap
 msgid "--map-file=@var{file}"
-msgstr ""
+msgstr "--map-file=@var{Datei}"
 
 #. type: table
 #: doc/guix.texi:7785
 msgid "Write a graphical map of disk usage in PNG format to @var{file}."
-msgstr ""
+msgstr "Eine grafische Darstellung des Plattenplatzverbrauchs als eine PNG-formatierte Karte in die @var{Datei} schreiben."
 
 #. type: table
 #: doc/guix.texi:7787
 msgid "For the example above, the map looks like this:"
-msgstr ""
+msgstr "Für das Beispiel oben sieht die Karte so aus:"
 
 #. type: table
 #: doc/guix.texi:7790
 msgid "@image{images/coreutils-size-map,5in,, map of Coreutils disk usage produced by @command{guix size}}"
-msgstr ""
+msgstr "@image{images/coreutils-size-map,5in,, Karte der Plattenausnutzung der Coreutils, erzeugt mit @command{guix size}}"
 
 #. type: table
 #: doc/guix.texi:7795
 msgid "This option requires that @uref{http://wingolog.org/software/guile-charting/, Guile-Charting} be installed and visible in Guile's module search path.  When that is not the case, @command{guix size} fails as it tries to load it."
-msgstr ""
+msgstr "Diese Befehlszeilenoption setzt voraus, dass @uref{http://wingolog.org/software/guile-charting/, Guile-Charting} installiert und im Suchpfad für Guile-Module sichtbar ist. Falls nicht, schlägt @command{guix size} beim Versuch fehl, dieses Modul zu laden."
 
 #. type: table
 #: doc/guix.texi:7799
 msgid "Consider packages for @var{system}---e.g., @code{x86_64-linux}."
-msgstr ""
+msgstr "Pakete für dieses @var{System} betrachten — z.B. für @code{x86_64-linux}."
 
 #. type: section
 #: doc/guix.texi:7803
 #, no-wrap
 msgid "Invoking @command{guix graph}"
-msgstr ""
+msgstr "@command{guix graph} aufrufen"
 
 #. type: cindex
 #: doc/guix.texi:7805
 #, no-wrap
 msgid "DAG"
-msgstr ""
+msgstr "DAG"
 
 #. type: command{#1}
 #: doc/guix.texi:7806
 #, no-wrap
 msgid "guix graph"
-msgstr ""
+msgstr "guix graph"
 
 #. type: Plain text
 #: doc/guix.texi:7820
 msgid "Packages and their dependencies form a @dfn{graph}, specifically a directed acyclic graph (DAG).  It can quickly become difficult to have a mental model of the package DAG, so the @command{guix graph} command provides a visual representation of the DAG.  By default, @command{guix graph} emits a DAG representation in the input format of @uref{http://www.graphviz.org/, Graphviz}, so its output can be passed directly to the @command{dot} command of Graphviz.  It can also emit an HTML page with embedded JavaScript code to display a ``chord diagram'' in a Web browser, using the @uref{https://d3js.org/, d3.js} library, or emit Cypher queries to construct a graph in a graph database supporting the @uref{http://www.opencypher.org/, openCypher} query language.  The general syntax is:"
-msgstr ""
+msgstr "Pakete und ihre Abhängigkeiten bilden einen @dfn{Graphen}, genauer gesagt einen gerichteten azyklischen Graphen (englisch »Directed Acyclic Graph«, kurz DAG). Es kann schnell schwierig werden, ein Modell eines Paket-DAGs vor dem geistigen Auge zu behalten, weshalb der Befehl @command{guix graph} eine visuelle Darstellung des DAGs bietet. Das vorgegebene Verhalten von @command{guix graph} ist, eine DAG-Darstellung im Eingabeformat von @uref{http://www.graphviz.org/, Graphviz} auszugeben, damit die Ausgabe direkt an den Befehl @command{dot} aus Graphviz weitergeleitet werden kann. Es kann aber auch eine HTML-Seite mit eingebettetem JavaScript-Code ausgegeben werden, um ein »Sehnendiagramm« (englisch »Chord Diagram«) in einem Web-Browser anzuzeigen, mit Hilfe der Bibliothek @uref{https://d3js.org/, d3.js}, oder es können Cypher-Anfragen ausgegeben werden, mit denen eine die Anfragesprache @uref{http://www.opencypher.org/, openCypher} unterstützende Graph-Datenbank einen Graphen konstruieren kann. Die allgemeine Syntax ist:"
 
 #. type: example
 #: doc/guix.texi:7823
 #, no-wrap
 msgid "guix graph @var{options} @var{package}@dots{}\n"
-msgstr ""
+msgstr "guix graph @var{Optionen} @var{Pakete}@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:7828
 msgid "For example, the following command generates a PDF file representing the package DAG for the GNU@tie{}Core Utilities, showing its build-time dependencies:"
-msgstr ""
+msgstr "Zum Beispiel erzeugt der folgende Befehl eine PDF-Datei, die den Paket-DAG für die GNU@tie{}Core Utilities darstellt, welcher ihre Abhängigkeiten zur Erstellungszeit anzeigt:"
 
 #. type: example
 #: doc/guix.texi:7831
 #, no-wrap
 msgid "guix graph coreutils | dot -Tpdf > dag.pdf\n"
-msgstr ""
+msgstr "guix graph coreutils | dot -Tpdf > dag.pdf\n"
 
 #. type: Plain text
 #: doc/guix.texi:7834
 msgid "The output looks like this:"
-msgstr ""
+msgstr "Die Ausgabe sieht so aus:"
 
 #. type: Plain text
 #: doc/guix.texi:7836
 msgid "@image{images/coreutils-graph,2in,,Dependency graph of the GNU Coreutils}"
-msgstr ""
+msgstr "@image{images/coreutils-graph,2in,,Abhängigkeitsgraph der GNU Coreutils}"
 
 #. type: Plain text
 #: doc/guix.texi:7838
 msgid "Nice little graph, no?"
-msgstr ""
+msgstr "Ein netter, kleiner Graph, oder?"
 
 #. type: Plain text
 #: doc/guix.texi:7844
 msgid "But there is more than one graph! The one above is concise: it is the graph of package objects, omitting implicit inputs such as GCC, libc, grep, etc.  It is often useful to have such a concise graph, but sometimes one may want to see more details.  @command{guix graph} supports several types of graphs, allowing you to choose the level of detail:"
-msgstr ""
+msgstr "Aber es gibt mehr als eine Art von Graph! Der Graph oben ist kurz und knapp: Es ist der Graph der Paketobjekte, ohne implizite Eingaben wie GCC, libc, grep und so weiter. Oft möchte man einen knappen Graphen sehen, aber manchmal will man auch mehr Details sehen. @command{guix graph} unterstützt mehrere Typen von Graphen; Sie können den Detailgrad auswählen."
 
 #. type: table
 #: doc/guix.texi:7850
 msgid "This is the default type used in the example above.  It shows the DAG of package objects, excluding implicit dependencies.  It is concise, but filters out many details."
-msgstr ""
+msgstr "Der vorgegebene Typ aus dem Beispiel oben. Er zeigt den DAG der Paketobjekte ohne implizite Abhängigkeiten. Er ist knapp, filtert aber viele Details heraus."
 
 #. type: item
 #: doc/guix.texi:7851
 #, no-wrap
 msgid "reverse-package"
-msgstr ""
+msgstr "reverse-package"
 
 #. type: table
 #: doc/guix.texi:7853
 msgid "This shows the @emph{reverse} DAG of packages.  For example:"
-msgstr ""
+msgstr "Dies zeigt den @emph{umgekehrten} DAG der Pakete. Zum Beispiel:"
 
 #. type: example
 #: doc/guix.texi:7856
 #, no-wrap
 msgid "guix graph --type=reverse-package ocaml\n"
-msgstr ""
+msgstr "guix graph --type=reverse-package ocaml\n"
 
 #. type: table
 #: doc/guix.texi:7859
 msgid "... yields the graph of packages that depend on OCaml."
-msgstr ""
+msgstr "… ergibt den Graphen der Pakete, die von OCaml abhängen."
 
 #. type: table
 #: doc/guix.texi:7864
 msgid "Note that for core packages this can yield huge graphs.  If all you want is to know the number of packages that depend on a given package, use @command{guix refresh --list-dependent} (@pxref{Invoking guix refresh, @option{--list-dependent}})."
-msgstr ""
+msgstr "Beachten Sie, dass für Kernpakete damit gigantische Graphen entstehen können. Wenn Sie nur die Anzahl der Pakete wissen wollen, die von einem gegebenen Paket abhängen, benutzen Sie @command{guix refresh --list-dependent} (siehe @ref{Invoking guix refresh, @option{--list-dependent}})."
 
 #. type: item
 #: doc/guix.texi:7865
 #, no-wrap
 msgid "bag-emerged"
-msgstr ""
+msgstr "bag-emerged"
 
 #. type: table
 #: doc/guix.texi:7867
 msgid "This is the package DAG, @emph{including} implicit inputs."
-msgstr ""
+msgstr "Dies ist der Paket-DAG @emph{einschließlich} impliziter Eingaben."
 
 #. type: table
 #: doc/guix.texi:7869
 msgid "For instance, the following command:"
-msgstr ""
+msgstr "Zum Beispiel liefert der folgende Befehl:"
 
 #. type: example
 #: doc/guix.texi:7872
 #, no-wrap
 msgid "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n"
-msgstr ""
+msgstr "guix graph --type=bag-emerged coreutils | dot -Tpdf > dag.pdf\n"
 
 #. type: table
 #: doc/guix.texi:7875
 msgid "... yields this bigger graph:"
-msgstr ""
+msgstr "… diesen größeren Graphen:"
 
 #. type: table
 #: doc/guix.texi:7877
 msgid "@image{images/coreutils-bag-graph,,5in,Detailed dependency graph of the GNU Coreutils}"
-msgstr ""
+msgstr "@image{images/coreutils-bag-graph,,5in,Detaillierter Abhängigkeitsgraph der GNU Coreutils}"
 
 #. type: table
 #: doc/guix.texi:7880
 msgid "At the bottom of the graph, we see all the implicit inputs of @var{gnu-build-system} (@pxref{Build Systems, @code{gnu-build-system}})."
-msgstr ""
+msgstr "Am unteren Rand des Graphen sehen wir alle impliziten Eingaben des @var{gnu-build-system} (siehe @ref{Build Systems, @code{gnu-build-system}})."
 
 #. type: table
 #: doc/guix.texi:7884
 msgid "Now, note that the dependencies of these implicit inputs---that is, the @dfn{bootstrap dependencies} (@pxref{Bootstrapping})---are not shown here, for conciseness."
-msgstr ""
+msgstr "Beachten Sie dabei aber, dass auch hier die Abhängigkeiten dieser impliziten Eingaben — d.h. die @dfn{Bootstrap-Abhängigkeiten} (siehe @ref{Bootstrapping}) — nicht gezeigt werden, damit der Graph knapper bleibt."
 
 #. type: item
 #: doc/guix.texi:7885
 #, no-wrap
 msgid "bag"
-msgstr ""
+msgstr "bag"
 
 #. type: table
 #: doc/guix.texi:7888
 msgid "Similar to @code{bag-emerged}, but this time including all the bootstrap dependencies."
-msgstr ""
+msgstr "Ähnlich wie @code{bag-emerged}, aber diesmal mit allen Bootstrap-Abhängigkeiten."
 
 #. type: item
 #: doc/guix.texi:7889
 #, no-wrap
 msgid "bag-with-origins"
-msgstr ""
+msgstr "bag-with-origins"
 
 #. type: table
 #: doc/guix.texi:7891
 msgid "Similar to @code{bag}, but also showing origins and their dependencies."
-msgstr ""
+msgstr "Ähnlich wie @code{bag}, aber auch mit den Ursprüngen und deren Abhängigkeiten."
 
 #. type: table
 #: doc/guix.texi:7897
 msgid "This is the most detailed representation: It shows the DAG of derivations (@pxref{Derivations}) and plain store items.  Compared to the above representation, many additional nodes are visible, including build scripts, patches, Guile modules, etc."
-msgstr ""
+msgstr "Diese Darstellung ist am detailliertesten: Sie zeigt den DAG der Ableitungen (siehe @ref{Derivations}) und der einfachen Store-Objekte. Verglichen mit obiger Darstellung sieht man viele zusätzliche Knoten einschließlich Erstellungs-Skripts, Patches, Guile-Module usw."
 
 #. type: table
 #: doc/guix.texi:7900
 msgid "For this type of graph, it is also possible to pass a @file{.drv} file name instead of a package name, as in:"
-msgstr ""
+msgstr "Für diesen Typ Graph kann auch der Name einer @file{.drv}-Datei anstelle eines Paketnamens angegeben werden, etwa so:"
 
 #. type: example
 #: doc/guix.texi:7903
 #, no-wrap
 msgid "guix graph -t derivation `guix system build -d my-config.scm`\n"
-msgstr ""
+msgstr "guix graph -t derivation `guix system build -d my-config.scm`\n"
 
 #. type: item
 #: doc/guix.texi:7905
 #, no-wrap
 msgid "module"
-msgstr ""
+msgstr "module"
 
 #. type: table
 #: doc/guix.texi:7909
 msgid "This is the graph of @dfn{package modules} (@pxref{Package Modules}).  For example, the following command shows the graph for the package module that defines the @code{guile} package:"
-msgstr ""
+msgstr "Dies ist der Graph der @dfn{Paketmodule} (siehe @ref{Package Modules}). Zum Beispiel zeigt der folgende Befehl den Graph für das Paketmodul an, das das @code{guile}-Paket definiert:"
 
 #. type: example
 #: doc/guix.texi:7912
 #, no-wrap
 msgid "guix graph -t module guile | dot -Tpdf > module-graph.pdf\n"
-msgstr ""
+msgstr "guix graph -t module guile | dot -Tpdf > modul-graph.pdf\n"
 
 #. type: Plain text
 #: doc/guix.texi:7917
 msgid "All the types above correspond to @emph{build-time dependencies}.  The following graph type represents the @emph{run-time dependencies}:"
-msgstr ""
+msgstr "Alle oben genannten Typen entsprechen @emph{Abhängigkeiten zur Erstellungszeit}. Der folgende Graphtyp repräsentiert die @emph{Abhängigkeiten zur Laufzeit}:"
 
 #. type: item
 #: doc/guix.texi:7919
 #, no-wrap
 msgid "references"
-msgstr ""
+msgstr "references"
 
 #. type: table
 #: doc/guix.texi:7922
 msgid "This is the graph of @dfn{references} of a package output, as returned by @command{guix gc --references} (@pxref{Invoking guix gc})."
-msgstr ""
+msgstr "Dies ist der Graph der @dfn{Referenzen} einer Paketausgabe, wie @command{guix gc --references} sie liefert (siehe @ref{Invoking guix gc})."
 
 #. type: table
 #: doc/guix.texi:7925
 msgid "If the given package output is not available in the store, @command{guix graph} attempts to obtain dependency information from substitutes."
-msgstr ""
+msgstr "Wenn die angegebene Paketausgabe im Store nicht verfügbar ist, versucht @command{guix graph}, die Abhängigkeitsinformationen aus Substituten zu holen."
 
 #. type: table
 #: doc/guix.texi:7929
 msgid "Here you can also pass a store file name instead of a package name.  For example, the command below produces the reference graph of your profile (which can be big!):"
-msgstr ""
+msgstr "Hierbei können Sie auch einen Store-Dateinamen statt eines Paketnamens angeben. Zum Beispiel generiert der Befehl unten den Referenzgraphen Ihres Profils (der sehr groß werden kann!):"
 
 #. type: example
 #: doc/guix.texi:7932
 #, no-wrap
 msgid "guix graph -t references `readlink -f ~/.guix-profile`\n"
-msgstr ""
+msgstr "guix graph -t references `readlink -f ~/.guix-profile`\n"
 
 #. type: item
 #: doc/guix.texi:7934
 #, no-wrap
 msgid "referrers"
-msgstr ""
+msgstr "referrers"
 
 #. type: table
 #: doc/guix.texi:7937
 msgid "This is the graph of the @dfn{referrers} of a store item, as returned by @command{guix gc --referrers} (@pxref{Invoking guix gc})."
-msgstr ""
+msgstr "Dies ist der Graph der ein Store-Objekt @dfn{referenzierenden} Objekte, wie @command{guix gc --referrers} sie liefern würde (siehe @ref{Invoking guix gc})."
 
 #. type: table
 #: doc/guix.texi:7943
 msgid "This relies exclusively on local information from your store.  For instance, let us suppose that the current Inkscape is available in 10 profiles on your machine; @command{guix graph -t referrers inkscape} will show a graph rooted at Inkscape and with those 10 profiles linked to it."
-msgstr ""
+msgstr "Er basiert ausschließlich auf lokalen Informationen aus Ihrem Store. Nehmen wir zum Beispiel an, dass das aktuelle Inkscape in 10 Profilen verfügbar ist, dann wird @command{guix graph -t referrers inkscape} einen Graph zeigen, der bei Inkscape gewurzelt ist und Kanten zu diesen 10 Profilen hat."
 
 #. type: table
 #: doc/guix.texi:7946
 msgid "It can help determine what is preventing a store item from being garbage collected."
-msgstr ""
+msgstr "Ein solcher Graph kann dabei helfen, herauszufinden, weshalb ein Store-Objekt nicht vom Müllsammler abgeholt werden kann."
 
 #. type: Plain text
 #: doc/guix.texi:7950
 msgid "The available options are the following:"
-msgstr ""
+msgstr "Folgendes sind die verfügbaren Befehlszeilenoptionen:"
 
 #. type: table
 #: doc/guix.texi:7956
 msgid "Produce a graph output of @var{type}, where @var{type} must be one of the values listed above."
-msgstr ""
+msgstr "Eine Graph-Ausgabe dieses @var{Typ}s generieren. Dieser @var{Typ} muss einer der oben genannten Werte sein."
 
 #. type: item
 #: doc/guix.texi:7957
 #, no-wrap
 msgid "--list-types"
-msgstr ""
+msgstr "--list-types"
 
 #. type: table
 #: doc/guix.texi:7959
 msgid "List the supported graph types."
-msgstr ""
+msgstr "Die unterstützten Graph-Typen auflisten."
 
 #. type: item
 #: doc/guix.texi:7960
 #, no-wrap
 msgid "--backend=@var{backend}"
-msgstr ""
+msgstr "--backend=@var{Backend}"
 
 #. type: itemx
 #: doc/guix.texi:7961
 #, no-wrap
 msgid "-b @var{backend}"
-msgstr ""
+msgstr "-b @var{Backend}"
 
 #. type: table
 #: doc/guix.texi:7963
 msgid "Produce a graph using the selected @var{backend}."
-msgstr ""
+msgstr "Einen Graph mit Hilfe des ausgewählten @var{Backend}s generieren."
 
 #. type: item
 #: doc/guix.texi:7964
 #, no-wrap
 msgid "--list-backends"
-msgstr ""
+msgstr "--list-backends"
 
 #. type: table
 #: doc/guix.texi:7966
 msgid "List the supported graph backends."
-msgstr ""
+msgstr "Die unterstützten Graph-Backends auflisten."
 
 #. type: table
 #: doc/guix.texi:7968
 msgid "Currently, the available backends are Graphviz and d3.js."
-msgstr ""
+msgstr "Derzeit sind die verfügbaren Backends Graphviz und d3.js."
 
 #. type: example
 #: doc/guix.texi:7977
 #, no-wrap
 msgid "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"
-msgstr ""
+msgstr "guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'\n"
 
 #. type: table
 #: doc/guix.texi:7982
 msgid "Display the graph for @var{system}---e.g., @code{i686-linux}."
-msgstr ""
+msgstr "Den Graphen für das @var{System} anzeigen — z.B. @code{i686-linux}."
 
 #. type: table
 #: doc/guix.texi:7985
 msgid "The package dependency graph is largely architecture-independent, but there are some architecture-dependent bits that this option allows you to visualize."
-msgstr ""
+msgstr "Der Abhängigkeitsgraph ist größtenteils von der Systemarchitektur unabhängig, aber ein paar architekturabhängige Teile können Ihnen mit dieser Befehlszeilenoption visualisiert werden."
 
 #. type: section
 #: doc/guix.texi:7989
@@ -14518,7 +14622,7 @@ msgstr "guix environment guile\n"
 #. type: Plain text
 #: doc/guix.texi:8029
 msgid "If the needed dependencies are not built yet, @command{guix environment} automatically builds them.  The environment of the new shell is an augmented version of the environment that @command{guix environment} was run in.  It contains the necessary search paths for building the given package added to the existing environment variables.  To create a ``pure'' environment, in which the original environment variables have been unset, use the @code{--pure} option@footnote{Users sometimes wrongfully augment environment variables such as @code{PATH} in their @file{~/.bashrc} file.  As a consequence, when @code{guix environment} launches it, Bash may read @file{~/.bashrc}, thereby introducing ``impurities'' in these environment variables.  It is an error to define such environment variables in @file{.bashrc}; instead, they should be defined in @file{.bash_profile}, which is sourced only by log-in shells.  @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, for details on Bash start-up files.}."
-msgstr "Wenn benötigte Abhängigkeiten noch nicht erstellt worden sind, wird @command{guix environment} sie automatisch erstellen lassen. Die Umgebung der neuen Shell ist eine ergänzte Version der Umgebung, in der @command{guix environment} ausgeführt wurde. Sie enthält neben den existierenden Umgebungsvariablen auch die nötigen Suchpfade, um das angegebene Paket erstellen zu können. Um eine »reine« Umgebung zu erstellen, in der die ursprünglichen Umgebungsvariablen nicht mehr vorkommen, kann die Befehlszeilenoption @code{--pure} benutzt werden@footnote{Manchmal ergänzen Nutzer fälschlicherweise Umgebungsvariable wie @code{PATH} in ihrer @file{~/.bashrc}-Datei. Das hat zur Folge, dass wenn @code{guix environment} Bash startet, selbige @file{~/.bashrc} von Bash gelesen wird und die neuen Umgebungen somit »verunreinigt«. Es ist ein Fehler, solche Umgebungsvariable in @file{.bashrc} zu definieren, stattdessen sollten sie in @file{.bash_profile} geschrieben werden, was nur von Login-Shells mit »source« geladen wird. @xref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}, für Details über beim Starten von Bash gelesene Dateien}."
+msgstr "Wenn benötigte Abhängigkeiten noch nicht erstellt worden sind, wird @command{guix environment} sie automatisch erstellen lassen. Die Umgebung der neuen Shell ist eine ergänzte Version der Umgebung, in der @command{guix environment} ausgeführt wurde. Sie enthält neben den existierenden Umgebungsvariablen auch die nötigen Suchpfade, um das angegebene Paket erstellen zu können. Um eine »reine« Umgebung zu erstellen, in der die ursprünglichen Umgebungsvariablen nicht mehr vorkommen, kann die Befehlszeilenoption @code{--pure} benutzt werden@footnote{Manchmal ergänzen Nutzer fälschlicherweise Umgebungsvariable wie @code{PATH} in ihrer @file{~/.bashrc}-Datei. Das hat zur Folge, dass wenn @code{guix environment} Bash startet, selbige @file{~/.bashrc} von Bash gelesen wird und die neuen Umgebungen somit »verunreinigt«. Es ist ein Fehler, solche Umgebungsvariable in @file{.bashrc} zu definieren, stattdessen sollten sie in @file{.bash_profile} geschrieben werden, was nur von Login-Shells mit »source« geladen wird. Siehe @ref{Bash Startup Files,,, bash, The GNU Bash Reference Manual} für Details über beim Starten von Bash gelesene Dateien}."
 
 #. type: vindex
 #: doc/guix.texi:8030
@@ -14529,7 +14633,7 @@ msgstr "GUIX_ENVIRONMENT"
 #. type: Plain text
 #: doc/guix.texi:8036
 msgid "@command{guix environment} defines the @code{GUIX_ENVIRONMENT} variable in the shell it spawns; its value is the file name of the profile of this environment.  This allows users to, say, define a specific prompt for development environments in their @file{.bashrc} (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"
-msgstr "@command{guix environment} definiert die Variable @code{GUIX_ENVIRONMENT} in der neu erzeugten Shell. Ihr Wert ist der Dateiname des Profils dieser neuen Umgebung. Das könnten Nutzer verwenden, um zum Beispiel eine besondere Prompt als Eingabeaufforderung für Entwicklungsumgebungen in ihrer @file{.bashrc} festzulegen (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"
+msgstr "@command{guix environment} definiert die Variable @code{GUIX_ENVIRONMENT} in der neu erzeugten Shell. Ihr Wert ist der Dateiname des Profils dieser neuen Umgebung. Das könnten Nutzer verwenden, um zum Beispiel eine besondere Prompt als Eingabeaufforderung für Entwicklungsumgebungen in ihrer @file{.bashrc} festzulegen (siehe @ref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):"
 
 #. type: example
 #: doc/guix.texi:8042
@@ -14646,7 +14750,7 @@ msgstr "Das ist nützlich, um seine Umgebung vor dem Müllsammler zu schützen u
 #. type: table
 #: doc/guix.texi:8125
 msgid "When this option is omitted, the environment is protected from garbage collection only for the duration of the @command{guix environment} session.  This means that next time you recreate the same environment, you could have to rebuild or re-download packages.  @xref{Invoking guix gc}, for more on GC roots."
-msgstr "Wird diese Option weggelassen, ist die Umgebung nur, solange die Sitzung von @command{guix environment} besteht, vor dem Müllsammler sicher. Das bedeutet, wenn Sie das nächste Mal dieselbe Umgebung neu erzeugen, müssen Sie vielleicht Pakete neu erstellen oder neu herunterladen. @xref{Invoking guix gc} hat mehr Informationen über Müllsammlerwurzeln."
+msgstr "Wird diese Option weggelassen, ist die Umgebung nur, solange die Sitzung von @command{guix environment} besteht, vor dem Müllsammler sicher. Das bedeutet, wenn Sie das nächste Mal dieselbe Umgebung neu erzeugen, müssen Sie vielleicht Pakete neu erstellen oder neu herunterladen. @ref{Invoking guix gc} hat mehr Informationen über Müllsammlerwurzeln."
 
 #. type: table
 #: doc/guix.texi:8130
@@ -14727,7 +14831,7 @@ msgstr "Eine Umgebung für die Pakete erzeugen, die im Manifest-Objekt enthalten
 #. type: table
 #: doc/guix.texi:8175
 msgid "This is similar to the same-named option in @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) and uses the same manifest files."
-msgstr "Dies verhält sich ähnlich wie die gleichnamige Option des Befehls @command{guix package} (@pxref{profile-manifest, @option{--manifest}}) und benutzt auch dieselben Manifestdateien."
+msgstr "Dies verhält sich ähnlich wie die gleichnamige Option des Befehls @command{guix package} (siehe @ref{profile-manifest, @option{--manifest}}) und benutzt auch dieselben Manifestdateien."
 
 #. type: item
 #: doc/guix.texi:8176
@@ -14759,7 +14863,7 @@ msgstr "@command{guile} in einer Umgebung ausgeführt, in der sowohl Guile als a
 #. type: table
 #: doc/guix.texi:8195
 msgid "Note that this example implicitly asks for the default output of @code{guile} and @code{guile-sdl}, but it is possible to ask for a specific output---e.g., @code{glib:bin} asks for the @code{bin} output of @code{glib} (@pxref{Packages with Multiple Outputs})."
-msgstr "Beachten Sie, dass in diesem Beispiel implizit die vorgegebene Ausgabe von @code{guile} und @code{guile-sdl} verwendet wird, es aber auch möglich ist, eine bestimmte Ausgabe auszuwählen — z.B. wird mit @code{glib:bin} die Ausgabe @code{bin} von @code{glib} gewählt (@pxref{Packages with Multiple Outputs})."
+msgstr "Beachten Sie, dass in diesem Beispiel implizit die vorgegebene Ausgabe von @code{guile} und @code{guile-sdl} verwendet wird, es aber auch möglich ist, eine bestimmte Ausgabe auszuwählen — z.B. wird mit @code{glib:bin} die Ausgabe @code{bin} von @code{glib} gewählt (siehe @ref{Packages with Multiple Outputs})."
 
 #. type: table
 #: doc/guix.texi:8201
@@ -14945,7 +15049,7 @@ msgstr "guix environment --container --share=$HOME=/austausch --ad-hoc guile --
 #. type: Plain text
 #: doc/guix.texi:8305
 msgid "@command{guix environment} also supports all of the common build options that @command{guix build} supports (@pxref{Common Build Options})."
-msgstr "@command{guix environment} unterstützt auch alle gemeinsamen Erstellungsoptionen, die @command{guix build} unterstützt (@pxref{Common Build Options})."
+msgstr "@command{guix environment} unterstützt auch alle gemeinsamen Erstellungsoptionen, die @command{guix build} unterstützt (siehe @ref{Common Build Options})."
 
 #. type: section
 #: doc/guix.texi:8308
@@ -14962,7 +15066,7 @@ msgstr "guix publish"
 #. type: Plain text
 #: doc/guix.texi:8314
 msgid "The purpose of @command{guix publish} is to enable users to easily share their store with others, who can then use it as a substitute server (@pxref{Substitutes})."
-msgstr "Der Zweck von @command{guix publish} ist, es Nutzern zu ermöglichen, ihren Store auf einfache Weise mit anderen zu teilen, die ihn dann als Substitutserver einsetzen können (@pxref{Substitutes})."
+msgstr "Der Zweck von @command{guix publish} ist, es Nutzern zu ermöglichen, ihren Store auf einfache Weise mit anderen zu teilen, die ihn dann als Substitutserver einsetzen können (siehe @ref{Substitutes})."
 
 #. type: Plain text
 #: doc/guix.texi:8320
@@ -14972,12 +15076,12 @@ msgstr "Wenn @command{guix publish} ausgeführt wird, wird dadurch ein HTTP-Serv
 #. type: Plain text
 #: doc/guix.texi:8326
 msgid "For security, each substitute is signed, allowing recipients to check their authenticity and integrity (@pxref{Substitutes}).  Because @command{guix publish} uses the signing key of the system, which is only readable by the system administrator, it must be started as root; the @code{--user} option makes it drop root privileges early on."
-msgstr "Um Sicherheit zu gewährleisten, wird jedes Substitut signiert, so dass Empfänger dessen Authentizität und Integrität nachprüfen können (siehe @pxref{Substitutes}). Weil @command{guix publish} den Signierschlüssel des Systems benutzt, der nur vom Systemadministrator gelesen werden kann, muss es als der Administratornutzer »root« gestartet werden. Mit der Befehlszeilenoption @code{--user} werden Administratorrechte bald nach dem Start wieder abgelegt."
+msgstr "Um Sicherheit zu gewährleisten, wird jedes Substitut signiert, so dass Empfänger dessen Authentizität und Integrität nachprüfen können (siehe @ref{Substitutes}). Weil @command{guix publish} den Signierschlüssel des Systems benutzt, der nur vom Systemadministrator gelesen werden kann, muss es als der Administratornutzer »root« gestartet werden. Mit der Befehlszeilenoption @code{--user} werden Administratorrechte bald nach dem Start wieder abgelegt."
 
 #. type: Plain text
 #: doc/guix.texi:8330
 msgid "The signing key pair must be generated before @command{guix publish} is launched, using @command{guix archive --generate-key} (@pxref{Invoking guix archive})."
-msgstr "Das Schlüsselpaar zum Signieren muss erzeugt werden, bevor @command{guix publish} gestartet wird. Dazu können Sie @command{guix archive --generate-key} ausführen (@pxref{Invoking guix archive})."
+msgstr "Das Schlüsselpaar zum Signieren muss erzeugt werden, bevor @command{guix publish} gestartet wird. Dazu können Sie @command{guix archive --generate-key} ausführen (siehe @ref{Invoking guix archive})."
 
 #. type: example
 #: doc/guix.texi:8335
@@ -14999,7 +15103,7 @@ msgstr "guix publish\n"
 #. type: Plain text
 #: doc/guix.texi:8346
 msgid "Once a publishing server has been authorized (@pxref{Invoking guix archive}), the daemon may download substitutes from it:"
-msgstr "Sobald ein Server zum Veröffentlichen autorisiert wurde (@pxref{Invoking guix archive}), kann der Daemon davon Substitute herunterladen:"
+msgstr "Sobald ein Server zum Veröffentlichen autorisiert wurde (siehe @ref{Invoking guix archive}), kann der Daemon davon Substitute herunterladen:"
 
 #. type: example
 #: doc/guix.texi:8349
@@ -15010,12 +15114,12 @@ msgstr "guix-daemon --substitute-urls=http://example.org:8080\n"
 #. type: Plain text
 #: doc/guix.texi:8358
 msgid "By default, @command{guix publish} compresses archives on the fly as it serves them.  This ``on-the-fly'' mode is convenient in that it requires no setup and is immediately available.  However, when serving lots of clients, we recommend using the @option{--cache} option, which enables caching of the archives before they are sent to clients---see below for details.  The @command{guix weather} command provides a handy way to check what a server provides (@pxref{Invoking guix weather})."
-msgstr "Nach den Voreinstellungen komprimiert @command{guix publish} Archive erst dann, wenn sie angefragt werden. Dieser »dynamische« Modus bietet sich an, weil so nichts weiter eingerichtet werden muss und er direkt verfügbar ist. Wenn Sie allerdings viele Clients bedienen wollen, empfehlen wir, dass Sie die Befehlszeilenoption @option{--cache} benutzen, die das Zwischenspeichern der komprimierten Archive aktiviert, bevor diese an die Clients geschickt werden — siehe unten für Details. Mit dem Befehl @command{guix weather} haben Sie eine praktische Methode zur Hand, zu überprüfen, was so ein Server anbietet (@pxref{Invoking guix weather})."
+msgstr "Nach den Voreinstellungen komprimiert @command{guix publish} Archive erst dann, wenn sie angefragt werden. Dieser »dynamische« Modus bietet sich an, weil so nichts weiter eingerichtet werden muss und er direkt verfügbar ist. Wenn Sie allerdings viele Clients bedienen wollen, empfehlen wir, dass Sie die Befehlszeilenoption @option{--cache} benutzen, die das Zwischenspeichern der komprimierten Archive aktiviert, bevor diese an die Clients geschickt werden — siehe unten für Details. Mit dem Befehl @command{guix weather} haben Sie eine praktische Methode zur Hand, zu überprüfen, was so ein Server anbietet (siehe @ref{Invoking guix weather})."
 
 #. type: Plain text
 #: doc/guix.texi:8365
 msgid "As a bonus, @command{guix publish} also serves as a content-addressed mirror for source files referenced in @code{origin} records (@pxref{origin Reference}).  For instance, assuming @command{guix publish} is running on @code{example.org}, the following URL returns the raw @file{hello-2.10.tar.gz} file with the given SHA256 hash (represented in @code{nix-base32} format, @pxref{Invoking guix hash}):"
-msgstr "Als Bonus dient @command{guix publish} auch als inhaltsadressierbarer Spiegelserver für Quelldateien, die in @code{origin}-Verbundsobjekten eingetragen sind (@pxref{origin Reference}). Wenn wir zum Beispiel annehmen, dass @command{guix publish} auf @code{example.org} läuft, liefert folgende URL die rohe @file{hello-2.10.tar.gz}-Datei mit dem angegebenen SHA256-Hash als ihre Prüfsumme (dargestellt im @code{nix-base32}-Format, siehe @pxref{Invoking guix hash}):"
+msgstr "Als Bonus dient @command{guix publish} auch als inhaltsadressierbarer Spiegelserver für Quelldateien, die in @code{origin}-Verbundsobjekten eingetragen sind (siehe @ref{origin Reference}). Wenn wir zum Beispiel annehmen, dass @command{guix publish} auf @code{example.org} läuft, liefert folgende URL die rohe @file{hello-2.10.tar.gz}-Datei mit dem angegebenen SHA256-Hash als ihre Prüfsumme (dargestellt im @code{nix-base32}-Format, siehe @ref{Invoking guix hash}):"
 
 #. type: example
 #: doc/guix.texi:8368
@@ -15048,7 +15152,7 @@ msgstr "http://example.org/log/gwspk@dots{}-guile-2.2.3\n"
 #. type: Plain text
 #: doc/guix.texi:8388
 msgid "When @command{guix-daemon} is configured to save compressed build logs, as is the case by default (@pxref{Invoking guix-daemon}), @code{/log} URLs return the compressed log as-is, with an appropriate @code{Content-Type} and/or @code{Content-Encoding} header.  We recommend running @command{guix-daemon} with @code{--log-compression=gzip} since Web browsers can automatically decompress it, which is not the case with bzip2 compression."
-msgstr "Ist der @command{guix-daemon} so eingestellt, dass er Erstellungsprotokolle komprimiert abspeichert, wie es voreingestellt ist (@pxref{Invoking guix-daemon}), liefern @code{/log}-URLs das unveränderte komprimierte Protokoll, mit einer entsprechenden @code{Content-Type}- und/oder @code{Content-Encoding}-Kopfzeile. Wir empfehlen dabei, dass Sie den @command{guix-daemon} mit @code{--log-compression=gzip} ausführen, weil Web-Browser dieses Format automatisch dekomprimieren können, was bei bzip2-Kompression nicht der Fall ist."
+msgstr "Ist der @command{guix-daemon} so eingestellt, dass er Erstellungsprotokolle komprimiert abspeichert, wie es voreingestellt ist (siehe @ref{Invoking guix-daemon}), liefern @code{/log}-URLs das unveränderte komprimierte Protokoll, mit einer entsprechenden @code{Content-Type}- und/oder @code{Content-Encoding}-Kopfzeile. Wir empfehlen dabei, dass Sie den @command{guix-daemon} mit @code{--log-compression=gzip} ausführen, weil Web-Browser dieses Format automatisch dekomprimieren können, was bei bzip2-Kompression nicht der Fall ist."
 
 #. type: item
 #: doc/guix.texi:8392
@@ -15183,7 +15287,7 @@ msgstr "--nar-path=@var{Pfad}"
 #. type: table
 #: doc/guix.texi:8470
 msgid "Use @var{path} as the prefix for the URLs of ``nar'' files (@pxref{Invoking guix archive, normalized archives})."
-msgstr "Den @var{Pfad} als Präfix für die URLs von »nar«-Dateien benutzen (@pxref{Invoking guix archive, normalized archives})."
+msgstr "Den @var{Pfad} als Präfix für die URLs von »nar«-Dateien benutzen (siehe @ref{Invoking guix archive, normalized archives})."
 
 #. type: table
 #: doc/guix.texi:8474
@@ -15210,7 +15314,7 @@ msgstr "Die angegebenen @var{Datei}en als das Paar aus öffentlichem und private
 #. type: table
 #: doc/guix.texi:8486
 msgid "The files must correspond to the same key pair (the private key is used for signing and the public key is merely advertised in the signature metadata).  They must contain keys in the canonical s-expression format as produced by @command{guix archive --generate-key} (@pxref{Invoking guix archive}).  By default, @file{/etc/guix/signing-key.pub} and @file{/etc/guix/signing-key.sec} are used."
-msgstr "Die Dateien müssen demselben Schlüsselpaar entsprechen (der private Schlüssel wird zum Signieren benutzt, der öffentliche Schlüssel wird lediglich in den Metadaten der Signatur aufgeführt). Die Dateien müssen Schlüssel im kanonischen (»canonical«) S-Ausdruck-Format enthalten, wie es von @command{guix archive --generate-key} erzeugt wird (@pxref{Invoking guix archive}). Vorgegeben ist, dass @file{/etc/guix/signing-key.pub} und @file{/etc/guix/signing-key.sec} benutzt werden."
+msgstr "Die Dateien müssen demselben Schlüsselpaar entsprechen (der private Schlüssel wird zum Signieren benutzt, der öffentliche Schlüssel wird lediglich in den Metadaten der Signatur aufgeführt). Die Dateien müssen Schlüssel im kanonischen (»canonical«) S-Ausdruck-Format enthalten, wie es von @command{guix archive --generate-key} erzeugt wird (siehe @ref{Invoking guix archive}). Vorgegeben ist, dass @file{/etc/guix/signing-key.pub} und @file{/etc/guix/signing-key.sec} benutzt werden."
 
 #. type: item
 #: doc/guix.texi:8487
@@ -15227,12 +15331,12 @@ msgstr "-r [@var{Port}]"
 #. type: table
 #: doc/guix.texi:8492
 msgid "Spawn a Guile REPL server (@pxref{REPL Servers,,, guile, GNU Guile Reference Manual}) on @var{port} (37146 by default).  This is used primarily for debugging a running @command{guix publish} server."
-msgstr "Einen Guile-REPL-Server (@pxref{REPL Servers,,, guile, GNU Guile Reference Manual}) auf diesem @var{Port} starten (37146 ist voreingestellt). Dies kann zur Fehlersuche auf einem laufenden »@command{guix publish}«-Server benutzt werden."
+msgstr "Einen Guile-REPL-Server (siehe @ref{REPL Servers,,, guile, GNU Guile Reference Manual}) auf diesem @var{Port} starten (37146 ist voreingestellt). Dies kann zur Fehlersuche auf einem laufenden »@command{guix publish}«-Server benutzt werden."
 
 #. type: Plain text
 #: doc/guix.texi:8498
 msgid "Enabling @command{guix publish} on a GuixSD system is a one-liner: just instantiate a @code{guix-publish-service-type} service in the @code{services} field of the @code{operating-system} declaration (@pxref{guix-publish-service-type, @code{guix-publish-service-type}})."
-msgstr "@command{guix publish} auf einem GuixSD-System zu aktivieren ist ein Einzeiler: Instanziieren Sie einfach einen @code{guix-publish-service-type}-Dienst im @code{services}-Feld Ihres @code{operating-system}-Objekts zur Betriebssystemdeklaration (@pxref{guix-publish-service-type, @code{guix-publish-service-type}})."
+msgstr "@command{guix publish} auf einem GuixSD-System zu aktivieren ist ein Einzeiler: Instanziieren Sie einfach einen @code{guix-publish-service-type}-Dienst im @code{services}-Feld Ihres @code{operating-system}-Objekts zur Betriebssystemdeklaration (siehe @ref{guix-publish-service-type, @code{guix-publish-service-type}})."
 
 #. type: Plain text
 #: doc/guix.texi:8501
@@ -15275,45 +15379,45 @@ msgstr "Verfahren Sie andernfalls auf die gleiche Art für das »init«-System,
 #: doc/guix.texi:8525
 #, no-wrap
 msgid "Invoking @command{guix challenge}"
-msgstr ""
+msgstr "@command{guix challenge} aufrufen"
 
 #. type: cindex
 #: doc/guix.texi:8528
 #, no-wrap
 msgid "verifiable builds"
-msgstr ""
+msgstr "verifizierbare Erstellungen"
 
 #. type: command{#1}
 #: doc/guix.texi:8529
 #, no-wrap
 msgid "guix challenge"
-msgstr ""
+msgstr "guix challenge"
 
 #. type: cindex
 #: doc/guix.texi:8530
 #, no-wrap
 msgid "challenge"
-msgstr ""
+msgstr "Anfechten"
 
 #. type: Plain text
 #: doc/guix.texi:8535
 msgid "Do the binaries provided by this server really correspond to the source code it claims to build? Is a package build process deterministic? These are the questions the @command{guix challenge} command attempts to answer."
-msgstr ""
+msgstr "Entsprechen die von diesem Server gelieferten Binärdateien tatsächlich dem Quellcode, aus dem sie angeblich erzeugt wurden? Ist ein Paketerstellungsprozess deterministisch? Diese Fragen versucht @command{guix challenge} zu beantworten."
 
 #. type: Plain text
 #: doc/guix.texi:8543
 msgid "The former is obviously an important question: Before using a substitute server (@pxref{Substitutes}), one had better @emph{verify} that it provides the right binaries, and thus @emph{challenge} it.  The latter is what enables the former: If package builds are deterministic, then independent builds of the package should yield the exact same result, bit for bit; if a server provides a binary different from the one obtained locally, it may be either corrupt or malicious."
-msgstr ""
+msgstr "Die erste Frage ist offensichtlich wichtig: Bevor man einen Substitutserver benutzt (siehe @ref{Substitutes}), @emph{verifiziert} man besser, dass er die richtigen Binärdateien liefert, d.h. man @emph{fechtet sie an}. Die letzte Frage macht die erste möglich: Wenn Paketerstellungen deterministisch sind, müssten voneinander unabhängige Erstellungen genau dasselbe Ergebnis liefern, Bit für Bit; wenn ein Server mit einer anderen Binärdatei als der lokal erstellten Binärdatei antwortet, ist diese entweder beschädigt oder bösartig."
 
 #. type: Plain text
 #: doc/guix.texi:8552
 msgid "We know that the hash that shows up in @file{/gnu/store} file names is the hash of all the inputs of the process that built the file or directory---compilers, libraries, build scripts, etc. (@pxref{Introduction}).  Assuming deterministic build processes, one store file name should map to exactly one build output.  @command{guix challenge} checks whether there is, indeed, a single mapping by comparing the build outputs of several independent builds of any given store item."
-msgstr ""
+msgstr "Wir wissen, dass die in @file{/gnu/store}-Dateinamen auftauchende Hash-Prüfsumme der Hash aller Eingaben des Prozesses ist, mit dem die Datei oder das Verzeichnis erstellt wurde — Compiler, Bibliotheken, Erstellungsskripts und so weiter (siehe @ref{Introduction}). Wenn wir von deterministischen Erstellungen ausgehen, sollte ein Store-Dateiname also auf genau eine Erstellungsausgabe abgebildet werden. Mit @command{guix challenge} prüft man, ob es tatsächlich eine eindeutige Abbildung gibt, indem die Erstellungsausgaben mehrerer unabhängiger Erstellungen jedes angegebenen Store-Objekts verglichen werden."
 
 #. type: Plain text
 #: doc/guix.texi:8554
 msgid "The command output looks like this:"
-msgstr ""
+msgstr "Die Ausgabe des Befehls sieht so aus:"
 
 #. type: smallexample
 #: doc/guix.texi:8571
@@ -15336,6 +15440,22 @@ msgid ""
 "  https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
 "\n"
 msgstr ""
+"$ guix challenge --substitute-urls=\"https://hydra.gnu.org https://guix.example.org\"\n"
+"Liste der Substitute von »https://hydra.gnu.org« wird aktualisiert … 100.0%\n"
+"Liste der Substitute von »https://guix.example.org« wird aktualisiert … 100.0%\n"
+"Inhalt von /gnu/store/@dots{}-openssl-1.0.2d verschieden:\n"
+"  lokale Prüfsumme: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
+"  https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q\n"
+"  https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim\n"
+"Inhalt von /gnu/store/@dots{}-git-2.5.0 verschieden:\n"
+"  lokale Prüfsumme: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha\n"
+"  https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f\n"
+"  https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73\n"
+"Inhalt von /gnu/store/@dots{}-pius-2.1.1 verschieden:\n"
+"  lokale Prüfsumme: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
+"  https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax\n"
+"  https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs\n"
+"\n"
 
 #. type: smallexample
 #: doc/guix.texi:8573
@@ -15344,6 +15464,8 @@ msgid ""
 "@dots{}\n"
 "\n"
 msgstr ""
+"@dots{}\n"
+"\n"
 
 #. type: smallexample
 #: doc/guix.texi:8578
@@ -15354,27 +15476,31 @@ msgid ""
 "  - 525 (8.2%) differed\n"
 "  - 1,132 (17.7%) were inconclusive\n"
 msgstr ""
+"6,406 Store-Objekte wurden analysiert:\n"
+"  — 4,749 (74.1%) waren identisch\n"
+"  — 525 (8.2%) unterscheiden sich\n"
+"  — 1,132 (17.7%) blieben ergebnislos\n"
 
 #. type: Plain text
 #: doc/guix.texi:8586
 msgid "In this example, @command{guix challenge} first scans the store to determine the set of locally-built derivations---as opposed to store items that were downloaded from a substitute server---and then queries all the substitute servers.  It then reports those store items for which the servers obtained a result different from the local build."
-msgstr ""
+msgstr "In diesem Beispiel wird mit @command{guix challenge} zuerst die Menge lokal erstellter Ableitungen im Store ermittelt — im Gegensatz zu von einem Substitserver heruntergeladenen Store-Objekten — und dann werden alle Substitutserver angefragt. Diejenigen Store-Objekte, bei denen der Server ein anderes Ergebnis berechnet hat als die lokale Erstellung, werden gemeldet."
 
 #. type: cindex
 #: doc/guix.texi:8587
 #, no-wrap
 msgid "non-determinism, in package builds"
-msgstr ""
+msgstr "Nichtdeterminismus, in Paketerstellungen"
 
 #. type: Plain text
 #: doc/guix.texi:8598
 msgid "As an example, @code{guix.example.org} always gets a different answer.  Conversely, @code{hydra.gnu.org} agrees with local builds, except in the case of Git.  This might indicate that the build process of Git is non-deterministic, meaning that its output varies as a function of various things that Guix does not fully control, in spite of building packages in isolated environments (@pxref{Features}).  Most common sources of non-determinism include the addition of timestamps in build results, the inclusion of random numbers, and directory listings sorted by inode number.  See @uref{https://reproducible-builds.org/docs/}, for more information."
-msgstr ""
+msgstr "Nehmen wir zum Beispiel an, @code{guix.example.org} gibt uns immer eine verschiedene Antwort, aber @code{hydra.gnu.org} stimmt mit lokalen Erstellungen überein, @emph{außer} im Fall von Git. Das könnte ein Hinweis sein, dass der Erstellungsprozess von Git nichtdeterministisch ist; das bedeutet, seine Ausgabe variiert abhängig von verschiedenen Umständen, die Guix nicht vollends kontrollieren kann, obwohl es Pakete in isolierten Umgebungen erstellt (siehe @ref{Features}). Zu den häufigsten Quellen von Nichtdeterminismus gehören das Einsetzen von Zeitstempeln innerhalb der Erstellungsgebnisse, das Einsetzen von Zufallszahlen und von Auflistungen eines Verzeichnisinhalts sortiert nach der Inode-Nummer. Siehe @uref{https://reproducible-builds.org/docs/} für mehr Informationen."
 
 #. type: Plain text
 #: doc/guix.texi:8601
 msgid "To find out what is wrong with this Git binary, we can do something along these lines (@pxref{Invoking guix archive}):"
-msgstr ""
+msgstr "Um herauszufinden, was mit dieser Git-Binärdatei nicht stimmt, können wir so etwas machen (siehe @ref{Invoking guix archive}):"
 
 #. type: example
 #: doc/guix.texi:8606
@@ -15384,99 +15510,102 @@ msgid ""
 "   | guix archive -x /tmp/git\n"
 "$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"
 msgstr ""
+"$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \\\n"
+"   | guix archive -x /tmp/git\n"
+"$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git\n"
 
 #. type: Plain text
 #: doc/guix.texi:8615
 msgid "This command shows the difference between the files resulting from the local build, and the files resulting from the build on @code{hydra.gnu.org} (@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files}).  The @command{diff} command works great for text files.  When binary files differ, a better option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps visualize differences for all kinds of files."
-msgstr ""
+msgstr "Dieser Befehl zeigt die Unterschiede zwischen den Dateien, die sich aus der lokalen Erstellung ergeben, und den Dateien, die sich aus der Erstellung auf @code{hydra.gnu.org} ergeben (siehe @ref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files}). Der Befehl @command{diff} funktioniert großartig für Textdateien. Wenn sich Binärdateien unterscheiden, ist @uref{https://diffoscope.org/, Diffoscope} die bessere Wahl: Es ist ein hilfreiches Werkzeug, das Unterschiede in allen Arten von Dateien visualisiert."
 
 #. type: Plain text
 #: doc/guix.texi:8623
 msgid "Once you have done that work, you can tell whether the differences are due to a non-deterministic build process or to a malicious server.  We try hard to remove sources of non-determinism in packages to make it easier to verify substitutes, but of course, this is a process that involves not just Guix, but a large part of the free software community.  In the meantime, @command{guix challenge} is one tool to help address the problem."
-msgstr ""
+msgstr "Sobald Sie mit dieser Arbeit fertig sind, können Sie erkennen, ob die Unterschiede aufgrund eines nichtdeterministischen Erstellungsprozesses oder wegen einem bösartigen Server zustande kommen. Wir geben uns Mühe, Quellen von Nichtdeterminismus in Paketen zu entfernen, damit Substitute leichter verifiziert werden können, aber natürlich ist an diesem Prozess nicht nur Guix, sondern ein großer Teil der Freie-Software-Gemeinschaft beteiligt. In der Zwischenzeit ist @command{guix challenge} eines der Werkzeuge, die das Problem anzugehen helfen."
 
 #. type: Plain text
 #: doc/guix.texi:8627
 msgid "If you are writing packages for Guix, you are encouraged to check whether @code{hydra.gnu.org} and other substitute servers obtain the same build result as you did with:"
-msgstr ""
+msgstr "Wenn Sie ein Paket für Guix schreiben, ermutigen wir Sie, zu überprüfen, ob @code{hydra.gnu.org} und andere Substitutserver dasselbe Erstellungsergebnis bekommen, das Sie bekommen haben. Das geht so:"
 
 #. type: example
 #: doc/guix.texi:8630
 #, no-wrap
 msgid "$ guix challenge @var{package}\n"
-msgstr ""
+msgstr "$ guix challenge @var{Paket}\n"
 
 #. type: Plain text
 #: doc/guix.texi:8635
 msgid "where @var{package} is a package specification such as @code{guile@@2.0} or @code{glibc:debug}."
-msgstr ""
+msgstr "Dabei wird mit @var{Paket} eine Paketspezifikation wie @code{guile@@2.0} oder @code{glibc:debug} bezeichnet."
 
 #. type: example
 #: doc/guix.texi:8640
 #, no-wrap
 msgid "guix challenge @var{options} [@var{packages}@dots{}]\n"
-msgstr ""
+msgstr "guix challenge @var{Optionen} [@var{Pakete}@dots{}]\n"
 
 #. type: Plain text
 #: doc/guix.texi:8647
 msgid "When a difference is found between the hash of a locally-built item and that of a server-provided substitute, or among substitutes provided by different servers, the command displays it as in the example above and its exit code is 2 (other non-zero exit codes denote other kinds of errors.)"
-msgstr ""
+msgstr "Wird ein Unterschied zwischen der Hash-Prüfsumme des lokal erstellten Objekts und dem vom Server gelieferten Substitut festgestellt, oder zwischen den Substituten von unterschiedlichen Servern, dann wird der Befehl dies wie im obigen Beispiel anzeigen und mit dem Exit-Code 2 terminieren (andere Exit-Codes außer null stehen für andere Arten von Fehlern)."
 
 #. type: Plain text
 #: doc/guix.texi:8649
 msgid "The one option that matters is:"
-msgstr ""
+msgstr "Die eine, wichtige Befehlszeilenoption ist:"
 
 #. type: table
 #: doc/guix.texi:8655
 msgid "Consider @var{urls} the whitespace-separated list of substitute source URLs to compare to."
-msgstr ""
+msgstr "Die @var{URLs} als durch Leerraumzeichen getrennte Liste von Substitut-Quell-URLs benutzen. mit denen verglichen wird."
 
 #. type: itemx
 #: doc/guix.texi:8657
 #, no-wrap
 msgid "-v"
-msgstr ""
+msgstr "-v"
 
 #. type: table
 #: doc/guix.texi:8660
 msgid "Show details about matches (identical contents) in addition to information about mismatches."
-msgstr ""
+msgstr "Details auch zu Übereinstimmungen (deren Inhalt identisch ist) ausgeben, zusätzlich zu Informationen über Unterschiede."
 
 #. type: section
 #: doc/guix.texi:8664
 #, no-wrap
 msgid "Invoking @command{guix copy}"
-msgstr ""
+msgstr "@command{guix copy} aufrufen"
 
 #. type: cindex
 #: doc/guix.texi:8666
 #, no-wrap
 msgid "copy, of store items, over SSH"
-msgstr ""
+msgstr "Kopieren, von Store-Objekten, über SSH"
 
 #. type: cindex
 #: doc/guix.texi:8667
 #, no-wrap
 msgid "SSH, copy of store items"
-msgstr ""
+msgstr "SSH, Kopieren von Store-Objekten"
 
 #. type: cindex
 #: doc/guix.texi:8668
 #, no-wrap
 msgid "sharing store items across machines"
-msgstr ""
+msgstr "Store-Objekte zwischen Maschinen teilen"
 
 #. type: cindex
 #: doc/guix.texi:8669
 #, no-wrap
 msgid "transferring store items across machines"
-msgstr ""
+msgstr "Ãœbertragen von Store-Objekten zwischen Maschinen"
 
 #. type: Plain text
 #: doc/guix.texi:8676
 msgid "The @command{guix copy} command copies items from the store of one machine to that of another machine over a secure shell (SSH)  connection@footnote{This command is available only when Guile-SSH was found.  @xref{Requirements}, for details.}.  For example, the following command copies the @code{coreutils} package, the user's profile, and all their dependencies over to @var{host}, logged in as @var{user}:"
-msgstr ""
+msgstr "Der Befehl @command{guix copy} kopiert Objekte aus dem Store einer Maschine in den Store einer anderen Maschine mittels einer Secure-Shell-Verbindung (kurz SSH-Verbindung)@footnote{Dieser Befehl steht nur dann zur Verfügung, wenn Guile-SSH gefunden werden kann. Siehe @ref{Requirements} für Details.}. Zum Beispiel kopiert der folgende Befehl das Paket @code{coreutils}, das Profil des Benutzers und all deren Abhängigkeiten auf den anderen @var{Rechner}, dazu meldet sich Guix als @var{Benutzer} an:"
 
 #. type: example
 #: doc/guix.texi:8680
@@ -15485,191 +15614,193 @@ msgid ""
 "guix copy --to=@var{user}@@@var{host} \\\n"
 "          coreutils `readlink -f ~/.guix-profile`\n"
 msgstr ""
+"guix copy --to=@var{Benutzer}@@@var{Rechner} \\\n"
+"          coreutils `readlink -f ~/.guix-profile`\n"
 
 #. type: Plain text
 #: doc/guix.texi:8684
 msgid "If some of the items to be copied are already present on @var{host}, they are not actually sent."
-msgstr ""
+msgstr "Wenn manche der zu kopierenden Objekte schon auf dem anderen @var{Rechner} vorliegen, werden sie tatsächlich @emph{nicht} übertragen."
 
 #. type: Plain text
 #: doc/guix.texi:8687
 msgid "The command below retrieves @code{libreoffice} and @code{gimp} from @var{host}, assuming they are available there:"
-msgstr ""
+msgstr "Der folgende Befehl bezieht @code{libreoffice} und @code{gimp} von dem @var{Rechner}, vorausgesetzt sie sind dort verfügbar:"
 
 #. type: example
 #: doc/guix.texi:8690
 #, no-wrap
 msgid "guix copy --from=@var{host} libreoffice gimp\n"
-msgstr ""
+msgstr "guix copy --from=@var{host} libreoffice gimp\n"
 
 #. type: Plain text
 #: doc/guix.texi:8695
 msgid "The SSH connection is established using the Guile-SSH client, which is compatible with OpenSSH: it honors @file{~/.ssh/known_hosts} and @file{~/.ssh/config}, and uses the SSH agent for authentication."
-msgstr ""
+msgstr "Die SSH-Verbindung wird mit dem Guile-SSH-Client hergestellt, der mit OpenSSH kompatibel ist: Er berücksichtigt @file{~/.ssh/known_hosts} und @file{~/.ssh/config} und verwendet den SSH-Agenten zur Authentifizierung."
 
 #. type: Plain text
 #: doc/guix.texi:8701
 msgid "The key used to sign items that are sent must be accepted by the remote machine.  Likewise, the key used by the remote machine to sign items you are retrieving must be in @file{/etc/guix/acl} so it is accepted by your own daemon.  @xref{Invoking guix archive}, for more information about store item authentication."
-msgstr ""
+msgstr "Der Schlüssel, mit dem gesendete Objekte signiert sind, muss von der entfernten Maschine akzeptiert werden. Ebenso muss der Schlüssel, mit dem die Objekte signiert sind, die Sie von der entfernten Maschine empfangen, in Ihrer Datei @file{/etc/guix/acl} eingetragen sein, damit Ihr Daemon sie akzeptiert. Siehe @ref{Invoking guix archive} für mehr Informationen über die Authentifizierung von Store-Objekten."
 
 #. type: example
 #: doc/guix.texi:8706
 #, no-wrap
 msgid "guix copy [--to=@var{spec}|--from=@var{spec}] @var{items}@dots{}\n"
-msgstr ""
+msgstr "guix copy [--to=@var{Spezifikation}|--from=@var{Spezifikation}] @var{Objekte}@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:8709
 msgid "You must always specify one of the following options:"
-msgstr ""
+msgstr "Sie müssen immer eine der folgenden Befehlszeilenoptionen angeben:"
 
 #. type: item
 #: doc/guix.texi:8711
 #, no-wrap
 msgid "--to=@var{spec}"
-msgstr ""
+msgstr "--to=@var{Spezifikation}"
 
 #. type: itemx
 #: doc/guix.texi:8712
 #, no-wrap
 msgid "--from=@var{spec}"
-msgstr ""
+msgstr "--from=@var{Spezifikation}"
 
 #. type: table
 #: doc/guix.texi:8716
 msgid "Specify the host to send to or receive from.  @var{spec} must be an SSH spec such as @code{example.org}, @code{charlie@@example.org}, or @code{charlie@@example.org:2222}."
-msgstr ""
+msgstr "Gibt den Rechner (den »Host«) an, an den oder von dem gesendet bzw. empfangen wird. Die @var{Spezifikation} muss eine SSH-Spezifikation sein wie @code{example.org}, @code{charlie@@example.org} oder @code{charlie@@example.org:2222}."
 
 #. type: Plain text
 #: doc/guix.texi:8720
 msgid "The @var{items} can be either package names, such as @code{gimp}, or store items, such as @file{/gnu/store/@dots{}-idutils-4.6}."
-msgstr ""
+msgstr "Die @var{Objekte} können entweder Paketnamen wie @code{gimp} oder Store-Objekte wie @file{/gnu/store/@dots{}-idutils-4.6} sein."
 
 #. type: Plain text
 #: doc/guix.texi:8724
 msgid "When specifying the name of a package to send, it is first built if needed, unless @option{--dry-run} was specified.  Common build options are supported (@pxref{Common Build Options})."
-msgstr ""
+msgstr "Wenn ein zu sendendes Paket mit Namen angegeben wird, wird es erst erstellt, falls es nicht im Store vorliegt, außer @option{--dry-run} wurde angegeben wurde. Alle gemeinsamen Erstellungsoptionen werden unterstützt (siehe @ref{Common Build Options})."
 
 #. type: section
 #: doc/guix.texi:8727
 #, no-wrap
 msgid "Invoking @command{guix container}"
-msgstr ""
+msgstr "@command{guix container} aufrufen"
 
 #. type: command{#1}
 #: doc/guix.texi:8729
 #, no-wrap
 msgid "guix container"
-msgstr ""
+msgstr "guix container"
 
 #. type: quotation
 #: doc/guix.texi:8733
 msgid "As of version @value{VERSION}, this tool is experimental.  The interface is subject to radical change in the future."
-msgstr ""
+msgstr "Dieses Werkzeug ist noch experimentell, Stand Version @value{VERSION}. Die Schnittstelle wird sich in Zukunft grundlegend verändern."
 
 #. type: Plain text
 #: doc/guix.texi:8740
 msgid "The purpose of @command{guix container} is to manipulate processes running within an isolated environment, commonly known as a ``container'', typically created by the @command{guix environment} (@pxref{Invoking guix environment}) and @command{guix system container} (@pxref{Invoking guix system}) commands."
-msgstr ""
+msgstr "Der Zweck von @command{guix container} ist, in einer isolierten Umgebung (gemeinhin als »Container« bezeichnet) laufende Prozesse zu manipulieren, die typischerweise durch die Befehle @command{guix environment} (siehe @ref{Invoking guix environment}) und @command{guix system container} (siehe @ref{Invoking guix system}) erzeugt werden."
 
 #. type: example
 #: doc/guix.texi:8745
 #, no-wrap
 msgid "guix container @var{action} @var{options}@dots{}\n"
-msgstr ""
+msgstr "guix container @var{Aktion} @var{Optionen}@dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:8749
 msgid "@var{action} specifies the operation to perform with a container, and @var{options} specifies the context-specific arguments for the action."
-msgstr ""
+msgstr "Mit @var{Aktion} wird die Operation angegeben, die in der isolierten Umgebung durchgeführt werden soll, und mit @var{Optionen} werden die kontextabhängigen Argumente an die Aktion angegeben."
 
 #. type: Plain text
 #: doc/guix.texi:8751
 msgid "The following actions are available:"
-msgstr ""
+msgstr "Folgende Aktionen sind verfügbar:"
 
 #. type: item
 #: doc/guix.texi:8753
 #, no-wrap
 msgid "exec"
-msgstr ""
+msgstr "exec"
 
 #. type: table
 #: doc/guix.texi:8755
 msgid "Execute a command within the context of a running container."
-msgstr ""
+msgstr "Führt einen Befehl im Kontext der laufenden isolierten Umgebung aus."
 
 #. type: table
 #: doc/guix.texi:8757
 msgid "The syntax is:"
-msgstr ""
+msgstr "Die Syntax ist:"
 
 #. type: example
 #: doc/guix.texi:8760
 #, no-wrap
 msgid "guix container exec @var{pid} @var{program} @var{arguments}@dots{}\n"
-msgstr ""
+msgstr "guix container exec @var{PID} @var{Programm} @var{Argumente}@dots{}\n"
 
 #. type: table
 #: doc/guix.texi:8766
 msgid "@var{pid} specifies the process ID of the running container.  @var{program} specifies an executable file name within the root file system of the container.  @var{arguments} are the additional options that will be passed to @var{program}."
-msgstr ""
+msgstr "@var{PID} gibt die Prozess-ID der laufenden isolierten Umgebung an. Als @var{Programm} muss eine ausführbare Datei im Wurzeldateisystem der isolierten Umgebung angegeben werden. Die @var{Argumente} sind die zusätzlichen Befehlszeilenoptionen, die an das @var{Programm} übergeben werden."
 
 #. type: table
 #: doc/guix.texi:8770
 msgid "The following command launches an interactive login shell inside a GuixSD container, started by @command{guix system container}, and whose process ID is 9001:"
-msgstr ""
+msgstr "Der folgende Befehl startet eine interaktive Anmelde-Shell innerhalb einer isolierten GuixSD-Umgebung, gestartet durch @command{guix system container}, dessen Prozess-ID 9001 ist:"
 
 #. type: example
 #: doc/guix.texi:8773
 #, no-wrap
 msgid "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"
-msgstr ""
+msgstr "guix container exec 9001 /run/current-system/profile/bin/bash --login\n"
 
 #. type: table
 #: doc/guix.texi:8777
 msgid "Note that the @var{pid} cannot be the parent process of a container.  It must be PID 1 of the container or one of its child processes."
-msgstr ""
+msgstr "Beachten Sie, dass die @var{PID} nicht der Elternprozess der isolierten Umgebung sein darf, sondern PID 1 in der isolierten Umgebung oder einer seiner Kindprozesse sein muss."
 
 #. type: section
 #: doc/guix.texi:8781
 #, no-wrap
 msgid "Invoking @command{guix weather}"
-msgstr ""
+msgstr "@command{guix weather} aufrufen"
 
 #. type: Plain text
 #: doc/guix.texi:8790
 msgid "Occasionally you're grumpy because substitutes are lacking and you end up building packages by yourself (@pxref{Substitutes}).  The @command{guix weather} command reports on substitute availability on the specified servers so you can have an idea of whether you'll be grumpy today.  It can sometimes be useful info as a user, but it is primarily useful to people running @command{guix publish} (@pxref{Invoking guix publish})."
-msgstr ""
+msgstr "Manchmal werden Sie schlecht gelaunt sein, weil es zu wenige Substitute gibt und die Pakete bei Ihnen selbst erstellt werden müssen (siehe @ref{Substitutes}). Der Befehl @command{guix weather} zeigt einen Bericht über die Verfügbarkeit von Substituten auf den angegebenen Servern an, damit Sie sich eine Vorstellung davon machen können, wie es heute um Ihre Laune bestellt sein wird. Manchmal bekommt man als Nutzer so hilfreiche Informationen, aber in erster Linie nützt der Befehl den Leuten, die @command{guix publish} benutzen (siehe @ref{Invoking guix publish})."
 
 #. type: cindex
 #: doc/guix.texi:8791
 #, no-wrap
 msgid "statistics, for substitutes"
-msgstr ""
+msgstr "Statistik, für Substitute"
 
 #. type: cindex
 #: doc/guix.texi:8792
 #, no-wrap
 msgid "availability of substitutes"
-msgstr ""
+msgstr "Verfügbarkeit von Substituten"
 
 #. type: cindex
 #: doc/guix.texi:8793
 #, no-wrap
 msgid "substitute availability"
-msgstr ""
+msgstr "Substitutverfügbarkeit"
 
 #. type: cindex
 #: doc/guix.texi:8794
 #, no-wrap
 msgid "weather, substitute availability"
-msgstr ""
+msgstr "Wetter, Substitutverfügbarkeit"
 
 #. type: Plain text
 #: doc/guix.texi:8796
 msgid "Here's a sample run:"
-msgstr ""
+msgstr "Hier ist ein Beispiel für einen Aufruf davon:"
 
 #. type: example
 #: doc/guix.texi:8808
@@ -15687,6 +15818,17 @@ msgid ""
 "  33.5 requests per second\n"
 "\n"
 msgstr ""
+"$ guix weather --substitute-urls=https://guix.example.org\n"
+"5.872 Paketableitungen für x86_64-linux berechnen …\n"
+"Nach 6.128 Store-Objekten von https://guix.example.org suchen …\n"
+"updating list of substitutes from 'https://guix.example.org'... 100.0%\n"
+"https://guix.example.org\n"
+"  43,4% Substitute verfügbar (2.658 von 6.128)\n"
+"  7.032,5 MiB an Nars (komprimiert)\n"
+"  19.824,2 MiB auf der Platte (unkomprimiert)\n"
+"  0,030 Sekunden pro Anfrage (182,9 Sekunden insgesamt)\n"
+"  33,5 Anfragen pro Sekunde\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:8818
@@ -15702,42 +15844,51 @@ msgid ""
 "      i686-linux: 6.03 builds per hour\n"
 "      aarch64-linux: 6.41 builds per hour\n"
 msgstr ""
+"  9,8% (342 von 3.470) der fehlenden Objekte sind in der Warteschlange\n"
+"  Mindestens 867 Erstellungen in der Warteschlange\n"
+"      x86_64-linux: 518 (59,7%)\n"
+"      i686-linux: 221 (25,5%)\n"
+"      aarch64-linux: 128 (14,8%)\n"
+"  Erstellungsgeschwindigkeit: 23,41 Erstellungen pro Stunde\n"
+"      x86_64-linux: 11,16 Erstellungen pro Stunde\n"
+"      i686-linux: 6,03 Erstellungen pro Stunde\n"
+"      aarch64-linux: 6,41 Erstellungen pro Stunde\n"
 
 #. type: cindex
 #: doc/guix.texi:8820
 #, no-wrap
 msgid "continuous integration, statistics"
-msgstr ""
+msgstr "Kontinuierliche Integration, Statistik"
 
 #. type: Plain text
 #: doc/guix.texi:8829
 msgid "As you can see, it reports the fraction of all the packages for which substitutes are available on the server---regardless of whether substitutes are enabled, and regardless of whether this server's signing key is authorized.  It also reports the size of the compressed archives (``nars'') provided by the server, the size the corresponding store items occupy in the store (assuming deduplication is turned off), and the server's throughput.  The second part gives continuous integration (CI) statistics, if the server supports it."
-msgstr ""
+msgstr "Wie Sie sehen können, wird der Anteil unter allen Paketen angezeigt, für die auf dem Server Substitute verfügbar sind — unabhängig davon, ob Substitute aktiviert sind, und unabhängig davon, ob der signierende Schlüssel des Servers autorisiert ist. Es wird auch über die Größe der komprimierten Archive (die »Nars«) berichtet, die vom Server angeboten werden, sowie über die Größe, die die zugehörigen Store-Objekte im Store belegen würden (unter der Annahme, dass Deduplizierung abgeschaltet ist) und über den Durchsatz des Servers. Der zweite Teil sind Statistiken zur Kontinuierlichen Integration (englisch »Continuous Integration«, kurz CI), wenn der Server dies unterstützt."
 
 #. type: Plain text
 #: doc/guix.texi:8835
 msgid "To achieve that, @command{guix weather} queries over HTTP(S) meta-data (@dfn{narinfos}) for all the relevant store items.  Like @command{guix challenge}, it ignores signatures on those substitutes, which is innocuous since the command only gathers statistics and cannot install those substitutes."
-msgstr ""
+msgstr "Dazu werden mit @command{guix weather} Anfragen über HTTP(S) zu Metadaten (@dfn{Narinfos}) für alle relevanten Store-Objekte gestellt. Wie @command{guix challenge} werden die Signaturen auf den Substituten ignoriert, was harmlos ist, weil der Befehl nur Statistiken sammelt und keine Substitute installieren kann."
 
 #. type: Plain text
 #: doc/guix.texi:8838
 msgid "Among other things, it is possible to query specific system types and specific package sets.  The available options are listed below."
-msgstr ""
+msgstr "Neben anderen Dingen ist es möglich, bestimmte Systemtypen und bestimmte Paketmengen anzufragen. Die verfügbaren Befehlszeilenoptionen sind folgende:"
 
 #. type: table
 #: doc/guix.texi:8844
 msgid "@var{urls} is the space-separated list of substitute server URLs to query.  When this option is omitted, the default set of substitute servers is queried."
-msgstr ""
+msgstr "@var{URLs} ist eine leerzeichengetrennte Liste anzufragender Substitutserver-URLs. Wird diese Befehlszeilenoption weggelassen, wird die vorgegebene Menge an Substitutservern angefragt."
 
 #. type: table
 #: doc/guix.texi:8850
 msgid "Query substitutes for @var{system}---e.g., @code{aarch64-linux}.  This option can be repeated, in which case @command{guix weather} will query substitutes for several system types."
-msgstr ""
+msgstr "Substitute für das @var{System} anfragen — z.B. für @code{aarch64-linux}. Diese Befehlszeilenoption kann mehrmals angegeben werden, wodurch @command{guix weather} die Substitute für mehrere Systemtypen anfragt."
 
 #. type: table
 #: doc/guix.texi:8856
 msgid "Instead of querying substitutes for all the packages, only ask for those specified in @var{file}.  @var{file} must contain a @dfn{manifest}, as with the @code{-m} option of @command{guix package} (@pxref{Invoking guix package})."
-msgstr ""
+msgstr "Anstatt die Substitute für alle Pakete anzufragen, werden nur die in der @var{Datei} angegebenen Pakete erfragt. Die @var{Datei} muss ein @dfn{Manifest} enthalten, wie bei der Befehlszeilenoption @code{-m} von @command{guix package} (siehe @ref{Invoking guix package})."
 
 #. type: section
 #: doc/guix.texi:8859
@@ -15748,7 +15899,7 @@ msgstr "@command{guix processes} aufrufen"
 #. type: Plain text
 #: doc/guix.texi:8867
 msgid "The @command{guix processes} command can be useful to developers and system administrators, especially on multi-user machines and on build farms: it lists the current sessions (connections to the daemon), as well as information about the processes involved@footnote{Remote sessions, when @command{guix-daemon} is started with @option{--listen} specifying a TCP endpoint, are @emph{not} listed.}.  Here's an example of the information it returns:"
-msgstr ""
+msgstr "Der Befehl @command{guix processes} kann sich für Entwickler und Systemadministratoren als nützlich erweisen, besonders auf Maschinen mit mehreren Nutzern und auf Build-Farms. Damit werden die aktuellen Sitzungen (also Verbindungen zum Daemon) sowie Informationen über die beteiligten Prozesse aufgelistet@footnote{Entfernte Sitzungen, wenn @command{guix-daemon} mit @option{--listen} unter Angabe eines TCP-Endpunkts gestartet wurde, werden @emph{nicht} aufgelistet.}. Hier ist ein Beispiel für die davon gelieferten Informationen:"
 
 #. type: example
 #: doc/guix.texi:8873
@@ -15760,6 +15911,11 @@ msgid ""
 "ClientCommand: guix environment --ad-hoc python\n"
 "\n"
 msgstr ""
+"$ sudo guix processes\n"
+"SessionPID: 19002\n"
+"ClientPID: 19090\n"
+"ClientCommand: guix environment --ad-hoc python\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:8877
@@ -15770,6 +15926,10 @@ msgid ""
 "ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}\n"
 "\n"
 msgstr ""
+"SessionPID: 19402\n"
+"ClientPID: 19367\n"
+"ClientCommand: guix publish -u guix-publish -p 3000 -C 9 @dots{}\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:8887
@@ -15785,21 +15945,30 @@ msgid ""
 "ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800\n"
 "ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800\n"
 msgstr ""
+"SessionPID: 19444\n"
+"ClientPID: 19419\n"
+"ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
+"LockHeld: /gnu/store/@dots{}-perl-ipc-cmd-0.96.lock\n"
+"LockHeld: /gnu/store/@dots{}-python-six-bootstrap-1.11.0.lock\n"
+"LockHeld: /gnu/store/@dots{}-libjpeg-turbo-2.0.0.lock\n"
+"ChildProcess: 20495: guix offload x86_64-linux 7200 1 28800\n"
+"ChildProcess: 27733: guix offload x86_64-linux 7200 1 28800\n"
+"ChildProcess: 27793: guix offload x86_64-linux 7200 1 28800\n"
 
 #. type: Plain text
 #: doc/guix.texi:8894
 msgid "In this example we see that @command{guix-daemon} has three clients: @command{guix environment}, @command{guix publish}, and the Cuirass continuous integration tool; their process identifier (PID) is given by the @code{ClientPID} field.  The @code{SessionPID} field gives the PID of the @command{guix-daemon} sub-process of this particular session."
-msgstr ""
+msgstr "In diesem Beispiel sehen wir, dass @command{guix-daemon} drei Clients hat: @command{guix environment}, @command{guix publish} und das Werkzeug Cuirass zur Kontinuierlichen Integration. Deren Prozesskennung (PID) ist jeweils im @code{ClientPID}-Feld zu sehen. Das Feld @code{SessionPID} zeigt die PID des @command{guix-daemon}-Unterprozesses dieser bestimmten Sitzung."
 
 #. type: Plain text
 #: doc/guix.texi:8901
 msgid "The @code{LockHeld} fields show which store items are currently locked by this session, which corresponds to store items being built or substituted (the @code{LockHeld} field is not displayed when @command{guix processes} is not running as root.)  Last, by looking at the @code{ChildProcess} field, we understand that these three builds are being offloaded (@pxref{Daemon Offload Setup})."
-msgstr ""
+msgstr "Das Feld @code{LockHeld} zeigt an, welche Store-Objekte derzeit durch die Sitzung gesperrt sind, d.h. welche Store-Objekte zur Zeit erstellt oder substituiert werden (das @code{LockHeld}-Feld wird nicht angezeigt, wenn @command{guix processes} nicht als Administratornutzer root ausgeführt wird). Letztlich sehen wir am @code{ChildProcess}-Feld oben, dass diese drei Erstellungen hier ausgelagert (englisch »offloaded«) werden (siehe @ref{Daemon Offload Setup})."
 
 #. type: Plain text
 #: doc/guix.texi:8906
 msgid "The output is in Recutils format so we can use the handy @command{recsel} command to select sessions of interest (@pxref{Selection Expressions,,, recutils, GNU recutils manual}).  As an example, the command shows the command line and PID of the client that triggered the build of a Perl package:"
-msgstr ""
+msgstr "Die Ausgabe ist im Recutils-Format, damit wir den praktischen @command{recsel}-Befehl benutzen können, um uns interessierende Sitzungen auszuwählen (siehe @ref{Selection Expressions,,, recutils, GNU recutils manual}). Zum Beispiel zeigt dieser Befehl die Befehlszeile und PID des Clients an, der die Erstellung des Perl-Pakets ausgelöst hat:"
 
 #. type: example
 #: doc/guix.texi:8912
@@ -15810,16 +15979,20 @@ msgid ""
 "ClientPID: 19419\n"
 "ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
 msgstr ""
+"$ sudo guix processes | \\\n"
+"    recsel -p ClientPID,ClientCommand -e 'LockHeld ~ \"perl\"'\n"
+"ClientPID: 19419\n"
+"ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}\n"
 
 #. type: Plain text
 #: doc/guix.texi:8929
 msgid "Guix comes with a distribution of the GNU system consisting entirely of free software@footnote{The term ``free'' here refers to the @url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to users of that software}.}.  The distribution can be installed on its own (@pxref{System Installation}), but it is also possible to install Guix as a package manager on top of an installed GNU/Linux system (@pxref{Installation}).  To distinguish between the two, we refer to the standalone distribution as the Guix System Distribution, or GuixSD."
-msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung »frei« steht hier für die @url{http://www.gnu.org/philosophy/free-sw.html,Freiheiten, die Nutzern der Software geboten werden}.} besteht. Die Distribution kann für sich allein installiert werden (@pxref{System Installation}), aber Guix kann auch auf einem bestehenden GNU/Linux-System installiert werden. Um die Anwendungsfälle zu unterscheiden, bezeichnen wir die alleinstehende Distribution als die »Guix System Distribution« (deutsch Guix-Systemdistribution), oder kurz GuixSD."
+msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung »frei« steht hier für die @url{http://www.gnu.org/philosophy/free-sw.html,Freiheiten, die Nutzern der Software geboten werden}.} besteht. Die Distribution kann für sich allein installiert werden (siehe @ref{System Installation}), aber Guix kann auch auf einem bestehenden GNU/Linux-System installiert werden. Um die Anwendungsfälle zu unterscheiden, bezeichnen wir die alleinstehende Distribution als die »Guix System Distribution« (deutsch Guix-Systemdistribution), oder kurz GuixSD."
 
 #. type: Plain text
 #: doc/guix.texi:8935
 msgid "The distribution provides core GNU packages such as GNU libc, GCC, and Binutils, as well as many GNU and non-GNU applications.  The complete list of available packages can be browsed @url{http://www.gnu.org/software/guix/packages,on-line} or by running @command{guix package} (@pxref{Invoking guix package}):"
-msgstr "Die Distribution stellt den Kern der GNU-Pakete, also insbesondere GNU libc, GCC und Binutils, sowie zahlreiche zum GNU-Projekt gehörende und nicht dazu gehörende Anwendungen zur Verfügung. Die vollständige Liste verfügbarer Pakete können Sie @url{http://www.gnu.org/software/guix/packages,online} einsehen, oder indem Sie @command{guix package} ausführen (@pxref{Invoking guix package}):"
+msgstr "Die Distribution stellt den Kern der GNU-Pakete, also insbesondere GNU libc, GCC und Binutils, sowie zahlreiche zum GNU-Projekt gehörende und nicht dazu gehörende Anwendungen zur Verfügung. Die vollständige Liste verfügbarer Pakete können Sie @url{http://www.gnu.org/software/guix/packages,online} einsehen, oder indem Sie @command{guix package} ausführen (siehe @ref{Invoking guix package}):"
 
 #. type: example
 #: doc/guix.texi:8938
@@ -15879,7 +16052,7 @@ msgstr "aarch64-linux"
 #. type: table
 #: doc/guix.texi:8964
 msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel.  This is currently in an experimental stage, with limited support.  @xref{Contributing}, for how to help!"
-msgstr "64-Bit-ARMv8-A-Prozessoren, little-endian, Linux-Libre als Kernel. Derzeit ist dies noch in der Erprobungsphase mit begrenzter Unterstützung. Unter @xref{Contributing} steht, wie Sie dabei helfen können!"
+msgstr "64-Bit-ARMv8-A-Prozessoren, little-endian, Linux-Libre als Kernel. Derzeit ist dies noch in der Erprobungsphase mit begrenzter Unterstützung. Unter @ref{Contributing} steht, wie Sie dabei helfen können!"
 
 #. type: item
 #: doc/guix.texi:8965
@@ -15900,12 +16073,12 @@ msgstr "GuixSD selbst ist derzeit nur für @code{i686} und @code{x86_64} verfüg
 #. type: Plain text
 #: doc/guix.texi:8976
 msgid "For information on porting to other architectures or kernels, @pxref{Porting}."
-msgstr "Informationen, wie auf andere Architekturen oder Kernels portiert werden kann, finden Sie im Abschnitt @pxref{Porting}."
+msgstr "Informationen, wie auf andere Architekturen oder Kernels portiert werden kann, finden Sie im Abschnitt @ref{Porting}."
 
 #. type: Plain text
 #: doc/guix.texi:8991
 msgid "Building this distribution is a cooperative effort, and you are invited to join! @xref{Contributing}, for information about how you can help."
-msgstr "Diese Distribution aufzubauen basiert auf Kooperation, und Sie sind herzlich eingeladen, dabei mitzumachen! Im Abschnitt @xref{Contributing} stehen weitere Informationen, wie Sie uns helfen können."
+msgstr "Diese Distribution aufzubauen basiert auf Kooperation, und Sie sind herzlich eingeladen, dabei mitzumachen! Im Abschnitt @ref{Contributing} stehen weitere Informationen, wie Sie uns helfen können."
 
 #. type: cindex
 #: doc/guix.texi:8995
@@ -15916,12 +16089,12 @@ msgstr "GuixSD installieren"
 #. type: Plain text
 #: doc/guix.texi:9001
 msgid "This section explains how to install the Guix System Distribution (GuixSD)  on a machine.  The Guix package manager can also be installed on top of a running GNU/Linux system, @pxref{Installation}."
-msgstr "Dieser Abschnitt beschreibt, wie Sie die »Guix System Distribution« (GuixSD) auf einer Maschine installieren. Das Guix-Paketverwaltungswerkzeug kann auch ein bestehendes GNU/Linux-System ergänzen, mehr dazu finden Sie im Abschnitt @pxref{Installation}."
+msgstr "Dieser Abschnitt beschreibt, wie Sie die »Guix System Distribution« (GuixSD) auf einer Maschine installieren. Das Guix-Paketverwaltungswerkzeug kann auch ein bestehendes GNU/Linux-System ergänzen, mehr dazu finden Sie im Abschnitt @ref{Installation}."
 
 #. type: quotation
 #: doc/guix.texi:9010
 msgid "You are reading this documentation with an Info reader.  For details on how to use it, hit the @key{RET} key (``return'' or ``enter'') on the link that follows: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}.  Hit @kbd{l} afterwards to come back here."
-msgstr "Sie lesen diese Dokumentation mit einem Info-Betrachter. Details, wie Sie ihn bedienen, erfahren Sie, indem Sie die Eingabetaste (auch »Return« oder »Enter« genannt) auf folgender Verknüpfung drücken: @pxref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Drücken Sie danach @kbd{l}, um hierher zurückzukommen."
+msgstr "Sie lesen diese Dokumentation mit einem Info-Betrachter. Details, wie Sie ihn bedienen, erfahren Sie, indem Sie die Eingabetaste (auch »Return« oder »Enter« genannt) auf folgender Verknüpfung drücken: @ref{Top, Info reader,, info-stnd, Stand-alone GNU Info}. Drücken Sie danach @kbd{l}, um hierher zurückzukommen."
 
 #. type: quotation
 #: doc/guix.texi:9013
@@ -15931,7 +16104,7 @@ msgstr "Führen Sie alternativ @command{info info} auf einer anderen Konsole (tt
 #. type: Plain text
 #: doc/guix.texi:9038
 msgid "As of version @value{VERSION}, the Guix System Distribution (GuixSD) is not production-ready.  It may contain bugs and lack important features.  Thus, if you are looking for a stable production system that respects your freedom as a computer user, a good solution at this point is to consider @url{http://www.gnu.org/distros/free-distros.html, one of the more established GNU/Linux distributions}.  We hope you can soon switch to the GuixSD without fear, of course.  In the meantime, you can also keep using your distribution and try out the package manager on top of it (@pxref{Installation})."
-msgstr "Die Version @value{VERSION} der Guix System Distribution (GuixSD) ist nicht für den Einsatz in einer Produktionsumgebung geeignet. Sie kann Fehler aufweisen und wichtige Funktionalitäten können fehlen. Wenn Sie also ein stabiles Produktionssystem aufsetzen wollen, dass Ihre Freiheit als Nutzer respektiert, sollten Sie vielleicht @url{http://www.gnu.org/distros/free-distros.html, eine der bewährteren GNU/Linux-Distributionen} auswählen. Wir hoffen natürlich, dass Sie bald ohne Furcht auf GuixSD umsteigen können. Bis dahin können Sie auch das Guix-Paketverwaltungswerkzeug auf Ihrer bestehenden Distribution verwenden (@pxref{Installation})."
+msgstr "Die Version @value{VERSION} der Guix System Distribution (GuixSD) ist nicht für den Einsatz in einer Produktionsumgebung geeignet. Sie kann Fehler aufweisen und wichtige Funktionalitäten können fehlen. Wenn Sie also ein stabiles Produktionssystem aufsetzen wollen, dass Ihre Freiheit als Nutzer respektiert, sollten Sie vielleicht @url{http://www.gnu.org/distros/free-distros.html, eine der bewährteren GNU/Linux-Distributionen} auswählen. Wir hoffen natürlich, dass Sie bald ohne Furcht auf GuixSD umsteigen können. Bis dahin können Sie auch das Guix-Paketverwaltungswerkzeug auf Ihrer bestehenden Distribution verwenden (siehe @ref{Installation})."
 
 #. type: Plain text
 #: doc/guix.texi:9041
@@ -15951,7 +16124,7 @@ msgstr "Der Logical Volume Manager (LVM) wird nicht unterstützt."
 #. type: itemize
 #: doc/guix.texi:9054
 msgid "More and more system services are provided (@pxref{Services}), but some may be missing."
-msgstr "Immer mehr Systemdienste sind verfügbar (@pxref{Services}), aber manche könnten noch fehlen."
+msgstr "Immer mehr Systemdienste sind verfügbar (siehe @ref{Services}), aber manche könnten noch fehlen."
 
 #. type: itemize
 #: doc/guix.texi:9058
@@ -15961,12 +16134,12 @@ msgstr "Über 7.500 Pakete stehen zur Verfügung, aber ab und zu könnte ein nü
 #. type: itemize
 #: doc/guix.texi:9063
 msgid "GNOME, Xfce, LXDE, and Enlightenment are available (@pxref{Desktop Services}), as well as a number of X11 window managers.  However, some graphical applications may be missing, as well as KDE."
-msgstr "GNOME, Xfce, LXDE und Enlightenment stehen zur Verfügung (@pxref{Desktop Services}), ebenso eine Reihe von X11-Fensterverwaltungsprogrammen. Manche grafischen Anwendungen könnten aber noch fehlen, ebenso fehlt KDE."
+msgstr "GNOME, Xfce, LXDE und Enlightenment stehen zur Verfügung (siehe @ref{Desktop Services}), ebenso eine Reihe von X11-Fensterverwaltungsprogrammen. Manche grafischen Anwendungen könnten aber noch fehlen, ebenso fehlt KDE."
 
 #. type: Plain text
 #: doc/guix.texi:9068
 msgid "You have been warned! But more than a disclaimer, this is an invitation to report issues (and success stories!), and to join us in improving it.  @xref{Contributing}, for more info."
-msgstr "Sie wurden gewarnt! Dies soll allerdings nicht nur ein Hinweis sein, sondern auch als Einladung aufgefasst werden, uns Fehler (und Erfolgsgeschichten!) zu melden und bei uns mitzumachen, um Guix zu verbessern. Siehe den Abschnitt @xref{Contributing}."
+msgstr "Sie wurden gewarnt! Dies soll allerdings nicht nur ein Hinweis sein, sondern auch als Einladung aufgefasst werden, uns Fehler (und Erfolgsgeschichten!) zu melden und bei uns mitzumachen, um Guix zu verbessern. Siehe den Abschnitt @ref{Contributing}."
 
 #. type: cindex
 #: doc/guix.texi:9073
@@ -15988,7 +16161,7 @@ msgstr "WLAN, Hardware-Unterstützung"
 #. type: Plain text
 #: doc/guix.texi:9092
 msgid "One of the main areas where free drivers or firmware are lacking is WiFi devices.  WiFi devices known to work include those using Atheros chips (AR9271 and AR7010), which corresponds to the @code{ath9k} Linux-libre driver, and those using Broadcom/AirForce chips (BCM43xx with Wireless-Core Revision 5), which corresponds to the @code{b43-open} Linux-libre driver.  Free firmware exists for both and is available out-of-the-box on GuixSD, as part of @var{%base-firmware} (@pxref{operating-system Reference, @code{firmware}})."
-msgstr "Einer der wichtigsten Bereiche, wo es an freien Treibern und freier Firmware mangelt, sind WLAN-Geräte. WLAN-Geräte, von denen wir wissen, dass sie funktionieren, sind unter Anderem solche, die die Atheros-Chips AR9271 und AR7010 verbauen, welche der Linux-libre-Treiber @code{ath9k} unterstützt, und die, die Broadcom/AirForce-Chips BCM43xx (mit Wireless-Core Revision 5) verbauen, welche der Linux-libre-Treiber @code{b43-open} unterstützt. Freie Firmware gibt es für beide und sie wird von Haus aus mit GuixSD als ein Teil von @var{%base-firmware} mitgeliefert (@pxref{operating-system Reference, @code{firmware}})."
+msgstr "Einer der wichtigsten Bereiche, wo es an freien Treibern und freier Firmware mangelt, sind WLAN-Geräte. WLAN-Geräte, von denen wir wissen, dass sie funktionieren, sind unter anderem solche, die die Atheros-Chips AR9271 und AR7010 verbauen, welche der Linux-libre-Treiber @code{ath9k} unterstützt, und die, die Broadcom/AirForce-Chips BCM43xx (mit Wireless-Core Revision 5) verbauen, welche der Linux-libre-Treiber @code{b43-open} unterstützt. Freie Firmware gibt es für beide und sie wird von Haus aus mit GuixSD als ein Teil von @var{%base-firmware} mitgeliefert (siehe @ref{operating-system Reference, @code{firmware}})."
 
 #. type: cindex
 #: doc/guix.texi:9093
@@ -16119,17 +16292,17 @@ msgstr "Das System starten"
 #. type: Plain text
 #: doc/guix.texi:9199
 msgid "Once this is done, you should be able to reboot the system and boot from the USB stick or DVD.  The latter usually requires you to get in the BIOS or UEFI boot menu, where you can choose to boot from the USB stick."
-msgstr "Sobald das erledigt ist, sollten Sie Ihr System neu starten und es vom USB-Stick oder der DVD booten können. Dazu müssen Sie wahrscheinlich beim Starten des Rechners in das BIOS- oder UEFI-Boot-Menü gehen, von wo aus Sie auswählen können, dass vom USB-Stick gebootet werden soll."
+msgstr "Sobald das erledigt ist, sollten Sie Ihr System neu starten und es vom USB-Stick oder der DVD hochfahren (»booten«) können. Dazu müssen Sie wahrscheinlich beim Starten des Rechners in das BIOS- oder UEFI-Boot-Menü gehen, von wo aus Sie auswählen können, dass vom USB-Stick gebootet werden soll."
 
 #. type: Plain text
 #: doc/guix.texi:9202
 msgid "@xref{Installing GuixSD in a VM}, if, instead, you would like to install GuixSD in a virtual machine (VM)."
-msgstr "Lesen Sie den Abschnitt @xref{Installing GuixSD in a VM}, wenn Sie GuixSD stattdessen in einer virtuellen Maschine (VM) installieren möchten."
+msgstr "Lesen Sie den Abschnitt @ref{Installing GuixSD in a VM}, wenn Sie GuixSD stattdessen in einer virtuellen Maschine (VM) installieren möchten."
 
 #. type: Plain text
 #: doc/guix.texi:9214
 msgid "Once you have successfully booted your computer using the installation medium, you should end up with a root prompt.  Several console TTYs are configured and can be used to run commands as root.  TTY2 shows this documentation, browsable using the Info reader commands (@pxref{Top,,, info-stnd, Stand-alone GNU Info}).  The installation system runs the GPM mouse daemon, which allows you to select text with the left mouse button and to paste it with the middle button."
-msgstr "Wenn Sie Ihren Rechner erfolgreich mit diesem Installationsmedium gebootet haben, sollten Sie vor sich eine Eingabeaufforderung für den Administratornutzer »root« sehen. Mehrere Konsolen-TTYs sind eingerichtet, von denen aus Sie Befehle als Administrator ausführen können. TTY2 zeigt Ihnen dieses Handbuch, worin Sie mit den Steuerungsbefehlen Ihres Info-Betrachters blättern können (@pxref{Top,,, info-stnd, Stand-alone GNU Info}). Auf dem Installationssystem läuft der GPM-Maus-Daemon, wodurch Sie Text mit der linken Maustaste markieren und ihn mit der mittleren Maustaste einfügen können."
+msgstr "Wenn Sie Ihren Rechner erfolgreich mit diesem Installationsmedium gebootet haben, sollten Sie vor sich eine Eingabeaufforderung für den Administratornutzer »root« sehen. Mehrere Konsolen-TTYs sind eingerichtet, von denen aus Sie Befehle als Administrator ausführen können. TTY2 zeigt Ihnen dieses Handbuch, worin Sie mit den Steuerungsbefehlen Ihres Info-Betrachters blättern können (siehe @ref{Top,,, info-stnd, Stand-alone GNU Info}). Auf dem Installationssystem läuft der GPM-Maus-Daemon, wodurch Sie Text mit der linken Maustaste markieren und ihn mit der mittleren Maustaste einfügen können."
 
 #. type: quotation
 #: doc/guix.texi:9219
@@ -16139,7 +16312,7 @@ msgstr "Für die Installation benötigen Sie Zugang zum Internet, damit fehlende
 #. type: Plain text
 #: doc/guix.texi:9225
 msgid "The installation system includes many common tools needed for this task.  But it is also a full-blown GuixSD system, which means that you can install additional packages, should you need it, using @command{guix package} (@pxref{Invoking guix package})."
-msgstr "Das Installationssystem enthält viele übliche Werkzeuge, mit denen Sie diese Aufgabe bewältigen können. Da es sich auch um ein vollständiges GuixSD-System handelt, können Sie aber auch andere Pakete mit dem Befehl @command{guix package} nachinstallieren, wenn Sie sie brauchen (@pxref{Invoking guix package})."
+msgstr "Das Installationssystem enthält viele übliche Werkzeuge, mit denen Sie diese Aufgabe bewältigen können. Da es sich auch um ein vollständiges GuixSD-System handelt, können Sie aber auch andere Pakete mit dem Befehl @command{guix package} nachinstallieren, wenn Sie sie brauchen (siehe @ref{Invoking guix package})."
 
 #. type: subsubsection
 #: doc/guix.texi:9226
@@ -16354,7 +16527,7 @@ msgstr "Sofern nicht bereits geschehen, ist der nächste Schritt, zu partitionie
 #. type: Plain text
 #: doc/guix.texi:9343
 msgid "The installation image includes several partitioning tools, including Parted (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk}, and @command{cfdisk}.  Run it and set up your disk with the partition layout you want:"
-msgstr "Auf dem Installationsabbild sind mehrere Partitionierungswerkzeuge zu finden, einschließlich (@pxref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk} und @command{cfdisk}. Starten Sie eines davon und partitionieren Sie Ihre Festplatte oder sonstigen Massenspeicher:"
+msgstr "Auf dem Installationsabbild sind mehrere Partitionierungswerkzeuge zu finden, einschließlich (siehe @ref{Overview,,, parted, GNU Parted User Manual}), @command{fdisk} und @command{cfdisk}. Starten Sie eines davon und partitionieren Sie Ihre Festplatte oder sonstigen Massenspeicher:"
 
 #. type: example
 #: doc/guix.texi:9346
@@ -16365,7 +16538,7 @@ msgstr "cfdisk\n"
 #. type: Plain text
 #: doc/guix.texi:9352
 msgid "If your disk uses the GUID Partition Table (GPT) format and you plan to install BIOS-based GRUB (which is the default), make sure a BIOS Boot Partition is available (@pxref{BIOS installation,,, grub, GNU GRUB manual})."
-msgstr "Wenn Ihre Platte mit einer »GUID Partition Table« (GPT) formatiert ist, und Sie vorhaben, die BIOS-basierte Variante des GRUB-Bootloaders  zu installieren (was der Vorgabe entspricht), stellen Sie sicher, dass eine Partition als BIOS-Boot-Partition ausgewiesen ist (@pxref{BIOS installation,,, grub, GNU GRUB manual})."
+msgstr "Wenn Ihre Platte mit einer »GUID Partition Table« (GPT) formatiert ist, und Sie vorhaben, die BIOS-basierte Variante des GRUB-Bootloaders  zu installieren (was der Vorgabe entspricht), stellen Sie sicher, dass eine Partition als BIOS-Boot-Partition ausgewiesen ist (siehe @ref{BIOS installation,,, grub, GNU GRUB manual})."
 
 #. type: cindex
 #: doc/guix.texi:9353
@@ -16411,7 +16584,7 @@ msgstr "grub-efi-bootloader"
 #. type: quotation
 #: doc/guix.texi:9373
 msgid "Unsure whether to use EFI- or BIOS-based GRUB? If the directory @file{/sys/firmware/efi} exists in the installation image, then you should probably perform an EFI installation, using @code{grub-efi-bootloader}.  Otherwise you should use the BIOS-based GRUB, known as @code{grub-bootloader}.  @xref{Bootloader Configuration}, for more info on bootloaders."
-msgstr "Falls Sie nicht wissen, ob Sie einen EFI- oder BIOS-basierten GRUB installieren möchten: Wenn bei Ihnen das Verzeichnis @file{/sys/firmware/efi} im Dateisystem existiert, möchten Sie vermutlich eine EFI-Installation durchführen, wozu Sie in Ihrer Konfiguration @code{grub-efi-bootloader} benutzen. Ansonsten sollten Sie den BIOS-basierten GRUB benutzen, der mit @code{grub-bootloader} bezeichnet wird.  Siehe @xref{Bootloader Configuration}, wenn Sie mehr Informationen über Bootloader brauchen."
+msgstr "Falls Sie nicht wissen, ob Sie einen EFI- oder BIOS-basierten GRUB installieren möchten: Wenn bei Ihnen das Verzeichnis @file{/sys/firmware/efi} im Dateisystem existiert, möchten Sie vermutlich eine EFI-Installation durchführen, wozu Sie in Ihrer Konfiguration @code{grub-efi-bootloader} benutzen. Ansonsten sollten Sie den BIOS-basierten GRUB benutzen, der mit @code{grub-bootloader} bezeichnet wird.  Siehe @ref{Bootloader Configuration}, wenn Sie mehr Informationen über Bootloader brauchen."
 
 #. type: Plain text
 #: doc/guix.texi:9381
@@ -16427,7 +16600,7 @@ msgstr "mkfs.fat -F32 /dev/sda1\n"
 #. type: Plain text
 #: doc/guix.texi:9392
 msgid "Preferably, assign file systems a label so that you can easily and reliably refer to them in @code{file-system} declarations (@pxref{File Systems}).  This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands.  So, assuming the target root partition lives at @file{/dev/sda2}, a file system with the label @code{my-root} can be created with:"
-msgstr "Geben Sie Ihren Dateisystemen auch besser eine Bezeichnung (»Label«), damit Sie sie zuverlässig wiedererkennen und später in den @code{file-system}-Deklarationen darauf Bezug nehmen können (@pxref{File Systems}). Dazu benutzen Sie typischerweise die Befehlszeilenoption @code{-L} des Befehls @command{mkfs.ext4} oder entsprechende Optionen für andere Befehle. Wenn wir also annehmen, dass @file{/dev/sda2} die Partition ist, auf der Ihr Wurzeldateisystem (englisch »root«) wohnen soll, können Sie dort mit diesem Befehl ein Dateisystem mit der Bezeichnung @code{my-root} erstellen:"
+msgstr "Geben Sie Ihren Dateisystemen auch besser eine Bezeichnung (»Label«), damit Sie sie zuverlässig wiedererkennen und später in den @code{file-system}-Deklarationen darauf Bezug nehmen können (siehe @ref{File Systems}). Dazu benutzen Sie typischerweise die Befehlszeilenoption @code{-L} des Befehls @command{mkfs.ext4} oder entsprechende Optionen für andere Befehle. Wenn wir also annehmen, dass @file{/dev/sda2} die Partition ist, auf der Ihr Wurzeldateisystem (englisch »root«) wohnen soll, können Sie dort mit diesem Befehl ein Dateisystem mit der Bezeichnung @code{my-root} erstellen:"
 
 #. type: example
 #: doc/guix.texi:9395
@@ -16477,7 +16650,7 @@ msgstr "Binden Sie auch alle anderen Dateisysteme ein, die Sie auf dem Zielsyste
 #. type: Plain text
 #: doc/guix.texi:9428
 msgid "Finally, if you plan to use one or more swap partitions (@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference Manual}), make sure to initialize them with @command{mkswap}.  Assuming you have one swap partition on @file{/dev/sda3}, you would run:"
-msgstr "Wenn Sie zudem auch vorhaben, eine oder mehrere Swap-Partitionen zu benutzen (@pxref{Memory Concepts, swap space,, libc, The GNU C Library Reference Manual}), initialisieren Sie diese nun mit @command{mkswap}. Angenommen Sie haben eine Swap-Partition auf @file{/dev/sda3}, dann würde der Befehl so lauten:"
+msgstr "Wenn Sie zudem auch vorhaben, eine oder mehrere Swap-Partitionen zu benutzen (siehe @ref{Memory Concepts, swap space,, libc, The GNU C Library Reference Manual}), initialisieren Sie diese nun mit @command{mkswap}. Angenommen Sie haben eine Swap-Partition auf @file{/dev/sda3}, dann würde der Befehl so lauten:"
 
 #. type: example
 #: doc/guix.texi:9432
@@ -16536,12 +16709,12 @@ msgstr "Dadurch wird @file{/gnu/store} copy-on-write, d.h. dorthin von Guix erst
 #. type: Plain text
 #: doc/guix.texi:9480
 msgid "Next, you have to edit a file and provide the declaration of the operating system to be installed.  To that end, the installation system comes with three text editors.  We recommend GNU nano (@pxref{Top,,, nano, GNU nano Manual}), which supports syntax highlighting and parentheses matching; other editors include GNU Zile (an Emacs clone), and nvi (a clone of the original BSD @command{vi} editor).  We strongly recommend storing that file on the target root file system, say, as @file{/mnt/etc/config.scm}.  Failing to do that, you will have lost your configuration file once you have rebooted into the newly-installed system."
-msgstr "Als Nächstes müssen Sie eine Datei bearbeiten und dort eine Deklaration des Betriebssystems, das Sie installieren möchten, hineinschreiben. Zu diesem Zweck sind im Installationssystem drei Texteditoren enthalten. Wir empfehlen, dass Sie GNU nano benutzen (@pxref{Top,,, nano, GNU nano Manual}), welcher Syntax und zueinander gehörende Klammern hervorheben kann. Andere mitgelieferte Texteditoren, die Sie benutzen können, sind GNU Zile (ein Emacs-Klon) und nvi (ein Klon des ursprünglichen @command{vi}-Editors von BSD). Wir empfehlen sehr, dass Sie diese Datei im Zieldateisystem der Installation speichern, etwa als @file{/mnt/etc/config.scm}, weil Sie Ihre Konfigurationsdatei im frisch installierten System noch brauchen werden."
+msgstr "Als Nächstes müssen Sie eine Datei bearbeiten und dort eine Deklaration des Betriebssystems, das Sie installieren möchten, hineinschreiben. Zu diesem Zweck sind im Installationssystem drei Texteditoren enthalten. Wir empfehlen, dass Sie GNU nano benutzen (siehe @ref{Top,,, nano, GNU nano Manual}), welcher Syntax und zueinander gehörende Klammern hervorheben kann. Andere mitgelieferte Texteditoren, die Sie benutzen können, sind GNU Zile (ein Emacs-Klon) und nvi (ein Klon des ursprünglichen @command{vi}-Editors von BSD). Wir empfehlen sehr, dass Sie diese Datei im Zieldateisystem der Installation speichern, etwa als @file{/mnt/etc/config.scm}, weil Sie Ihre Konfigurationsdatei im frisch installierten System noch brauchen werden."
 
 #. type: Plain text
 #: doc/guix.texi:9487
 msgid "@xref{Using the Configuration System}, for an overview of the configuration file.  The example configurations discussed in that section are available under @file{/etc/configuration} in the installation image.  Thus, to get started with a system configuration providing a graphical display server (a ``desktop'' system), you can run something along these lines:"
-msgstr "Der Abschnitt @xref{Using the Configuration System} gibt einen Überblick über die Konfigurationsdatei. Die in dem Abschnitt diskutierten Beispielkonfigurationen sind im Installationsabbild im Verzeichnis @file{/etc/configuration} zu finden. Um also mit einer Systemkonfiguration anzufangen, die einen grafischen »Display-Server« (eine »Desktop«-Arbeitsumgebung) bietet, könnten Sie so etwas ausführen:"
+msgstr "Der Abschnitt @ref{Using the Configuration System} gibt einen Überblick über die Konfigurationsdatei. Die in dem Abschnitt diskutierten Beispielkonfigurationen sind im Installationsabbild im Verzeichnis @file{/etc/configuration} zu finden. Um also mit einer Systemkonfiguration anzufangen, die einen grafischen »Display-Server« (eine »Desktop«-Arbeitsumgebung) bietet, könnten Sie so etwas ausführen:"
 
 #. type: example
 #: doc/guix.texi:9492
@@ -16573,7 +16746,7 @@ msgstr "Dateisystembezeichnungen müssen mit den jeweiligen @code{device}-Felder
 #. type: itemize
 #: doc/guix.texi:9516
 msgid "If there are encrypted or RAID partitions, make sure to add a @code{mapped-devices} field to describe them (@pxref{Mapped Devices})."
-msgstr "Gibt es verschlüsselte Partitionen oder RAID-Partitionen, dann müssen sie im @code{mapped-devices}-Feld genannt werden (@pxref{Mapped Devices})."
+msgstr "Gibt es verschlüsselte Partitionen oder RAID-Partitionen, dann müssen sie im @code{mapped-devices}-Feld genannt werden (siehe @ref{Mapped Devices})."
 
 #. type: Plain text
 #: doc/guix.texi:9521
@@ -16589,12 +16762,12 @@ msgstr "guix system init /mnt/etc/config.scm /mnt\n"
 #. type: Plain text
 #: doc/guix.texi:9531
 msgid "This copies all the necessary files and installs GRUB on @file{/dev/sdX}, unless you pass the @option{--no-bootloader} option.  For more information, @pxref{Invoking guix system}.  This command may trigger downloads or builds of missing packages, which can take some time."
-msgstr "Dies kopiert alle notwendigen Dateien und installiert GRUB auf @file{/dev/sdX}, sofern Sie nicht noch die Befehlszeilenoption @option{--no-bootloader} benutzen. Weitere Informationen finden Sie im Abschnitt @pxref{Invoking guix system}. Der Befehl kann das Herunterladen oder Erstellen fehlender Softwarepakete auslösen, was einige Zeit in Anspruch nehmen kann."
+msgstr "Dies kopiert alle notwendigen Dateien und installiert GRUB auf @file{/dev/sdX}, sofern Sie nicht noch die Befehlszeilenoption @option{--no-bootloader} benutzen. Weitere Informationen finden Sie im Abschnitt @ref{Invoking guix system}. Der Befehl kann das Herunterladen oder Erstellen fehlender Softwarepakete auslösen, was einige Zeit in Anspruch nehmen kann."
 
 #. type: Plain text
 #: doc/guix.texi:9538
 msgid "Once that command has completed---and hopefully succeeded!---you can run @command{reboot} and boot into the new system.  The @code{root} password in the new system is initially empty; other users' passwords need to be initialized by running the @command{passwd} command as @code{root}, unless your configuration specifies otherwise (@pxref{user-account-password, user account passwords})."
-msgstr "Sobald der Befehl erfolgreich — hoffentlich! — durchgelaufen ist, können Sie mit dem Befehl @command{reboot} das neue System booten lassen. Der Administratornutzer @code{root} hat im neuen System zunächst ein leeres Passwort und Passwörter der anderen Nutzer müssen Sie erst setzen, indem Sie den Befehl @command{passwd} als @code{root} ausführen, außer Ihre Konfiguration enthält schon Passwörter (@pxref{user-account-password, user account passwords})."
+msgstr "Sobald der Befehl erfolgreich — hoffentlich! — durchgelaufen ist, können Sie mit dem Befehl @command{reboot} das neue System booten lassen. Der Administratornutzer @code{root} hat im neuen System zunächst ein leeres Passwort und Passwörter der anderen Nutzer müssen Sie erst setzen, indem Sie den Befehl @command{passwd} als @code{root} ausführen, außer Ihre Konfiguration enthält schon Passwörter (siehe @ref{user-account-password, user account passwords})."
 
 #. type: cindex
 #: doc/guix.texi:9539
@@ -16605,7 +16778,7 @@ msgstr "GuixSD aktualisieren"
 #. type: Plain text
 #: doc/guix.texi:9546
 msgid "From then on, you can update GuixSD whenever you want by running @command{guix pull} as @code{root} (@pxref{Invoking guix pull}), and then running @command{guix system reconfigure} to build a new system generation with the latest packages and services (@pxref{Invoking guix system}).  We recommend doing that regularly so that your system includes the latest security updates (@pxref{Security Updates})."
-msgstr "Von jetzt an können Sie GuixSD aktualisieren, wann Sie möchten, indem Sie erst als Administratornutzer @code{root} mit dem Befehl @command{guix pull} ein aktuelles Guix aufspielen (@pxref{Invoking guix pull}) und dann mit dem Befehl @command{guix system reconfigure} eine neue Systemgeneration aus den neuesten Paketen und Diensten installieren (@pxref{Invoking guix system}). Wir empfehlen, diese Schritte regelmäßig zu wiederholen, damit Ihr System die aktuellen Sicherheitsaktualisierungen benutzt (@pxref{Security Updates})."
+msgstr "Von jetzt an können Sie GuixSD aktualisieren, wann Sie möchten, indem Sie erst als Administratornutzer @code{root} mit dem Befehl @command{guix pull} ein aktuelles Guix aufspielen (siehe @ref{Invoking guix pull}) und dann mit dem Befehl @command{guix system reconfigure} eine neue Systemgeneration aus den neuesten Paketen und Diensten installieren (siehe @ref{Invoking guix system}). Wir empfehlen, diese Schritte regelmäßig zu wiederholen, damit Ihr System die aktuellen Sicherheitsaktualisierungen benutzt (siehe @ref{Security Updates})."
 
 #. type: Plain text
 #: doc/guix.texi:9550
@@ -16649,7 +16822,7 @@ msgstr "Um eine virtuelle Maschine für @uref{http://qemu.org/,QEMU} aufzusetzen
 #. type: enumerate
 #: doc/guix.texi:9568
 msgid "First, retrieve and decompress the GuixSD installation image as described previously (@pxref{USB Stick and DVD Installation})."
-msgstr "Zunächst laden Sie das Installationsabbild von GuixSD wie zuvor beschrieben herunter und entpacken es (@pxref{USB Stick and DVD Installation})."
+msgstr "Zunächst laden Sie das Installationsabbild von GuixSD wie zuvor beschrieben herunter und entpacken es (siehe @ref{USB Stick and DVD Installation})."
 
 #. type: enumerate
 #: doc/guix.texi:9572
@@ -16699,12 +16872,12 @@ msgstr "Drücken Sie auf der Konsole der virtuellen Maschine schnell die @kbd{F1
 #. type: enumerate
 #: doc/guix.texi:9599
 msgid "You're now root in the VM, proceed with the installation process.  @xref{Preparing for Installation}, and follow the instructions."
-msgstr "Sie sind nun in der virtuellen Maschine als Administratornutzer @code{root} angemeldet und können mit der Installation wie gewohnt fortfahren. Folgen Sie der Anleitung im Abschnitt @xref{Preparing for Installation}."
+msgstr "Sie sind nun in der virtuellen Maschine als Administratornutzer @code{root} angemeldet und können mit der Installation wie gewohnt fortfahren. Folgen Sie der Anleitung im Abschnitt @ref{Preparing for Installation}."
 
 #. type: Plain text
 #: doc/guix.texi:9604
 msgid "Once installation is complete, you can boot the system that's on your @file{guixsd.img} image.  @xref{Running GuixSD in a VM}, for how to do that."
-msgstr "Wurde die Installation abgeschlossen, können Sie das System starten, dessen Abbild sich nun in der Datei @file{guixsd.img} befindet. Der Abschnitt @xref{Running GuixSD in a VM} erklärt, wie Sie das tun können."
+msgstr "Wurde die Installation abgeschlossen, können Sie das System starten, dessen Abbild sich nun in der Datei @file{guixsd.img} befindet. Der Abschnitt @ref{Running GuixSD in a VM} erklärt, wie Sie das tun können."
 
 #. type: cindex
 #: doc/guix.texi:9608
@@ -16769,7 +16942,7 @@ msgstr "Die Guix-Systemdistribution unterstützt einen Mechanismus zur konsisten
 #. type: Plain text
 #: doc/guix.texi:9655
 msgid "One of the advantages of putting all the system configuration under the control of Guix is that it supports transactional system upgrades, and makes it possible to roll back to a previous system instantiation, should something go wrong with the new one (@pxref{Features}).  Another advantage is that it makes it easy to replicate the exact same configuration across different machines, or at different points in time, without having to resort to additional administration tools layered on top of the own tools of the system."
-msgstr "Einer der Vorteile, die ganze Systemkonfiguration unter die Kontrolle von Guix zu stellen, ist, dass so transaktionelle Systemaktualisierungen möglich werden und dass diese rückgängig gemacht werden können, wenn das aktualisierte System nicht richtig funktioniert (@pxref{Features}). Ein anderer Vorteil ist, dass dieselbe Systemkonfiguration leicht auf einer anderen Maschine oder zu einem späteren Zeitpunkt benutzt werden kann, ohne dazu eine weitere Schicht administrativer Werkzeuge über den systemeigenen Werkzeugen einsetzen zu müssen."
+msgstr "Einer der Vorteile, die ganze Systemkonfiguration unter die Kontrolle von Guix zu stellen, ist, dass so transaktionelle Systemaktualisierungen möglich werden und dass diese rückgängig gemacht werden können, wenn das aktualisierte System nicht richtig funktioniert (siehe @ref{Features}). Ein anderer Vorteil ist, dass dieselbe Systemkonfiguration leicht auf einer anderen Maschine oder zu einem späteren Zeitpunkt benutzt werden kann, ohne dazu eine weitere Schicht administrativer Werkzeuge über den systemeigenen Werkzeugen einsetzen zu müssen."
 
 #. type: Plain text
 #: doc/guix.texi:9660
@@ -16779,7 +16952,7 @@ msgstr "In diesem Abschnitt wird dieser Mechanismus beschrieben. Zunächst betra
 #. type: Plain text
 #: doc/guix.texi:9687
 msgid "The operating system is configured by providing an @code{operating-system} declaration in a file that can then be passed to the @command{guix system} command (@pxref{Invoking guix system}).  A simple setup, with the default system services, the default Linux-Libre kernel, initial RAM disk, and boot loader looks like this:"
-msgstr "Das Betriebssystem können Sie konfigurieren, indem Sie eine @code{operating-system}-Deklaration in einer Datei speichern, die Sie dann dem Befehl @command{guix system} übergeben (@pxref{Invoking guix system}). Eine einfache Konfiguration mit den vorgegebenen Systemdiensten und dem vorgegebenen Linux-Libre als Kernel und mit einer initialen RAM-Disk und einem Bootloader, sieht so aus:"
+msgstr "Das Betriebssystem können Sie konfigurieren, indem Sie eine @code{operating-system}-Deklaration in einer Datei speichern, die Sie dann dem Befehl @command{guix system} übergeben (siehe @ref{Invoking guix system}). Eine einfache Konfiguration mit den vorgegebenen Systemdiensten und dem vorgegebenen Linux-Libre als Kernel und mit einer initialen RAM-Disk und einem Bootloader, sieht so aus:"
 
 #. type: findex
 #: doc/guix.texi:9688
@@ -16801,7 +16974,7 @@ msgstr "Dieses Beispiel sollte selbsterklärend sein. Manche der Felder oben, wi
 #. type: Plain text
 #: doc/guix.texi:9702
 msgid "Below we discuss the effect of some of the most important fields (@pxref{operating-system Reference}, for details about all the available fields), and how to @dfn{instantiate} the operating system using @command{guix system}."
-msgstr "Im Folgenden werden die Effekte von einigen der wichtigsten Feldern erläutert (@pxref{operating-system Reference}, für Details zu allen verfügbaren Feldern), dann wird beschrieben, wie man das Betriebssystem mit @command{guix system} @dfn{instanziieren} kann."
+msgstr "Im Folgenden werden die Effekte von einigen der wichtigsten Feldern erläutert (siehe @ref{operating-system Reference} für Details zu allen verfügbaren Feldern), dann wird beschrieben, wie man das Betriebssystem mit @command{guix system} @dfn{instanziieren} kann."
 
 #. type: unnumberedsubsubsec
 #: doc/guix.texi:9703
@@ -16853,7 +17026,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:9723
 msgid "@xref{Bootloader Configuration}, for more information on the available configuration options."
-msgstr "Siehe den Abschnitt @xref{Bootloader Configuration} für weitere Informationen zu den verfügbaren Konfigurationsoptionen."
+msgstr "Siehe den Abschnitt @ref{Bootloader Configuration} für weitere Informationen zu den verfügbaren Konfigurationsoptionen."
 
 #. type: unnumberedsubsubsec
 #: doc/guix.texi:9724
@@ -16870,7 +17043,7 @@ msgstr "%base-packages"
 #. type: Plain text
 #: doc/guix.texi:9739
 msgid "The @code{packages} field lists packages that will be globally visible on the system, for all user accounts---i.e., in every user's @code{PATH} environment variable---in addition to the per-user profiles (@pxref{Invoking guix package}).  The @var{%base-packages} variable provides all the tools one would expect for basic user and administrator tasks---including the GNU Core Utilities, the GNU Networking Utilities, the GNU Zile lightweight text editor, @command{find}, @command{grep}, etc.  The example above adds GNU@tie{}Screen to those, taken from the @code{(gnu packages screen)} module (@pxref{Package Modules}).  The @code{(list package output)} syntax can be used to add a specific output of a package:"
-msgstr "Im Feld @code{packages} werden Pakete aufgeführt, die auf dem System für alle Benutzerkonten global sichtbar sein sollen, d.h. in der @code{PATH}-Umgebungsvariablen jedes Nutzers, zusätzlich zu den nutzereigenen Profilen (@pxref{Invoking guix package}). Die Variable @var{%base-packages} bietet alle Werkzeuge, die man für grundlegende Nutzer- und Administratortätigkeiten erwarten würde, einschließlich der GNU Core Utilities, der GNU Networking Utilities, des leichtgewichtigen Texteditors GNU Zile, @command{find}, @command{grep} und so weiter. Obiges Beispiel fügt zu diesen noch das Programm GNU@tie{}Screen hinzu, welches aus dem Modul @code{(gnu packages screen)} genommen wird (@pxref{Package Modules}). Die Syntax @code{(list package output)} kann benutzt werden, um eine bestimmte Ausgabe eines Pakets auszuwählen:"
+msgstr "Im Feld @code{packages} werden Pakete aufgeführt, die auf dem System für alle Benutzerkonten global sichtbar sein sollen, d.h. in der @code{PATH}-Umgebungsvariablen jedes Nutzers, zusätzlich zu den nutzereigenen Profilen (siehe @ref{Invoking guix package}). Die Variable @var{%base-packages} bietet alle Werkzeuge, die man für grundlegende Nutzer- und Administratortätigkeiten erwarten würde, einschließlich der GNU Core Utilities, der GNU Networking Utilities, des leichtgewichtigen Texteditors GNU Zile, @command{find}, @command{grep} und so weiter. Obiges Beispiel fügt zu diesen noch das Programm GNU@tie{}Screen hinzu, welches aus dem Modul @code{(gnu packages screen)} genommen wird (siehe @ref{Package Modules}). Die Syntax @code{(list package output)} kann benutzt werden, um eine bestimmte Ausgabe eines Pakets auszuwählen:"
 
 #. type: lisp
 #: doc/guix.texi:9743
@@ -16956,7 +17129,7 @@ msgstr "%base-services"
 #. type: Plain text
 #: doc/guix.texi:9783
 msgid "The @code{services} field lists @dfn{system services} to be made available when the system starts (@pxref{Services}).  The @code{operating-system} declaration above specifies that, in addition to the basic services, we want the @command{lshd} secure shell daemon listening on port 2222 (@pxref{Networking Services, @code{lsh-service}}).  Under the hood, @code{lsh-service} arranges so that @code{lshd} is started with the right command-line options, possibly with supporting configuration files generated as needed (@pxref{Defining Services})."
-msgstr "Das Feld @code{services} listet @dfn{Systemdienste} auf, die zur Verfügung stehen sollen, wenn das System startet (@pxref{Services}). Die @code{operating-system}-Deklaration oben legt fest, dass wir neben den grundlegenden Basis-Diensten auch wollen, dass der Secure-Shell-Dienst @command{lshd} auf Port 2222 lauscht (@pxref{Networking Services, @code{lsh-service}}). Intern sorgt der @code{lsh-service} dafür, dass @code{lshd} mit den richtigen Befehlszeilenoptionen aufgerufen wird, je nach Systemkonfiguration werden auch für dessen Betrieb nötige Konfigurationsdateien erstellt (@pxref{Defining Services})."
+msgstr "Das Feld @code{services} listet @dfn{Systemdienste} auf, die zur Verfügung stehen sollen, wenn das System startet (siehe @ref{Services}). Die @code{operating-system}-Deklaration oben legt fest, dass wir neben den grundlegenden Basis-Diensten auch wollen, dass der Secure-Shell-Dienst @command{lshd} auf Port 2222 lauscht (siehe @ref{Networking Services, @code{lsh-service}}). Intern sorgt der @code{lsh-service} dafür, dass @code{lshd} mit den richtigen Befehlszeilenoptionen aufgerufen wird, je nach Systemkonfiguration werden auch für dessen Betrieb nötige Konfigurationsdateien erstellt (siehe @ref{Defining Services})."
 
 #. type: cindex
 #: doc/guix.texi:9784
@@ -16973,12 +17146,12 @@ msgstr "modify-services"
 #. type: Plain text
 #: doc/guix.texi:9789
 msgid "Occasionally, instead of using the base services as is, you will want to customize them.  To do this, use @code{modify-services} (@pxref{Service Reference, @code{modify-services}}) to modify the list."
-msgstr "Gelegentlich werden Sie die Basis-Dienste nicht einfach so, wie sie sind, benutzen, sondern anpassen wollen. Benutzen Sie @code{modify-services} (@pxref{Service Reference, @code{modify-services}}), um die Liste der Basis-Dienste zu modifizieren."
+msgstr "Gelegentlich werden Sie die Basis-Dienste nicht einfach so, wie sie sind, benutzen, sondern anpassen wollen. Benutzen Sie @code{modify-services} (siehe @ref{Service Reference, @code{modify-services}}), um die Liste der Basis-Dienste zu modifizieren."
 
 #. type: Plain text
 #: doc/guix.texi:9794
 msgid "For example, suppose you want to modify @code{guix-daemon} and Mingetty (the console log-in) in the @var{%base-services} list (@pxref{Base Services, @code{%base-services}}).  To do that, you can write the following in your operating system declaration:"
-msgstr "Wenn Sie zum Beispiel @code{guix-daemon} und Mingetty (das Programm, womit Sie sich auf der Konsole anmelden) in der @var{%base-services}-Liste modifizieren möchten (@pxref{Base Services, @code{%base-services}}), schreiben Sie das Folgende in Ihre Betriebssystemdeklaration:"
+msgstr "Wenn Sie zum Beispiel @code{guix-daemon} und Mingetty (das Programm, womit Sie sich auf der Konsole anmelden) in der @var{%base-services}-Liste modifizieren möchten (siehe @ref{Base Services, @code{%base-services}}), schreiben Sie das Folgende in Ihre Betriebssystemdeklaration:"
 
 #. type: lisp
 #: doc/guix.texi:9807
@@ -17057,12 +17230,12 @@ msgstr "Dieses Beispiel bezieht sich auf das Dateisystem hinter @file{/boot/efi}
 #. type: Plain text
 #: doc/guix.texi:9848
 msgid "@xref{Desktop Services}, for the exact list of services provided by @var{%desktop-services}.  @xref{X.509 Certificates}, for background information about the @code{nss-certs} package that is used here."
-msgstr "Im Abschnitt @xref{Desktop Services} finden Sie eine genaue Liste der unter @var{%desktop-services} angebotenen Dienste. Der Abschnitt @xref{X.509 Certificates} hat Hintergrundinformationen über das @code{nss-certs}-Paket, das hier benutzt wird."
+msgstr "Im Abschnitt @ref{Desktop Services} finden Sie eine genaue Liste der unter @var{%desktop-services} angebotenen Dienste. Der Abschnitt @ref{X.509 Certificates} hat Hintergrundinformationen über das @code{nss-certs}-Paket, das hier benutzt wird."
 
 #. type: Plain text
 #: doc/guix.texi:9855
 msgid "Again, @var{%desktop-services} is just a list of service objects.  If you want to remove services from there, you can do so using the procedures for list filtering (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference Manual}).  For instance, the following expression returns a list that contains all the services in @var{%desktop-services} minus the Avahi service:"
-msgstr "Beachten Sie, dass @var{%desktop-services} nur eine Liste von die Dienste repräsentierenden service-Objekten ist. Wenn Sie Dienste daraus entfernen möchten, können Sie dazu die Prozeduren zum Filtern von Listen benutzen (@pxref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference Manual}). Beispielsweise liefert der folgende Ausdruck eine Liste mit allen Diensten von @var{%desktop-services} außer dem Avahi-Dienst."
+msgstr "Beachten Sie, dass @var{%desktop-services} nur eine Liste von die Dienste repräsentierenden service-Objekten ist. Wenn Sie Dienste daraus entfernen möchten, können Sie dazu die Prozeduren zum Filtern von Listen benutzen (siehe @ref{SRFI-1 Filtering and Partitioning,,, guile, GNU Guile Reference Manual}). Beispielsweise liefert der folgende Ausdruck eine Liste mit allen Diensten von @var{%desktop-services} außer dem Avahi-Dienst."
 
 #. type: example
 #: doc/guix.texi:9860
@@ -17085,7 +17258,7 @@ msgstr "Das System instanziieren"
 #. type: Plain text
 #: doc/guix.texi:9869
 msgid "Assuming the @code{operating-system} declaration is stored in the @file{my-system-config.scm} file, the @command{guix system reconfigure my-system-config.scm} command instantiates that configuration, and makes it the default GRUB boot entry (@pxref{Invoking guix system})."
-msgstr "Angenommen, Sie haben die @code{operating-system}-Deklaration in einer Datei @file{my-system-config.scm} gespeichert, dann instanziiert der Befehl @command{guix system reconfigure my-system-config.scm} diese Konfiguration und macht sie zum voreingestellten GRUB-Boot-Eintrag (@pxref{Invoking guix system})."
+msgstr "Angenommen, Sie haben die @code{operating-system}-Deklaration in einer Datei @file{my-system-config.scm} gespeichert, dann instanziiert der Befehl @command{guix system reconfigure my-system-config.scm} diese Konfiguration und macht sie zum voreingestellten GRUB-Boot-Eintrag (siehe @ref{Invoking guix system})."
 
 #. type: Plain text
 #: doc/guix.texi:9877
@@ -17101,12 +17274,12 @@ msgstr "Zurücksetzen, des Betriebssystems"
 #. type: Plain text
 #: doc/guix.texi:9888
 msgid "Speaking of roll-back, each time you run @command{guix system reconfigure}, a new @dfn{generation} of the system is created---without modifying or deleting previous generations.  Old system generations get an entry in the bootloader boot menu, allowing you to boot them in case something went wrong with the latest generation.  Reassuring, no? The @command{guix system list-generations} command lists the system generations available on disk.  It is also possible to roll back the system via the commands @command{guix system roll-back} and @command{guix system switch-generation}."
-msgstr "Zurücksetzen bezieht sich hierbei darauf, dass jedes Mal, wenn Sie @command{guix system reconfigure} ausführen, eine neue @dfn{Generation} des Systems erzeugt wird — ohne vorherige Generationen zu verändern. Alte Systemgenerationen bekommen einen Eintrag im Boot-Menü des Bootloaders, womit Sie alte Generationen beim Booten des Rechners auswählen können, wenn mit der neuesten Generation etwas nicht stimmt. Eine beruhigende Vorstellung, oder? Der Befehl @command{guix system list-generations} führt die auf der Platte verfügbaren Systemgenerationen auf. Es ist auch möglich, das System mit den Befehlen @command{guix system roll-back} und @command{guix system switch-generation} zurückzusetzen."
+msgstr "Zurücksetzen bezieht sich hierbei darauf, dass jedes Mal, wenn Sie @command{guix system reconfigure} ausführen, eine neue @dfn{Generation} des Systems erzeugt wird — ohne vorherige Generationen zu verändern. Alte Systemgenerationen bekommen einen Eintrag im Boot-Menü des Bootloaders, womit Sie alte Generationen beim Starten des Rechners auswählen können, wenn mit der neuesten Generation etwas nicht stimmt. Eine beruhigende Vorstellung, oder? Der Befehl @command{guix system list-generations} führt die auf der Platte verfügbaren Systemgenerationen auf. Es ist auch möglich, das System mit den Befehlen @command{guix system roll-back} und @command{guix system switch-generation} zurückzusetzen."
 
 #. type: Plain text
 #: doc/guix.texi:9894
 msgid "Although the @command{guix system reconfigure} command will not modify previous generations, you must take care when the current generation is not the latest (e.g., after invoking @command{guix system roll-back}), since the operation might overwrite a later generation (@pxref{Invoking guix system})."
-msgstr "Obwohl der Befehl @command{guix system reconfigure} vorherige Generationen nicht verändern wird, müssen Sie Acht geben, dass wenn die momentan aktuelle Generation nicht die neueste ist (z.B. nach einem Aufruf von @command{guix system roll-back}), weil @command{guix system reconfigure} alle neueren Generationen überschreibt (@pxref{Invoking guix system})."
+msgstr "Obwohl der Befehl @command{guix system reconfigure} vorherige Generationen nicht verändern wird, müssen Sie Acht geben, dass wenn die momentan aktuelle Generation nicht die neueste ist (z.B. nach einem Aufruf von @command{guix system roll-back}), weil @command{guix system reconfigure} alle neueren Generationen überschreibt (siehe @ref{Invoking guix system})."
 
 #. type: unnumberedsubsubsec
 #: doc/guix.texi:9895
@@ -17117,7 +17290,7 @@ msgstr "Die Programmierschnittstelle"
 #. type: Plain text
 #: doc/guix.texi:9900
 msgid "At the Scheme level, the bulk of an @code{operating-system} declaration is instantiated with the following monadic procedure (@pxref{The Store Monad}):"
-msgstr "Auf der Ebene von Scheme wird der Großteil der @code{operating-system}-Deklaration mit der folgenden monadischen Prozedur instanziiert (@pxref{The Store Monad}):"
+msgstr "Auf der Ebene von Scheme wird der Großteil der @code{operating-system}-Deklaration mit der folgenden monadischen Prozedur instanziiert (siehe @ref{The Store Monad}):"
 
 #. type: deffn
 #: doc/guix.texi:9901
@@ -17128,7 +17301,7 @@ msgstr "{Monadische Prozedur} operating-system-derivation os"
 #. type: deffn
 #: doc/guix.texi:9904
 msgid "Return a derivation that builds @var{os}, an @code{operating-system} object (@pxref{Derivations})."
-msgstr "Liefert eine Ableitung, mit der ein @code{operating-system}-Objekt @var{os} erstellt wird (@pxref{Derivations})."
+msgstr "Liefert eine Ableitung, mit der ein @code{operating-system}-Objekt @var{os} erstellt wird (siehe @ref{Derivations})."
 
 #. type: deffn
 #: doc/guix.texi:9908
@@ -17138,7 +17311,7 @@ msgstr "Die Ausgabe der Ableitung ist ein einzelnes Verzeichnis mit Verweisen au
 #. type: Plain text
 #: doc/guix.texi:9913
 msgid "This procedure is provided by the @code{(gnu system)} module.  Along with @code{(gnu services)} (@pxref{Services}), this module contains the guts of GuixSD.  Make sure to visit it!"
-msgstr "Diese Prozedur wird vom Modul @code{(gnu system)} angeboten. Zusammen mit @code{(gnu services)} (@pxref{Services}) deckt dieses Modul den Kern von GuixSD ab. Schauen Sie es sich mal an!"
+msgstr "Diese Prozedur wird vom Modul @code{(gnu system)} angeboten. Zusammen mit @code{(gnu services)} (siehe @ref{Services}) deckt dieses Modul den Kern von GuixSD ab. Schauen Sie es sich mal an!"
 
 #. type: subsection
 #: doc/guix.texi:9916
@@ -17149,7 +17322,7 @@ msgstr "@code{operating-system}-Referenz"
 #. type: Plain text
 #: doc/guix.texi:9921
 msgid "This section summarizes all the options available in @code{operating-system} declarations (@pxref{Using the Configuration System})."
-msgstr "Dieser Abschnitt fasst alle Optionen zusammen, die für @code{operating-system}-Deklarationen zur Verfügung stehen (@pxref{Using the Configuration System})."
+msgstr "Dieser Abschnitt fasst alle Optionen zusammen, die für @code{operating-system}-Deklarationen zur Verfügung stehen (siehe @ref{Using the Configuration System})."
 
 #. type: deftp
 #: doc/guix.texi:9922
@@ -17160,7 +17333,7 @@ msgstr "{Datentyp} operating-system"
 #. type: deftp
 #: doc/guix.texi:9926
 msgid "This is the data type representing an operating system configuration.  By that, we mean all the global system configuration, not per-user configuration (@pxref{Using the Configuration System})."
-msgstr "Der die Betriebssystemkonfiguration repräsentierende Datentyp. Damit meinen wir die globale Konfiguration des Systems und nicht die, die sich nur auf einzelne Nutzer bezieht (@pxref{Using the Configuration System})."
+msgstr "Der die Betriebssystemkonfiguration repräsentierende Datentyp. Damit meinen wir die globale Konfiguration des Systems und nicht die, die sich nur auf einzelne Nutzer bezieht (siehe @ref{Using the Configuration System})."
 
 #. type: item
 #: doc/guix.texi:9928
@@ -17193,7 +17366,7 @@ msgstr "bootloader"
 #. type: table
 #: doc/guix.texi:9939
 msgid "The system bootloader configuration object.  @xref{Bootloader Configuration}."
-msgstr "Das Konfigurationsobjekt für den Bootloader, mit dem das System gestartet wird. Siehe @xref{Bootloader Configuration}."
+msgstr "Das Konfigurationsobjekt für den Bootloader, mit dem das System gestartet wird. Siehe @ref{Bootloader Configuration}."
 
 #. type: item
 #: doc/guix.texi:9940
@@ -17217,7 +17390,7 @@ msgstr "initiale RAM-Disk"
 #. type: table
 #: doc/guix.texi:9945
 msgid "The list of Linux kernel modules that need to be available in the initial RAM disk.  @xref{Initial RAM Disk}."
-msgstr "Die Liste der Linux-Kernel-Module, die in der initialen RAM-Disk zur Verfügung stehen sollen @xref{Initial RAM Disk}."
+msgstr "Die Liste der Linux-Kernel-Module, die in der initialen RAM-Disk zur Verfügung stehen sollen. Siehe @ref{Initial RAM Disk}."
 
 #. type: item
 #: doc/guix.texi:9946
@@ -17228,7 +17401,7 @@ msgstr "@code{initrd} (Vorgabe: @code{base-initrd})"
 #. type: table
 #: doc/guix.texi:9950
 msgid "A procedure that returns an initial RAM disk for the Linux kernel.  This field is provided to support low-level customization and should rarely be needed for casual use.  @xref{Initial RAM Disk}."
-msgstr "Eine Prozedur, die eine initiale RAM-Disk für den Linux-Kernel liefert. Dieses Feld gibt es, damit auch sehr systemnahe Anpassungen vorgenommen werden können, aber für die normale Nutzung sollte man es kaum brauchen. Siehe @xref{Initial RAM Disk}."
+msgstr "Eine Prozedur, die eine initiale RAM-Disk für den Linux-Kernel liefert. Dieses Feld gibt es, damit auch sehr systemnahe Anpassungen vorgenommen werden können, aber für die normale Nutzung sollte man es kaum brauchen. Siehe @ref{Initial RAM Disk}."
 
 #. type: item
 #: doc/guix.texi:9951
@@ -17250,7 +17423,7 @@ msgstr "Eine Liste der Firmware-Pakete, die vom Betriebssystem-Kernel geladen we
 #. type: table
 #: doc/guix.texi:9959
 msgid "The default includes firmware needed for Atheros- and Broadcom-based WiFi devices (Linux-libre modules @code{ath9k} and @code{b43-open}, respectively).  @xref{Hardware Considerations}, for more info on supported hardware."
-msgstr "Vorgegeben ist, dass für Atheros- und Broadcom-basierte WLAN-Geräte nötige Firmware geladen werden kann (genauer jeweils die Linux-libre-Module @code{ath9k} und @code{b43-open}). Siehe den Abschnitt @xref{Hardware Considerations}, für mehr Informationen zu unterstützter Hardware."
+msgstr "Vorgegeben ist, dass für Atheros- und Broadcom-basierte WLAN-Geräte nötige Firmware geladen werden kann (genauer jeweils die Linux-libre-Module @code{ath9k} und @code{b43-open}). Siehe den Abschnitt @ref{Hardware Considerations} für mehr Informationen zu unterstützter Hardware."
 
 #. type: code{#1}
 #: doc/guix.texi:9960
@@ -17278,7 +17451,7 @@ msgstr "hosts-Datei"
 #. type: table
 #: doc/guix.texi:9969
 msgid "A file-like object (@pxref{G-Expressions, file-like objects}) for use as @file{/etc/hosts} (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}).  The default is a file with entries for @code{localhost} and @var{host-name}."
-msgstr "Ein dateiartiges Objekt (@pxref{G-Expressions, file-like objects}), das für @file{/etc/hosts} benutzt werden soll (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}). Der Vorgabewert ist eine Datei mit Einträgen für @code{localhost} und @var{host-name}."
+msgstr "Ein dateiartiges Objekt (siehe @ref{G-Expressions, file-like objects}), das für @file{/etc/hosts} benutzt werden soll (siehe @ref{Host Names,,, libc, The GNU C Library Reference Manual}). Der Vorgabewert ist eine Datei mit Einträgen für @code{localhost} und @var{host-name}."
 
 #. type: item
 #: doc/guix.texi:9970
@@ -17289,7 +17462,7 @@ msgstr "@code{mapped-devices} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:9972
 msgid "A list of mapped devices.  @xref{Mapped Devices}."
-msgstr "Eine Liste zugeordneter Geräte (»mapped devices«). Siehe @xref{Mapped Devices}."
+msgstr "Eine Liste zugeordneter Geräte (»mapped devices«). Siehe @ref{Mapped Devices}."
 
 #. type: code{#1}
 #: doc/guix.texi:9973
@@ -17300,7 +17473,7 @@ msgstr "file-systems"
 #. type: table
 #: doc/guix.texi:9975
 msgid "A list of file systems.  @xref{File Systems}."
-msgstr "Eine Liste von Dateisystemen. Siehe @xref{File Systems}."
+msgstr "Eine Liste von Dateisystemen. Siehe @ref{File Systems}."
 
 #. type: item
 #: doc/guix.texi:9976
@@ -17317,7 +17490,7 @@ msgstr "Swap-Geräte"
 #. type: table
 #: doc/guix.texi:9984
 msgid "A list of strings identifying devices or files to be used for ``swap space'' (@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}).  For example, @code{'(\"/dev/sda3\")} or @code{'(\"/swapfile\")}.  It is possible to specify a swap file in a file system on a mapped device, provided that the necessary device mapping and file system are also specified.  @xref{Mapped Devices} and @ref{File Systems}."
-msgstr "Eine Liste von Zeichenketten, die Geräte identifizieren oder als »Swap-Speicher« genutzte Dateien identifizieren (@pxref{Memory Concepts,,, libc, The GNU C Library Reference Manual}). Beispiele wären etwa @code{'(\"/dev/sda3\")} oder @code{'(\"/swapdatei\")}. Es ist möglich, eine Swap-Datei auf dem Dateisystem eines zugeordneten Geräts anzugeben, sofern auch die Gerätezuordnung und das Dateisystem mit angegeben werden. Siehe @xref{Mapped Devices} und @ref{File Systems}."
+msgstr "Eine Liste von Zeichenketten, die Geräte identifizieren oder als »Swap-Speicher« genutzte Dateien identifizieren (siehe @ref{Memory Concepts,,, libc, The GNU C Library Reference Manual}). Beispiele wären etwa @code{'(\"/dev/sda3\")} oder @code{'(\"/swapdatei\")}. Es ist möglich, eine Swap-Datei auf dem Dateisystem eines zugeordneten Geräts anzugeben, sofern auch die Gerätezuordnung und das Dateisystem mit angegeben werden. Siehe @ref{Mapped Devices} und @ref{File Systems}."
 
 #. type: item
 #: doc/guix.texi:9985
@@ -17334,7 +17507,7 @@ msgstr "@code{groups} (Vorgabe: @var{%base-groups})"
 #. type: table
 #: doc/guix.texi:9988
 msgid "List of user accounts and groups.  @xref{User Accounts}."
-msgstr "Liste der Benutzerkonten und Benutzergruppen. Siehe @xref{User Accounts}."
+msgstr "Liste der Benutzerkonten und Benutzergruppen. Siehe @ref{User Accounts}."
 
 #. type: table
 #: doc/guix.texi:9991
@@ -17350,7 +17523,7 @@ msgstr "@code{skeletons} (Vorgabe: @code{(default-skeletons)})"
 #. type: table
 #: doc/guix.texi:9996
 msgid "A list target file name/file-like object tuples (@pxref{G-Expressions, file-like objects}).  These are the skeleton files that will be added to the home directory of newly-created user accounts."
-msgstr "Eine Liste von Tupeln aus je einem Ziel-Dateinamen und einem dateiähnlichen Objekt (@pxref{G-Expressions, file-like objects}). Diese Objekte werden als Skeleton-Dateien im Persönlichen Verzeichnis (»Home«-Verzeichnis) jedes neuen Benutzerkontos angelegt."
+msgstr "Eine Liste von Tupeln aus je einem Ziel-Dateinamen und einem dateiähnlichen Objekt (siehe @ref{G-Expressions, file-like objects}). Diese Objekte werden als Skeleton-Dateien im Persönlichen Verzeichnis (»Home«-Verzeichnis) jedes neuen Benutzerkontos angelegt."
 
 #. type: table
 #: doc/guix.texi:9998
@@ -17396,7 +17569,7 @@ msgstr "Die Menge der Pakete, die ins globale Profil installiert werden sollen,
 #. type: table
 #: doc/guix.texi:10017
 msgid "The default set includes core utilities and it is good practice to install non-core utilities in user profiles (@pxref{Invoking guix package})."
-msgstr "Die vorgegebene Paketmenge umfasst zum Kern des Systems gehörende Werkzeuge (»core utilities«). Es ist empfehlenswert, nicht zum Kern gehörende Werkzeuge (»non-core«) stattdessen in Nutzerprofile zu installieren (@pxref{Invoking guix package})."
+msgstr "Die vorgegebene Paketmenge umfasst zum Kern des Systems gehörende Werkzeuge (»core utilities«). Es ist empfehlenswert, nicht zum Kern gehörende Werkzeuge (»non-core«) stattdessen in Nutzerprofile zu installieren (siehe @ref{Invoking guix package})."
 
 #. type: code{#1}
 #: doc/guix.texi:10018
@@ -17423,7 +17596,7 @@ msgstr "@code{locale} (Vorgabe: @code{\"en_US.utf8\"})"
 #. type: table
 #: doc/guix.texi:10028
 msgid "The name of the default locale (@pxref{Locale Names,,, libc, The GNU C Library Reference Manual}).  @xref{Locales}, for more information."
-msgstr "Der Name der als Voreinstellung zu verwendenden Locale (@pxref{Locale Names,,, libc, The GNU C Library Reference Manual}). Siehe @xref{Locales} für weitere Informationen."
+msgstr "Der Name der als Voreinstellung zu verwendenden Locale (siehe @ref{Locale Names,,, libc, The GNU C Library Reference Manual}). Siehe @ref{Locales} für weitere Informationen."
 
 #. type: item
 #: doc/guix.texi:10029
@@ -17434,7 +17607,7 @@ msgstr "@code{locale-definitions} (Vorgabe: @var{%default-locale-definitions})"
 #. type: table
 #: doc/guix.texi:10032
 msgid "The list of locale definitions to be compiled and that may be used at run time.  @xref{Locales}."
-msgstr "Die Liste der Locale-Definitionen, die kompiliert werden sollen und dann im laufenden System benutzt werden können. Siehe @xref{Locales}."
+msgstr "Die Liste der Locale-Definitionen, die kompiliert werden sollen und dann im laufenden System benutzt werden können. Siehe @ref{Locales}."
 
 #. type: item
 #: doc/guix.texi:10033
@@ -17445,7 +17618,7 @@ msgstr "@code{locale-libcs} (Vorgabe: @code{(list @var{glibc})})"
 #. type: table
 #: doc/guix.texi:10037
 msgid "The list of GNU@tie{}libc packages whose locale data and tools are used to build the locale definitions.  @xref{Locales}, for compatibility considerations that justify this option."
-msgstr "Die Liste der GNU-libc-Pakete, deren Locale-Daten und -Werkzeuge zum Erzeugen der Locale-Definitionen verwendet werden sollen. Siehe @xref{Locales} für eine Erläuterung der Kompatibilitätsauswirkungen, deretwegen man diese Option benutzen wollen könnte."
+msgstr "Die Liste der GNU-libc-Pakete, deren Locale-Daten und -Werkzeuge zum Erzeugen der Locale-Definitionen verwendet werden sollen. Siehe @ref{Locales} für eine Erläuterung der Kompatibilitätsauswirkungen, deretwegen man diese Option benutzen wollen könnte."
 
 #. type: item
 #: doc/guix.texi:10038
@@ -17456,7 +17629,7 @@ msgstr "@code{name-service-switch} (Vorgabe: @var{%default-nss})"
 #. type: table
 #: doc/guix.texi:10042
 msgid "Configuration of the libc name service switch (NSS)---a @code{<name-service-switch>} object.  @xref{Name Service Switch}, for details."
-msgstr "Die Konfiguration des Name Service Switch (NSS) der libc — ein @code{<name-service-switch>}-Objekt. Siehe @xref{Name Service Switch}, für Details."
+msgstr "Die Konfiguration des Name Service Switch (NSS) der libc — ein @code{<name-service-switch>}-Objekt. Siehe @ref{Name Service Switch} für Details."
 
 #. type: item
 #: doc/guix.texi:10043
@@ -17467,7 +17640,7 @@ msgstr "@code{services} (Vorgabe: @var{%base-services})"
 #. type: table
 #: doc/guix.texi:10045
 msgid "A list of service objects denoting system services.  @xref{Services}."
-msgstr "Eine Liste von »service«-Objekten, die die Systemdienste repräsentieren. Siehe @xref{Services}."
+msgstr "Eine Liste von »service«-Objekten, die die Systemdienste repräsentieren. Siehe @ref{Services}."
 
 #. type: item
 #: doc/guix.texi:10046
@@ -17501,7 +17674,7 @@ msgstr "@code{setuid-programs} (Vorgabe: @var{%setuid-programs})"
 #. type: table
 #: doc/guix.texi:10055
 msgid "List of string-valued G-expressions denoting setuid programs.  @xref{Setuid Programs}."
-msgstr "Eine Liste von Zeichenketten liefernden G-Ausdrücken, die setuid-Programme bezeichnen. Siehe @xref{Setuid Programs}."
+msgstr "Eine Liste von Zeichenketten liefernden G-Ausdrücken, die setuid-Programme bezeichnen. Siehe @ref{Setuid Programs}."
 
 #. type: item
 #: doc/guix.texi:10056
@@ -17518,7 +17691,7 @@ msgstr "sudoers-Datei"
 #. type: table
 #: doc/guix.texi:10060
 msgid "The contents of the @file{/etc/sudoers} file as a file-like object (@pxref{G-Expressions, @code{local-file} and @code{plain-file}})."
-msgstr "Der Inhalt der Datei @file{/etc/sudoers} als ein dateiähnliches Objekt (@pxref{G-Expressions, @code{local-file} und @code{plain-file}})."
+msgstr "Der Inhalt der Datei @file{/etc/sudoers} als ein dateiähnliches Objekt (siehe @ref{G-Expressions, @code{local-file} und @code{plain-file}})."
 
 #. type: table
 #: doc/guix.texi:10065
@@ -17528,7 +17701,7 @@ msgstr "Diese Datei gibt an, welche Nutzer den Befehl @command{sudo} benutzen dÃ
 #. type: Plain text
 #: doc/guix.texi:10076
 msgid "The list of file systems to be mounted is specified in the @code{file-systems} field of the operating system declaration (@pxref{Using the Configuration System}).  Each file system is declared using the @code{file-system} form, like this:"
-msgstr "Die Liste der Dateisysteme, die eingebunden werden sollen, steht im @code{file-systems}-Feld der Betriebssystemdeklaration (@pxref{Using the Configuration System}). Jedes Dateisystem wird mit der @code{file-system}-Form deklariert, etwa so:"
+msgstr "Die Liste der Dateisysteme, die eingebunden werden sollen, steht im @code{file-systems}-Feld der Betriebssystemdeklaration (siehe @ref{Using the Configuration System}). Jedes Dateisystem wird mit der @code{file-system}-Form deklariert, etwa so:"
 
 #. type: example
 #: doc/guix.texi:10082
@@ -17627,7 +17800,7 @@ msgstr "uuid"
 #. type: table
 #: doc/guix.texi:10131
 msgid "UUIDs are converted from their string representation (as shown by the @command{tune2fs -l} command) using the @code{uuid} form@footnote{The @code{uuid} form expects 16-byte UUIDs as defined in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122}.  This is the form of UUID used by the ext2 family of file systems and others, but it is different from ``UUIDs'' found in FAT file systems, for instance.}, like this:"
-msgstr "UUID-Kennungen werden mit der @code{uuid}-Form von ihrer Darstellung als Zeichenkette (wie sie vom Befehl @command{tune2fs -l} angezeigt wird) konvertiert@footnote{Die @code{uuid}-Form nimmt 16-Byte-UUIDs entgegen, wie sie in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122} definiert sind. Diese Form der UUID wird unter Anderem von der ext2-Familie von Dateisystemen verwendet, sie unterscheidet sich jedoch zum Beispiel von den »UUID« genannten Kennungen, wie man sie bei FAT-Dateisystemen findet.} wie hier:"
+msgstr "UUID-Kennungen werden mit der @code{uuid}-Form von ihrer Darstellung als Zeichenkette (wie sie vom Befehl @command{tune2fs -l} angezeigt wird) konvertiert@footnote{Die @code{uuid}-Form nimmt 16-Byte-UUIDs entgegen, wie sie in @uref{https://tools.ietf.org/html/rfc4122, RFC@tie{}4122} definiert sind. Diese Form der UUID wird unter anderem von der ext2-Familie von Dateisystemen verwendet, sie unterscheidet sich jedoch zum Beispiel von den »UUID« genannten Kennungen, wie man sie bei FAT-Dateisystemen findet.} wie hier:"
 
 #. type: example
 #: doc/guix.texi:10137
@@ -17646,7 +17819,7 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:10145
 msgid "When the source of a file system is a mapped device (@pxref{Mapped Devices}), its @code{device} field @emph{must} refer to the mapped device name---e.g., @file{\"/dev/mapper/root-partition\"}.  This is required so that the system knows that mounting the file system depends on having the corresponding device mapping established."
-msgstr "Wenn die Quelle eines Dateisystems ein zugeordnetes Gerät (@pxref{Mapped Devices}) ist, @emph{muss} sich das @code{device}-Feld auf den zugeordneten Gerätenamen beziehen — z.B. @file{\"/dev/mapper/root-partition\"}. Das ist nötig, damit das System weiß, dass das Einbinden des Dateisystems davon abhängt, die entsprechende Gerätezuordnung hergestellt zu haben."
+msgstr "Wenn die Quelle eines Dateisystems ein zugeordnetes Gerät (siehe @ref{Mapped Devices}) ist, @emph{muss} sich das @code{device}-Feld auf den zugeordneten Gerätenamen beziehen — z.B. @file{\"/dev/mapper/root-partition\"}. Das ist nötig, damit das System weiß, dass das Einbinden des Dateisystems davon abhängt, die entsprechende Gerätezuordnung hergestellt zu haben."
 
 #. type: item
 #: doc/guix.texi:10146
@@ -17657,7 +17830,7 @@ msgstr "@code{flags} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:10151
 msgid "This is a list of symbols denoting mount flags.  Recognized flags include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow access to special files), @code{no-suid} (ignore setuid and setgid bits), and @code{no-exec} (disallow program execution.)"
-msgstr "Eine Liste von Symbolen, die Einbinde-Flags (»mount flags«) bezeichnen. Erkannt werden unter Anderem @code{read-only}, @code{bind-mount}, @code{no-dev} (Zugang zu besonderen Dateien verweigern), @code{no-suid} (setuid- und setgid-Bits ignorieren) und @code{no-exec} (Programmausführungen verweigern)."
+msgstr "Eine Liste von Symbolen, die Einbinde-Flags (»mount flags«) bezeichnen. Erkannt werden unter anderem @code{read-only}, @code{bind-mount}, @code{no-dev} (Zugang zu besonderen Dateien verweigern), @code{no-suid} (setuid- und setgid-Bits ignorieren) und @code{no-exec} (Programmausführungen verweigern)."
 
 #. type: item
 #: doc/guix.texi:10152
@@ -17733,7 +17906,7 @@ msgstr "Betrachten Sie zum Beispiel eine Hierarchie von Einbindungen: @file{/sys
 #. type: table
 #: doc/guix.texi:10185
 msgid "Another example is a file system that depends on a mapped device, for example for an encrypted partition (@pxref{Mapped Devices})."
-msgstr "Ein weiteres Beispiel ist ein Dateisystem, was von einem zugeordneten Gerät abhängt, zum Beispiel zur Verschlüsselung einer Partition (@pxref{Mapped Devices})."
+msgstr "Ein weiteres Beispiel ist ein Dateisystem, was von einem zugeordneten Gerät abhängt, zum Beispiel zur Verschlüsselung einer Partition (siehe @ref{Mapped Devices})."
 
 #. type: Plain text
 #: doc/guix.texi:10190
@@ -17760,7 +17933,7 @@ msgstr "{Scheme-Variable} %pseudo-terminal-file-system"
 #. type: defvr
 #: doc/guix.texi:10204
 msgid "This is the file system to be mounted as @file{/dev/pts}.  It supports @dfn{pseudo-terminals} created @i{via} @code{openpty} and similar functions (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}).  Pseudo-terminals are used by terminal emulators such as @command{xterm}."
-msgstr "Das als @file{/dev/pts} einzubindende Dateisystem. Es unterstützt über @code{openpty} und ähnliche Funktionen erstellte @dfn{Pseudo-Terminals} (@pxref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). Pseudo-Terminals werden von Terminal-Emulatoren wie @command{xterm} benutzt."
+msgstr "Das als @file{/dev/pts} einzubindende Dateisystem. Es unterstützt über @code{openpty} und ähnliche Funktionen erstellte @dfn{Pseudo-Terminals} (siehe @ref{Pseudo-Terminals,,, libc, The GNU C Library Reference Manual}). Pseudo-Terminals werden von Terminal-Emulatoren wie @command{xterm} benutzt."
 
 #. type: defvr
 #: doc/guix.texi:10206
@@ -17771,7 +17944,7 @@ msgstr "{Scheme-Variable} %shared-memory-file-system"
 #. type: defvr
 #: doc/guix.texi:10210
 msgid "This file system is mounted as @file{/dev/shm} and is used to support memory sharing across processes (@pxref{Memory-mapped I/O, @code{shm_open},, libc, The GNU C Library Reference Manual})."
-msgstr "Dieses Dateisystem wird als @file{/dev/shm} eingebunden, um Speicher zwischen Prozessen teilen zu können (@pxref{Memory-mapped I/O, @code{shm_open},, libc, The GNU C Library Reference Manual})."
+msgstr "Dieses Dateisystem wird als @file{/dev/shm} eingebunden, um Speicher zwischen Prozessen teilen zu können (siehe @ref{Memory-mapped I/O, @code{shm_open},, libc, The GNU C Library Reference Manual})."
 
 #. type: defvr
 #: doc/guix.texi:10212
@@ -17826,7 +17999,7 @@ msgstr "zugeordnete Geräte"
 #. type: Plain text
 #: doc/guix.texi:10256
 msgid "The Linux kernel has a notion of @dfn{device mapping}: a block device, such as a hard disk partition, can be @dfn{mapped} into another device, usually in @code{/dev/mapper/}, with additional processing over the data that flows through it@footnote{Note that the GNU@tie{}Hurd makes no difference between the concept of a ``mapped device'' and that of a file system: both boil down to @emph{translating} input/output operations made on a file to operations on its backing store.  Thus, the Hurd implements mapped devices, like file systems, using the generic @dfn{translator} mechanism (@pxref{Translators,,, hurd, The GNU Hurd Reference Manual}).}.  A typical example is encryption device mapping: all writes to the mapped device are encrypted, and all reads are deciphered, transparently.  Guix extends this notion by considering any device or set of devices that are @dfn{transformed} in some way to create a new device; for instance, RAID devices are obtained by @dfn{assembling} several other devices, such as hard disks or partitions, into a new one that behaves as one partition.  Other examples, not yet implemented, are LVM logical volumes."
-msgstr "Der Linux-Kernel unterstützt das Konzept der @dfn{Gerätezuordnung}: Ein blockorientiertes Gerät wie eine Festplattenpartition kann einem neuen Gerät @dfn{zugeordnet} werden, gewöhnlich unter @code{/dev/mapper/}, wobei das neue Gerät durchlaufende Daten zusätzlicher Verarbeitung unterzogen werden@footnote{Beachten Sie, dass mit GNU@tie{}Hurd kein Unterschied zwischen dem Konzept eines »zugeordneten Geräts« und dem eines Dateisystems besteht: Dort werden bei beiden Ein- und Ausgabeoperationen auf eine Datei in Operationen auf dessen Hintergrundspeicher @emph{übersetzt}. Hurd implementiert zugeordnete Geräte genau wie Dateisysteme mit dem generischen @dfn{Übersetzer}-Mechanismus (@pxref{Translators,,, hurd, The GNU Hurd Reference Manual}).}. Ein typisches Beispiel ist eine Gerätezuordnung zur Verschlüsselung: Jeder Schreibzugriff auf das zugeordnete Gerät wird transparent verschlüsselt und jeder Lesezugriff ebenso entschlüsselt. Guix erweitert dieses Konzept, indem es darunter jedes Gerät und jede Menge von Geräten versteht, die auf irgendeine Weise @dfn{umgewandelt} wird, um ein neues Gerät zu bilden; zum Beispiel entstehen auch RAID-Geräte aus einem @dfn{Verbund} mehrerer anderer Geräte, wie etwa Festplatten oder Partition zu einem einzelnen Gerät, das sich wie eine Partition verhält. Ein weiteres Beispiel, das noch nicht in Guix implementiert wurde, sind »LVM logical volumes«."
+msgstr "Der Linux-Kernel unterstützt das Konzept der @dfn{Gerätezuordnung}: Ein blockorientiertes Gerät wie eine Festplattenpartition kann einem neuen Gerät @dfn{zugeordnet} werden, gewöhnlich unter @code{/dev/mapper/}, wobei das neue Gerät durchlaufende Daten zusätzlicher Verarbeitung unterzogen werden@footnote{Beachten Sie, dass mit GNU@tie{}Hurd kein Unterschied zwischen dem Konzept eines »zugeordneten Geräts« und dem eines Dateisystems besteht: Dort werden bei beiden Ein- und Ausgabeoperationen auf eine Datei in Operationen auf dessen Hintergrundspeicher @emph{übersetzt}. Hurd implementiert zugeordnete Geräte genau wie Dateisysteme mit dem generischen @dfn{Übersetzer}-Mechanismus (siehe @ref{Translators,,, hurd, The GNU Hurd Reference Manual}).}. Ein typisches Beispiel ist eine Gerätezuordnung zur Verschlüsselung: Jeder Schreibzugriff auf das zugeordnete Gerät wird transparent verschlüsselt und jeder Lesezugriff ebenso entschlüsselt. Guix erweitert dieses Konzept, indem es darunter jedes Gerät und jede Menge von Geräten versteht, die auf irgendeine Weise @dfn{umgewandelt} wird, um ein neues Gerät zu bilden; zum Beispiel entstehen auch RAID-Geräte aus einem @dfn{Verbund} mehrerer anderer Geräte, wie etwa Festplatten oder Partition zu einem einzelnen Gerät, das sich wie eine Partition verhält. Ein weiteres Beispiel, das noch nicht in Guix implementiert wurde, sind »LVM logical volumes«."
 
 #. type: Plain text
 #: doc/guix.texi:10259
@@ -17902,7 +18075,7 @@ msgstr "LUKS"
 #. type: Plain text
 #: doc/guix.texi:10306
 msgid "The following example specifies a mapping from @file{/dev/sda3} to @file{/dev/mapper/home} using LUKS---the @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, a standard mechanism for disk encryption.  The @file{/dev/mapper/home} device can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems})."
-msgstr "Das folgende Beispiel gibt eine Zuordnung von @file{/dev/sda3} auf @file{/dev/mapper/home} mit LUKS an — dem @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, einem Standardmechanismus zur Plattenverschlüsselung. Das Gerät @file{/dev/mapper/home} kann dann als @code{device} einer @code{file-system}-Deklaration benutzt werden (@pxref{File Systems})."
+msgstr "Das folgende Beispiel gibt eine Zuordnung von @file{/dev/sda3} auf @file{/dev/mapper/home} mit LUKS an — dem @url{https://gitlab.com/cryptsetup/cryptsetup,Linux Unified Key Setup}, einem Standardmechanismus zur Plattenverschlüsselung. Das Gerät @file{/dev/mapper/home} kann dann als @code{device} einer @code{file-system}-Deklaration benutzt werden (siehe @ref{File Systems})."
 
 #. type: example
 #: doc/guix.texi:10312
@@ -17957,7 +18130,7 @@ msgstr "Swap-Verschlüsselung"
 #. type: Plain text
 #: doc/guix.texi:10337
 msgid "It is also desirable to encrypt swap space, since swap space may contain sensitive data.  One way to accomplish that is to use a swap file in a file system on a device mapped via LUKS encryption.  In this way, the swap file is encrypted because the entire device is encrypted.  @xref{Preparing for Installation,,Disk Partitioning}, for an example."
-msgstr "Es ist auch wünschenswert, Swap-Speicher zu verschlüsseln, da in den Swap-Speicher sensible Daten ausgelagert werden können. Eine Möglichkeit ist, eine Swap-Datei auf einem mit LUKS-Verschlüsselung zugeordneten Dateisystem zu verwenden. Dann wird die Swap-Datei verschlüsselt, weil das ganze Gerät verschlüsselt wird. Ein Beispiel finden Sie im Abschnitt @xref{Preparing for Installation,,Disk Partitioning}."
+msgstr "Es ist auch wünschenswert, Swap-Speicher zu verschlüsseln, da in den Swap-Speicher sensible Daten ausgelagert werden können. Eine Möglichkeit ist, eine Swap-Datei auf einem mit LUKS-Verschlüsselung zugeordneten Dateisystem zu verwenden. Dann wird die Swap-Datei verschlüsselt, weil das ganze Gerät verschlüsselt wird. Ein Beispiel finden Sie im Abschnitt @ref{Preparing for Installation,,Disk Partitioning}."
 
 #. type: Plain text
 #: doc/guix.texi:10340
@@ -17981,7 +18154,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:10353
 msgid "The @file{/dev/md0} device can then be used as the @code{device} of a @code{file-system} declaration (@pxref{File Systems}).  Note that the RAID level need not be given; it is chosen during the initial creation and formatting of the RAID device and is determined automatically later."
-msgstr "Das Gerät @file{/dev/md0} kann als @code{device} in einer @code{file-system}-Deklaration dienen (@pxref{File Systems}). Beachten Sie, dass das RAID-Level dabei nicht angegeben werden muss; es wird während der initialen Erstellung und Formatierung des RAID-Geräts festgelegt und später automatisch bestimmt."
+msgstr "Das Gerät @file{/dev/md0} kann als @code{device} in einer @code{file-system}-Deklaration dienen (siehe @ref{File Systems}). Beachten Sie, dass das RAID-Level dabei nicht angegeben werden muss; es wird während der initialen Erstellung und Formatierung des RAID-Geräts festgelegt und später automatisch bestimmt."
 
 #. type: cindex
 #: doc/guix.texi:10358
@@ -18132,7 +18305,7 @@ msgstr "@code{shell} (Vorgabe: Bash)"
 #. type: table
 #: doc/guix.texi:10420
 msgid "This is a G-expression denoting the file name of a program to be used as the shell (@pxref{G-Expressions})."
-msgstr "Ein G-Ausdruck, der den Dateinamen des Programms angibt, das dem Benutzer als Shell dienen soll (@pxref{G-Expressions})."
+msgstr "Ein G-Ausdruck, der den Dateinamen des Programms angibt, das dem Benutzer als Shell dienen soll (siehe @ref{G-Expressions})."
 
 #. type: item
 #: doc/guix.texi:10421 doc/guix.texi:10461
@@ -18143,7 +18316,7 @@ msgstr "@code{system?} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:10425
 msgid "This Boolean value indicates whether the account is a ``system'' account.  System accounts are sometimes treated specially; for instance, graphical login managers do not list them."
-msgstr "Dieser boolesche Wert zeigt an, ob das Konto ein »System«-Benutzerkonto ist. Systemkonten werden manchmal anders behandelt, zum Beispiel werden sie auf graphischen Anmeldebildschirmen nicht aufgeführt."
+msgstr "Dieser boolesche Wert zeigt an, ob das Konto ein »System«-Benutzerkonto ist. Systemkonten werden manchmal anders behandelt, zum Beispiel werden sie auf grafischen Anmeldebildschirmen nicht aufgeführt."
 
 #. type: anchor{#1}
 #: doc/guix.texi:10427
@@ -18164,7 +18337,7 @@ msgstr "Normalerweise lassen Sie dieses Feld auf @code{#f} und initialisieren Be
 #. type: table
 #: doc/guix.texi:10439
 msgid "If you @emph{do} want to have a preset password for an account, then this field must contain the encrypted password, as a string.  @xref{crypt,,, libc, The GNU C Library Reference Manual}, for more information on password encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for information on Guile's @code{crypt} procedure."
-msgstr "Wenn Sie aber @emph{doch} ein voreingestelltes Passwort für ein Konto haben möchten, muss dieses Feld hier das verschlüsselte Passwort als Zeichenkette enthalten. Siehe @xref{crypt,,, libc, The GNU C Library Reference Manual} für weitere Informationen über Passwortverschlüsselung und @ref{Encryption,,, guile, GNU Guile Reference Manual} für Informationen über die Prozedur @code{crypt} in Guile."
+msgstr "Wenn Sie aber @emph{doch} ein voreingestelltes Passwort für ein Konto haben möchten, muss dieses Feld hier das verschlüsselte Passwort als Zeichenkette enthalten. Siehe @ref{crypt,,, libc, The GNU C Library Reference Manual} für weitere Informationen über Passwortverschlüsselung und @ref{Encryption,,, guile, GNU Guile Reference Manual} für Informationen über die Prozedur @code{crypt} in Guile."
 
 #. type: Plain text
 #: doc/guix.texi:10445
@@ -18255,7 +18428,7 @@ msgstr "Locale"
 #. type: Plain text
 #: doc/guix.texi:10500
 msgid "A @dfn{locale} defines cultural conventions for a particular language and region of the world (@pxref{Locales,,, libc, The GNU C Library Reference Manual}).  Each locale has a name that typically has the form @code{@var{language}_@var{territory}.@var{codeset}}---e.g., @code{fr_LU.utf8} designates the locale for the French language, with cultural conventions from Luxembourg, and using the UTF-8 encoding."
-msgstr "Eine @dfn{Locale} legt die kulturellen Konventionen einer bestimmten Sprache und Region auf der Welt fest (@pxref{Locales,,, libc, The GNU C Library Reference Manual}). Jede Locale hat einen Namen, der typischerweise von der Form @code{@var{Sprache}_@var{Territorium}.@var{Kodierung}} — z.B. benennt @code{fr_LU.utf8} die Locale für französische Sprache mit den kulturellen Konventionen aus Luxemburg unter Verwendung der UTF-8-Kodierung."
+msgstr "Eine @dfn{Locale} legt die kulturellen Konventionen einer bestimmten Sprache und Region auf der Welt fest (siehe @ref{Locales,,, libc, The GNU C Library Reference Manual}). Jede Locale hat einen Namen, der typischerweise von der Form @code{@var{Sprache}_@var{Territorium}.@var{Kodierung}} — z.B. benennt @code{fr_LU.utf8} die Locale für französische Sprache mit den kulturellen Konventionen aus Luxemburg unter Verwendung der UTF-8-Kodierung."
 
 #. type: cindex
 #: doc/guix.texi:10501
@@ -18266,7 +18439,7 @@ msgstr "Locale-Definition"
 #. type: Plain text
 #: doc/guix.texi:10505
 msgid "Usually, you will want to specify the default locale for the machine using the @code{locale} field of the @code{operating-system} declaration (@pxref{operating-system Reference, @code{locale}})."
-msgstr "Normalerweise werden Sie eine standardmäßig zu verwendende Locale für die Maschine vorgeben wollen, indem Sie das @code{locale}-Feld der @code{operating-system}-Deklaration verwenden (@pxref{operating-system Reference, @code{locale}})."
+msgstr "Normalerweise werden Sie eine standardmäßig zu verwendende Locale für die Maschine vorgeben wollen, indem Sie das @code{locale}-Feld der @code{operating-system}-Deklaration verwenden (siehe @ref{operating-system Reference, @code{locale}})."
 
 #. type: Plain text
 #: doc/guix.texi:10514
@@ -18310,7 +18483,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:10540
 msgid "The compiled locale definitions are available at @file{/run/current-system/locale/X.Y}, where @code{X.Y} is the libc version, which is the default location where the GNU@tie{}libc provided by Guix looks for locale data.  This can be overridden using the @code{LOCPATH} environment variable (@pxref{locales-and-locpath, @code{LOCPATH} and locale packages})."
-msgstr "Die kompilierten Locale-Definitionen sind unter @file{/run/current-system/locale/X.Y} verfügbar, wobei @code{X.Y} die Version von libc bezeichnet. Dies entspricht dem Pfad, an dem eine von Guix ausgelieferte GNU@tie{}libc standardmäßig nach Locale-Daten sucht. Er kann überschrieben werden durch die Umgebungsvariable @code{LOCPATH} (@pxref{locales-and-locpath, @code{LOCPATH} und Locale-Pakete})."
+msgstr "Die kompilierten Locale-Definitionen sind unter @file{/run/current-system/locale/X.Y} verfügbar, wobei @code{X.Y} die Version von libc bezeichnet. Dies entspricht dem Pfad, an dem eine von Guix ausgelieferte GNU@tie{}libc standardmäßig nach Locale-Daten sucht. Er kann überschrieben werden durch die Umgebungsvariable @code{LOCPATH} (siehe @ref{locales-and-locpath, @code{LOCPATH} und Locale-Pakete})."
 
 #. type: Plain text
 #: doc/guix.texi:10543
@@ -18331,7 +18504,7 @@ msgstr "Dies ist der Datentyp einer Locale-Definition."
 #. type: table
 #: doc/guix.texi:10552
 msgid "The name of the locale.  @xref{Locale Names,,, libc, The GNU C Library Reference Manual}, for more information on locale names."
-msgstr "Der Name der Locale. Siehe @xref{Locale Names,,, libc, The GNU C Library Reference Manual} für mehr Informationen zu Locale-Namen."
+msgstr "Der Name der Locale. Siehe @ref{Locale Names,,, libc, The GNU C Library Reference Manual} für mehr Informationen zu Locale-Namen."
 
 #. type: table
 #: doc/guix.texi:10556
@@ -18375,7 +18548,7 @@ msgstr "Normalisiertes Codeset in Locale-Namen"
 #. type: defvr
 #: doc/guix.texi:10577
 msgid "These locale definitions use the @dfn{normalized codeset} for the part that follows the dot in the name (@pxref{Using gettextized software, normalized codeset,, libc, The GNU C Library Reference Manual}).  So for instance it has @code{uk_UA.utf8} but @emph{not}, say, @code{uk_UA.UTF-8}."
-msgstr "Diese Locale-Definitionen benutzen das @dfn{normalisierte Codeset} für den Teil des Namens, der nach dem Punkt steht (@pxref{Using gettextized software, normalized codeset,, libc, The GNU C Library Reference Manual}). Zum Beispiel ist @code{uk_UA.utf8} enthalten, dagegen ist etwa @code{uk_UA.UTF-8} darin @emph{nicht} enthalten."
+msgstr "Diese Locale-Definitionen benutzen das @dfn{normalisierte Codeset} für den Teil des Namens, der nach dem Punkt steht (siehe @ref{Using gettextized software, normalized codeset,, libc, The GNU C Library Reference Manual}). Zum Beispiel ist @code{uk_UA.utf8} enthalten, dagegen ist etwa @code{uk_UA.UTF-8} darin @emph{nicht} enthalten."
 
 #. type: subsubsection
 #: doc/guix.texi:10579
@@ -18392,7 +18565,7 @@ msgstr "Inkompatibilität, von Locale-Daten"
 #. type: Plain text
 #: doc/guix.texi:10588
 msgid "@code{operating-system} declarations provide a @code{locale-libcs} field to specify the GNU@tie{}libc packages that are used to compile locale declarations (@pxref{operating-system Reference}).  ``Why would I care?'', you may ask.  Well, it turns out that the binary format of locale data is occasionally incompatible from one libc version to another."
-msgstr "@code{operating-system}-Deklarationen verfügen über ein @code{locale-libcs}-Feld, um die GNU@tie{}libc-Pakete anzugeben, die zum Kompilieren von Locale-Deklarationen verwendet werden sollen (@pxref{operating-system Reference}). »Was interessiert mich das?«, könnten Sie fragen. Naja, leider ist das binäre Format der Locale-Daten von einer libc-Version auf die nächste manchmal nicht miteinander kompatibel."
+msgstr "@code{operating-system}-Deklarationen verfügen über ein @code{locale-libcs}-Feld, um die GNU@tie{}libc-Pakete anzugeben, die zum Kompilieren von Locale-Deklarationen verwendet werden sollen (siehe @ref{operating-system Reference}). »Was interessiert mich das?«, könnten Sie fragen. Naja, leider ist das binäre Format der Locale-Daten von einer libc-Version auf die nächste manchmal nicht miteinander kompatibel."
 
 #. type: Plain text
 #: doc/guix.texi:10600
@@ -18407,7 +18580,7 @@ msgstr "Das »Problem« bei GuixSD ist, dass Nutzer viel Freiheit genießen: Sie
 #. type: Plain text
 #: doc/guix.texi:10609
 msgid "Fortunately, unprivileged users can also install their own locale data and define @var{GUIX_LOCPATH} accordingly (@pxref{locales-and-locpath, @code{GUIX_LOCPATH} and locale packages})."
-msgstr "Glücklicherweise können »unprivilegierte« Nutzer ohne zusätzliche Berechtigungen dann zumindest ihre eigenen Locale-Daten installieren und @var{GUIX_LOCPATH} entsprechend definieren (@pxref{locales-and-locpath, @code{GUIX_LOCPATH} und Locale-Pakete})."
+msgstr "Glücklicherweise können »unprivilegierte« Nutzer ohne zusätzliche Berechtigungen dann zumindest ihre eigenen Locale-Daten installieren und @var{GUIX_LOCPATH} entsprechend definieren (siehe @ref{locales-and-locpath, @code{GUIX_LOCPATH} und Locale-Pakete})."
 
 #. type: Plain text
 #: doc/guix.texi:10616
@@ -18450,12 +18623,12 @@ msgstr "Systemdienste"
 #. type: Plain text
 #: doc/guix.texi:10639
 msgid "An important part of preparing an @code{operating-system} declaration is listing @dfn{system services} and their configuration (@pxref{Using the Configuration System}).  System services are typically daemons launched when the system boots, or other actions needed at that time---e.g., configuring network access."
-msgstr "Ein wichtiger Bestandteil des Schreibens einer @code{operating-system}-Deklaration ist das Auflisten der @dfn{Systemdienste} und ihrer Konfiguration (@pxref{Using the Configuration System}). Systemdienste sind typischerweise im Hintergrund laufende Daemon-Programme, die beim Hochfahren des Systems gestartet werden, oder andere Aktionen, die zu dieser Zeit durchgeführt werden müssen — wie das Konfigurieren des Netzwerkzugangs."
+msgstr "Ein wichtiger Bestandteil des Schreibens einer @code{operating-system}-Deklaration ist das Auflisten der @dfn{Systemdienste} und ihrer Konfiguration (siehe @ref{Using the Configuration System}). Systemdienste sind typischerweise im Hintergrund laufende Daemon-Programme, die beim Hochfahren des Systems gestartet werden, oder andere Aktionen, die zu dieser Zeit durchgeführt werden müssen — wie das Konfigurieren des Netzwerkzugangs."
 
 #. type: Plain text
 #: doc/guix.texi:10646
 msgid "GuixSD has a broad definition of ``service'' (@pxref{Service Composition}), but many services are managed by the GNU@tie{}Shepherd (@pxref{Shepherd Services}).  On a running system, the @command{herd} command allows you to list the available services, show their status, start and stop them, or do other specific operations (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}).  For example:"
-msgstr "GuixSD hat eine weit gefasste Definition, was ein »Dienst« ist (@pxref{Service Composition}), aber viele Dienste sind solche, die von GNU@tie{}Shepherd verwaltet werden (@pxref{Shepherd Services}). Auf einem laufenden System kann der @command{herd}-Befehl benutzt werden, um verfügbare Dienste aufzulisten, ihren Status anzuzeigen, sie zu starten und zu stoppen oder andere angebotene Operationen durchzuführen (@pxref{Jump Start,,, shepherd, The GNU Shepherd Manual}). Zum Beispiel:"
+msgstr "GuixSD hat eine weit gefasste Definition, was ein »Dienst« ist (siehe @ref{Service Composition}), aber viele Dienste sind solche, die von GNU@tie{}Shepherd verwaltet werden (siehe @ref{Shepherd Services}). Auf einem laufenden System kann der @command{herd}-Befehl benutzt werden, um verfügbare Dienste aufzulisten, ihren Status anzuzeigen, sie zu starten und zu stoppen oder andere angebotene Operationen durchzuführen (siehe @ref{Jump Start,,, shepherd, The GNU Shepherd Manual}). Zum Beispiel:"
 
 #. type: example
 #: doc/guix.texi:10649
@@ -18530,7 +18703,7 @@ msgstr "{Scheme-Variable} %base-services"
 #. type: defvr
 #: doc/guix.texi:10721
 msgid "This variable contains a list of basic services (@pxref{Service Types and Services}, for more information on service objects) one would expect from the system: a login service (mingetty) on each tty, syslogd, the libc name service cache daemon (nscd), the udev device manager, and more."
-msgstr "Diese Variable enthält eine Liste von Basis-Diensten, die man auf einem System vorzufinden erwartet (siehe @pxref{Service Types and Services} für weitere Informationen zu Dienstobjekten): ein Anmeldungsdienst (mingetty) auf jeder Konsole (jedem »tty«), syslogd, den Name Service Cache Daemon (nscd) von libc, die udev-Geräteverwaltung und weitere."
+msgstr "Diese Variable enthält eine Liste von Basis-Diensten, die man auf einem System vorzufinden erwartet (siehe @ref{Service Types and Services} für weitere Informationen zu Dienstobjekten): ein Anmeldungsdienst (mingetty) auf jeder Konsole (jedem »tty«), syslogd, den Name Service Cache Daemon (nscd) von libc, die udev-Geräteverwaltung und weitere."
 
 #. type: defvr
 #: doc/guix.texi:10726
@@ -18607,7 +18780,7 @@ msgstr ""
 #. type: defvr
 #: doc/guix.texi:10761
 msgid "Since this is part of @code{%base-services}, you can use @code{modify-services} to customize the set of special files (@pxref{Service Reference, @code{modify-services}}).  But the simple way to add a special file is @i{via} the @code{extra-special-file} procedure (see below.)"
-msgstr "Da dieser Dienst Teil der @code{%base-services} ist, können Sie @code{modify-services} benutzen, um die Liste besonderer Dateien abzuändern (@pxref{Service Reference, @code{modify-services}}). Die leichte Alternative, um eine besondere Datei hinzuzufügen, ist über die Prozedur @code{extra-special-file} (siehe unten)."
+msgstr "Da dieser Dienst Teil der @code{%base-services} ist, können Sie @code{modify-services} benutzen, um die Liste besonderer Dateien abzuändern (siehe @ref{Service Reference, @code{modify-services}}). Die leichte Alternative, um eine besondere Datei hinzuzufügen, ist über die Prozedur @code{extra-special-file} (siehe unten)."
 
 #. type: deffn
 #: doc/guix.texi:10763
@@ -18655,7 +18828,7 @@ msgstr "{Scheme-Prozedur} login-service @var{Konfiguration}"
 #. type: deffn
 #: doc/guix.texi:10784
 msgid "Return a service to run login according to @var{config}, a @code{<login-configuration>} object, which specifies the message of the day, among other things."
-msgstr "Liefert einen Dienst, der die Benutzeranmeldung möglich macht. Dazu verwendet er die angegebene @var{Konfiguration}, ein @code{<login-configuration>}-Objekt, das unter Anderem die beim Anmelden angezeigte Mitteilung des Tages (englisch »Message of the Day«) festlegt."
+msgstr "Liefert einen Dienst, der die Benutzeranmeldung möglich macht. Dazu verwendet er die angegebene @var{Konfiguration}, ein @code{<login-configuration>}-Objekt, das unter anderem die beim Anmelden angezeigte Mitteilung des Tages (englisch »Message of the Day«) festlegt."
 
 #. type: deftp
 #: doc/guix.texi:10786
@@ -18705,7 +18878,7 @@ msgstr "{Scheme-Prozedur} mingetty-service @var{Konfiguration}"
 #. type: deffn
 #: doc/guix.texi:10806
 msgid "Return a service to run mingetty according to @var{config}, a @code{<mingetty-configuration>} object, which specifies the tty to run, among other things."
-msgstr "Liefert einen Dienst, der mingetty nach den Vorgaben der @var{Konfiguration} ausführt, einem @code{<mingetty-configuration>}-Objekt, das unter Anderem die Konsole (das »tty«) festlegt, auf der mingetty laufen soll."
+msgstr "Liefert einen Dienst, der mingetty nach den Vorgaben der @var{Konfiguration} ausführt, einem @code{<mingetty-configuration>}-Objekt, das unter anderem die Konsole (das »tty«) festlegt, auf der mingetty laufen soll."
 
 #. type: deftp
 #: doc/guix.texi:10808
@@ -18782,7 +18955,7 @@ msgstr "{Scheme-Prozedur} agetty-service @var{Konfiguration}"
 #. type: deffn
 #: doc/guix.texi:10841
 msgid "Return a service to run agetty according to @var{config}, an @code{<agetty-configuration>} object, which specifies the tty to run, among other things."
-msgstr "Liefert einen Dienst, um agetty entsprechend der @var{Konfiguration} auszuführen, welche ein @code{<agetty-configuration>}-Objekt sein muss, das unter Anderem festlegt, auf welchem tty es laufen soll."
+msgstr "Liefert einen Dienst, um agetty entsprechend der @var{Konfiguration} auszuführen, welche ein @code{<agetty-configuration>}-Objekt sein muss, das unter anderem festlegt, auf welchem tty es laufen soll."
 
 #. type: deftp
 #: doc/guix.texi:10843
@@ -18917,7 +19090,7 @@ msgstr "@code{init-string} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:10905
 msgid "This accepts a string that will be sent to the tty or modem before sending anything else.  It can be used to initialize a modem."
-msgstr "Dies akzeptiert eine Zeichenkette, die zum tty oder zum Modem zuerst vor allem Anderen gesendet wird. Es kann benutzt werden, um ein Modem zu initialisieren."
+msgstr "Dies akzeptiert eine Zeichenkette, die zum tty oder zum Modem zuerst vor allem anderen gesendet wird. Es kann benutzt werden, um ein Modem zu initialisieren."
 
 #. type: item
 #: doc/guix.texi:10906
@@ -19182,7 +19355,7 @@ msgstr "{Scheme-Prozedur} kmscon-service-type @var{Konfiguration}"
 #. type: deffn
 #: doc/guix.texi:11020
 msgid "Return a service to run @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} according to @var{config}, a @code{<kmscon-configuration>} object, which specifies the tty to run, among other things."
-msgstr "Liefert einen Dienst, um @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} entsprechend der @var{Konfiguration} auszuführen. Diese ist ein @code{<kmscon-configuration>}-Objekt, das unter Anderem angibt, auf welchem tty es ausgeführt werden soll."
+msgstr "Liefert einen Dienst, um @uref{https://www.freedesktop.org/wiki/Software/kmscon,kmscon} entsprechend der @var{Konfiguration} auszuführen. Diese ist ein @code{<kmscon-configuration>}-Objekt, das unter anderem angibt, auf welchem tty es ausgeführt werden soll."
 
 #. type: deftp
 #: doc/guix.texi:11022
@@ -19271,7 +19444,7 @@ msgstr "{Scheme-Prozedur} nscd-service [@var{Konfiguration}] [#:glibc glibc] @"
 #. type: deffn
 #: doc/guix.texi:11058
 msgid "[#:name-services '()] Return a service that runs the libc name service cache daemon (nscd) with the given @var{config}---an @code{<nscd-configuration>} object.  @xref{Name Service Switch}, for an example."
-msgstr "[#:name-services '()] Liefert einen Dienst, der den Name Service Cache Daemon (nscd) von libc mit der angegebenen @var{Konfiguration} ausführt — diese muss ein @code{<nscd-configuration>}-Objekt sein. Siehe @xref{Name Service Switch} für ein Beispiel."
+msgstr "[#:name-services '()] Liefert einen Dienst, der den Name Service Cache Daemon (nscd) von libc mit der angegebenen @var{Konfiguration} ausführt — diese muss ein @code{<nscd-configuration>}-Objekt sein. Siehe @ref{Name Service Switch} für ein Beispiel."
 
 #. type: deffn
 #: doc/guix.texi:11060
@@ -19420,7 +19593,7 @@ msgstr "Datenbank"
 #. type: table
 #: doc/guix.texi:11126
 msgid "This is a symbol representing the name of the database to be cached.  Valid values are @code{passwd}, @code{group}, @code{hosts}, and @code{services}, which designate the corresponding NSS database (@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual})."
-msgstr "Dies ist ein Symbol, was den Namen der Datenbank repräsentiert, die zwischengespeichert werden soll. Gültige Werte sind @code{passwd}, @code{group}, @code{hosts} und @code{services}, womit jeweils die entsprechende NSS-Datenbank bezeichnet wird (@pxref{NSS Basics,,, libc, The GNU C Library Reference Manual})."
+msgstr "Dies ist ein Symbol, was den Namen der Datenbank repräsentiert, die zwischengespeichert werden soll. Gültige Werte sind @code{passwd}, @code{group}, @code{hosts} und @code{services}, womit jeweils die entsprechende NSS-Datenbank bezeichnet wird (siehe @ref{NSS Basics,,, libc, The GNU C Library Reference Manual})."
 
 #. type: code{#1}
 #: doc/guix.texi:11127
@@ -19573,7 +19746,7 @@ msgstr "Liefert einen Dienst, der einen syslog-Daemon entsprechend der @var{Konf
 #. type: deffn
 #: doc/guix.texi:11189
 msgid "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, for more information on the configuration file syntax."
-msgstr "@xref{syslogd invocation,,, inetutils, GNU Inetutils}, für weitere Informationen über die Syntax der Konfiguration."
+msgstr "Siehe @ref{syslogd invocation,,, inetutils, GNU Inetutils} für weitere Informationen über die Syntax der Konfiguration."
 
 #. type: defvr
 #: doc/guix.texi:11191
@@ -19584,7 +19757,7 @@ msgstr "{Scheme-Variable} guix-service-type"
 #. type: defvr
 #: doc/guix.texi:11195
 msgid "This is the type of the service that runs the build daemon, @command{guix-daemon} (@pxref{Invoking guix-daemon}).  Its value must be a @code{guix-configuration} record as described below."
-msgstr "Dies ist der Typ für den Dienst, der den Erstellungs-Daemon @command{guix-daemon} ausführt (@pxref{Invoking guix-daemon}). Als Wert muss ein @code{guix-configuration}-Verbundsobjekt verwendet werden, wie unten beschrieben."
+msgstr "Dies ist der Typ für den Dienst, der den Erstellungs-Daemon @command{guix-daemon} ausführt (siehe @ref{Invoking guix-daemon}). Als Wert muss ein @code{guix-configuration}-Verbundsobjekt verwendet werden, wie unten beschrieben."
 
 #. type: anchor{#1}
 #: doc/guix.texi:11198
@@ -19600,7 +19773,7 @@ msgstr "{Datentyp} guix-configuration"
 #. type: deftp
 #: doc/guix.texi:11201
 msgid "This data type represents the configuration of the Guix build daemon.  @xref{Invoking guix-daemon}, for more information."
-msgstr "Dieser Datentyp repräsentiert die Konfiguration des Erstellungs-Daemons von Guix. Siehe @xref{Invoking guix-daemon} für weitere Informationen."
+msgstr "Dieser Datentyp repräsentiert die Konfiguration des Erstellungs-Daemons von Guix. Siehe @ref{Invoking guix-daemon} für weitere Informationen."
 
 #. type: item
 #: doc/guix.texi:11203
@@ -19644,7 +19817,7 @@ msgstr "@code{authorize-key?} (Vorgabe: @code{#t})"
 #. type: table
 #: doc/guix.texi:11217
 msgid "Whether to authorize the substitute keys listed in @code{authorized-keys}---by default that of @code{hydra.gnu.org} (@pxref{Substitutes})."
-msgstr "Ob die unter @code{authorized-keys} aufgelisteten Substitutschlüssel autorisiert werden sollen — vorgegeben ist, den von @code{hydra.gnu.org} zu autorisieren (@pxref{Substitutes})."
+msgstr "Ob die unter @code{authorized-keys} aufgelisteten Substitutschlüssel autorisiert werden sollen — vorgegeben ist, den von @code{hydra.gnu.org} zu autorisieren (siehe @ref{Substitutes})."
 
 #. type: vindex
 #: doc/guix.texi:11218
@@ -19661,7 +19834,7 @@ msgstr "@code{authorized-keys} (Vorgabe: @var{%default-authorized-guix-keys})"
 #. type: table
 #: doc/guix.texi:11223
 msgid "The list of authorized key files for archive imports, as a list of string-valued gexps (@pxref{Invoking guix archive}).  By default, it contains that of @code{hydra.gnu.org} (@pxref{Substitutes})."
-msgstr "Die Liste der Dateien mit autorisierten Schlüsseln, d.h. eine Liste von Zeichenketten als G-Ausdrücke (@pxref{Invoking guix archive}). Der vorgegebene Inhalt ist der Schlüssel von @code{hydra.gnu.org} (@pxref{Substitutes})."
+msgstr "Die Liste der Dateien mit autorisierten Schlüsseln, d.h. eine Liste von Zeichenketten als G-Ausdrücke (siehe @ref{Invoking guix archive}). Der vorgegebene Inhalt ist der Schlüssel von @code{hydra.gnu.org} (siehe @ref{Substitutes})."
 
 #. type: item
 #: doc/guix.texi:11224
@@ -20082,7 +20255,7 @@ msgstr "@code{options} (Vorgabe: @code{%default-gpm-options})"
 #. type: table
 #: doc/guix.texi:11419
 msgid "Command-line options passed to @command{gpm}.  The default set of options instruct @command{gpm} to listen to mouse events on @file{/dev/input/mice}.  @xref{Command Line,,, gpm, gpm manual}, for more information."
-msgstr "Befehlszeilenoptionen, die an @command{gpm} übergeben werden. Die vorgegebenen Optionen weisen @command{gpm} an, auf Maus-Ereignisse auf der Datei @file{/dev/input/mice} zu lauschen. Siehe @xref{Command Line,,, gpm, gpm manual} für weitere Informationen."
+msgstr "Befehlszeilenoptionen, die an @command{gpm} übergeben werden. Die vorgegebenen Optionen weisen @command{gpm} an, auf Maus-Ereignisse auf der Datei @file{/dev/input/mice} zu lauschen. Siehe @ref{Command Line,,, gpm, gpm manual} für weitere Informationen."
 
 #. type: item
 #: doc/guix.texi:11420
@@ -20109,12 +20282,12 @@ msgstr "{Scheme-Variable} guix-publish-service-type"
 #. type: deffn
 #: doc/guix.texi:11431
 msgid "This is the service type for @command{guix publish} (@pxref{Invoking guix publish}).  Its value must be a @code{guix-configuration} object, as described below."
-msgstr "Dies ist der Diensttyp für @command{guix publish} (@pxref{Invoking guix publish}). Sein Wert muss ein @code{guix-publish-configuration}-Objekt sein, wie im Folgenden beschrieben."
+msgstr "Dies ist der Diensttyp für @command{guix publish} (siehe @ref{Invoking guix publish}). Sein Wert muss ein @code{guix-publish-configuration}-Objekt sein, wie im Folgenden beschrieben."
 
 #. type: deffn
 #: doc/guix.texi:11435
 msgid "This assumes that @file{/etc/guix} already contains a signing key pair as created by @command{guix archive --generate-key} (@pxref{Invoking guix archive}).  If that is not the case, the service will fail to start."
-msgstr "Hierbei wird angenommen, dass @file{/etc/guix} bereits ein mit @command{guix archive --generate-key} erzeugtes Schlüsselpaar zum Signieren enthält (@pxref{Invoking guix archive}). Falls nicht, wird der Dienst beim Starten fehlschlagen."
+msgstr "Hierbei wird angenommen, dass @file{/etc/guix} bereits ein mit @command{guix archive --generate-key} erzeugtes Schlüsselpaar zum Signieren enthält (siehe @ref{Invoking guix archive}). Falls nicht, wird der Dienst beim Starten fehlschlagen."
 
 #. type: deftp
 #: doc/guix.texi:11437
@@ -20169,7 +20342,7 @@ msgstr "@code{nar-path} (Vorgabe: @code{\"nar\"})"
 #. type: table
 #: doc/guix.texi:11460
 msgid "The URL path at which ``nars'' can be fetched.  @xref{Invoking guix publish, @code{--nar-path}}, for details."
-msgstr "Der URL-Pfad, unter dem »Nars« zum Herunterladen angeboten werden. Siehe @xref{Invoking guix publish, @code{--nar-path}}, für Details."
+msgstr "Der URL-Pfad, unter dem »Nars« zum Herunterladen angeboten werden. Siehe @ref{Invoking guix publish, @code{--nar-path}} für Details."
 
 #. type: item
 #: doc/guix.texi:11461
@@ -20180,7 +20353,7 @@ msgstr "@code{cache} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:11467
 msgid "When it is @code{#f}, disable caching and instead generate archives on demand.  Otherwise, this should be the name of a directory---e.g., @code{\"/var/cache/guix/publish\"}---where @command{guix publish} caches archives and meta-data ready to be sent.  @xref{Invoking guix publish, @option{--cache}}, for more information on the tradeoffs involved."
-msgstr "Wenn dies @code{#f} ist, werden Archive nicht zwischengespeichert, sondern erst bei einer Anfrage erzeugt. Andernfalls sollte dies der Name eines Verzeichnisses sein — z.B. @code{\"/var/cache/guix/publish\"} —, in das @command{guix publish} fertige Archive und Metadaten zwischenspeichern soll. Siehe @xref{Invoking guix publish, @option{--cache}}, für weitere Informationen über die jeweiligen Vor- und Nachteile."
+msgstr "Wenn dies @code{#f} ist, werden Archive nicht zwischengespeichert, sondern erst bei einer Anfrage erzeugt. Andernfalls sollte dies der Name eines Verzeichnisses sein — z.B. @code{\"/var/cache/guix/publish\"} —, in das @command{guix publish} fertige Archive und Metadaten zwischenspeichern soll. Siehe @ref{Invoking guix publish, @option{--cache}} für weitere Informationen über die jeweiligen Vor- und Nachteile."
 
 #. type: item
 #: doc/guix.texi:11468
@@ -20191,7 +20364,7 @@ msgstr "@code{workers} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:11472
 msgid "When it is an integer, this is the number of worker threads used for caching; when @code{#f}, the number of processors is used.  @xref{Invoking guix publish, @option{--workers}}, for more information."
-msgstr "Ist dies eine ganze Zahl, gibt es die Anzahl der Worker-Threads an, die zum Zwischenspeichern benutzt werden; ist es @code{#f}, werden so viele benutzt, wie es Prozessoren gibt. Siehe @xref{Invoking guix publish, @option{--workers}}, für mehr Informationen."
+msgstr "Ist dies eine ganze Zahl, gibt es die Anzahl der Worker-Threads an, die zum Zwischenspeichern benutzt werden; ist es @code{#f}, werden so viele benutzt, wie es Prozessoren gibt. Siehe @ref{Invoking guix publish, @option{--workers}} für mehr Informationen."
 
 #. type: item
 #: doc/guix.texi:11473
@@ -20202,7 +20375,7 @@ msgstr "@code{ttl} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:11477
 msgid "When it is an integer, this denotes the @dfn{time-to-live} in seconds of the published archives.  @xref{Invoking guix publish, @option{--ttl}}, for more information."
-msgstr "Wenn dies eine ganze Zahl ist, bezeichnet sie die @dfn{Time-to-live} als die Anzahl der Sekunden, die heruntergeladene veröffentlichte Archive zwischengespeichert werden dürfen. Siehe @xref{Invoking guix publish, @option{--ttl}}, für mehr Informationen."
+msgstr "Wenn dies eine ganze Zahl ist, bezeichnet sie die @dfn{Time-to-live} als die Anzahl der Sekunden, die heruntergeladene veröffentlichte Archive zwischengespeichert werden dürfen. Siehe @ref{Invoking guix publish, @option{--ttl}} für mehr Informationen."
 
 #. type: anchor{#1}
 #: doc/guix.texi:11481
@@ -39092,54 +39265,54 @@ msgstr ""
 #: doc/guix.texi:21652
 #, no-wrap
 msgid "setuid programs"
-msgstr ""
+msgstr "setuid-Programme"
 
 #. type: Plain text
 #: doc/guix.texi:21662
 msgid "Some programs need to run with ``root'' privileges, even when they are launched by unprivileged users.  A notorious example is the @command{passwd} program, which users can run to change their password, and which needs to access the @file{/etc/passwd} and @file{/etc/shadow} files---something normally restricted to root, for obvious security reasons.  To address that, these executables are @dfn{setuid-root}, meaning that they always run with root privileges (@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual}, for more info about the setuid mechanism.)"
-msgstr ""
+msgstr "Manche Programme müssen mit Administratorrechten (also den Berechtigungen des »root«-Benutzers) ausgeführt werden, selbst wenn Nutzer ohne besondere Berechtigungen sie starten. Ein bekanntes Beispiel ist das Programm @command{passwd}, womit Nutzer ihr Passwort ändern können, wozu das Programm auf die Dateien @file{/etc/passwd} und @file{/etc/shadow} zugreifen muss — was normalerweise nur der »root«-Nutzer darf, aus offensichtlichen Gründen der Informationssicherheit. Deswegen sind diese ausführbaren Programmdateien »@dfn{setuid-root}«, d.h. sie laufen immer mit den Administratorrechten des root-Nutzers, egal wer sie startet (siehe @ref{How Change Persona,,, libc, The GNU C Library Reference Manual} für mehr Informationen über den setuid-Mechanismus)."
 
 #. type: Plain text
 #: doc/guix.texi:21669
 msgid "The store itself @emph{cannot} contain setuid programs: that would be a security issue since any user on the system can write derivations that populate the store (@pxref{The Store}).  Thus, a different mechanism is used: instead of changing the setuid bit directly on files that are in the store, we let the system administrator @emph{declare} which programs should be setuid root."
-msgstr ""
+msgstr "Der Store selbst kann @emph{keine} setuid-Programme enthalten: Das wäre eine Sicherheitslücke, weil dann jeder Nutzer auf dem System Ableitungen schreiben könnte, die in den Store solche Dateien einfügen würden (siehe @ref{The Store}). Wir benutzen also einen anderen Mechanismus: Statt auf den ausführbaren Dateien im Store selbst deren setuid-Bit zu setzen, lassen wir den Systemadministrator @emph{deklarieren}, welche Programme mit setuid-root gestartet werden."
 
 #. type: Plain text
 #: doc/guix.texi:21675
 msgid "The @code{setuid-programs} field of an @code{operating-system} declaration contains a list of G-expressions denoting the names of programs to be setuid-root (@pxref{Using the Configuration System}).  For instance, the @command{passwd} program, which is part of the Shadow package, can be designated by this G-expression (@pxref{G-Expressions}):"
-msgstr ""
+msgstr "Das Feld @code{setuid-programs} einer @code{operating-system}-Deklaration enthält eine Liste von G-Ausdrücken, die die Namen der Programme angeben, die setuid-root sein sollen (siehe @ref{Using the Configuration System}). Zum Beispiel kann das Programm @command{passwd}, was Teil des Shadow-Pakets ist, durch diesen G-Ausdruck bezeichnet werden (siehe @ref{G-Expressions}):"
 
 #. type: example
 #: doc/guix.texi:21678
 #, no-wrap
 msgid "#~(string-append #$shadow \"/bin/passwd\")\n"
-msgstr ""
+msgstr "#~(string-append #$shadow \"/bin/passwd\")\n"
 
 #. type: Plain text
 #: doc/guix.texi:21682
 msgid "A default set of setuid programs is defined by the @code{%setuid-programs} variable of the @code{(gnu system)} module."
-msgstr ""
+msgstr "Eine vorgegebene Menge von setuid-Programmen wird durch die Variable @code{%setuid-programs} aus dem Modul @code{(gnu system)} definiert."
 
 #. type: defvr
 #: doc/guix.texi:21683
 #, no-wrap
 msgid "{Scheme Variable} %setuid-programs"
-msgstr ""
+msgstr "{Scheme-Variable} %setuid-programs"
 
 #. type: defvr
 #: doc/guix.texi:21685
 msgid "A list of G-expressions denoting common programs that are setuid-root."
-msgstr ""
+msgstr "Eine Liste von G-Ausdrücken, die übliche Programme angeben, die setuid-root sein müssen."
 
 #. type: defvr
 #: doc/guix.texi:21688
 msgid "The list includes commands such as @command{passwd}, @command{ping}, @command{su}, and @command{sudo}."
-msgstr ""
+msgstr "Die Liste enthält Befehle wie @command{passwd}, @command{ping}, @command{su} und @command{sudo}."
 
 #. type: Plain text
 #: doc/guix.texi:21694
 msgid "Under the hood, the actual setuid programs are created in the @file{/run/setuid-programs} directory at system activation time.  The files in this directory refer to the ``real'' binaries, which are in the store."
-msgstr ""
+msgstr "Intern erzeugt Guix die eigentlichen setuid-Programme im Verzeichnis @file{/run/setuid-programs}, wenn das System aktiviert wird. Die Dateien in diesem Verzeichnis verweisen auf die »echten« Binärdateien im Store."
 
 #. type: cindex
 #: doc/guix.texi:21698
@@ -39177,7 +39350,7 @@ msgstr "Den meisten anderen Programmen, die HTTPS sprechen können — @command{
 #. type: Plain text
 #: doc/guix.texi:21722
 msgid "In GuixSD, this is done by adding a package that provides certificates to the @code{packages} field of the @code{operating-system} declaration (@pxref{operating-system Reference}).  GuixSD includes one such package, @code{nss-certs}, which is a set of CA certificates provided as part of Mozilla's Network Security Services."
-msgstr "In GuixSD müssen Sie dazu ein Paket, das Zertifikate enthält, in das @code{packages}-Feld der @code{operating-system}-Deklaration des Betriebssystems hinzufügen (@pxref{operating-system Reference}). GuixSD liefert ein solches Paket mit, @code{nss-certs}, was als Teil von Mozillas »Network Security Services« angeboten wird."
+msgstr "In GuixSD müssen Sie dazu ein Paket, das Zertifikate enthält, in das @code{packages}-Feld der @code{operating-system}-Deklaration des Betriebssystems hinzufügen (siehe @ref{operating-system Reference}). GuixSD liefert ein solches Paket mit, @code{nss-certs}, was als Teil von Mozillas »Network Security Services« angeboten wird."
 
 #. type: Plain text
 #: doc/guix.texi:21727
@@ -39238,29 +39411,29 @@ msgstr "NSS"
 #. type: Plain text
 #: doc/guix.texi:21771
 msgid "The @code{(gnu system nss)} module provides bindings to the configuration file of the libc @dfn{name service switch} or @dfn{NSS} (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  In a nutshell, the NSS is a mechanism that allows libc to be extended with new ``name'' lookup methods for system databases, which includes host names, service names, user accounts, and more (@pxref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})."
-msgstr ""
+msgstr "Das Modul @code{(gnu system nss)} enthält Anbindungen für die Konfiguration des @dfn{Name Service Switch} (NSS) der libc (siehe @ref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). Kurz gesagt ist der NSS ein Mechanismus, mit dem die libc um neue »Namens«-Auflösungsmethoden für Systemdatenbanken erweitert werden kann; dazu gehören Rechnernamen (auch bekannt als »Host«-Namen), Dienstnamen, Benutzerkonten und mehr (siehe @ref{Name Service Switch, System Databases and Name Service Switch,, libc, The GNU C Library Reference Manual})."
 
 #. type: Plain text
 #: doc/guix.texi:21778
 msgid "The NSS configuration specifies, for each system database, which lookup method is to be used, and how the various methods are chained together---for instance, under which circumstances NSS should try the next method in the list.  The NSS configuration is given in the @code{name-service-switch} field of @code{operating-system} declarations (@pxref{operating-system Reference, @code{name-service-switch}})."
-msgstr ""
+msgstr "Die NSS-Konfiguration legt für jede Systemdatenbank fest, mit welcher Methode der Name nachgeschlagen (»aufgelöst«) werden kann und welche Methoden zusammenhängen — z.B. unter welchen Umständen der NSS es mit der nächsten Methode auf seiner Liste versuchen sollte. Die NSS-Konfiguration wird im Feld @code{name-service-switch} von @code{operating-system}-Deklarationen angegeben (siehe @ref{operating-system Reference, @code{name-service-switch}})."
 
 #. type: cindex
 #: doc/guix.texi:21779
 #, no-wrap
 msgid "nss-mdns"
-msgstr ""
+msgstr "nss-mdns"
 
 #. type: cindex
 #: doc/guix.texi:21780
 #, no-wrap
 msgid ".local, host name lookup"
-msgstr ""
+msgstr ".local, Rechnernamensauflösung"
 
 #. type: Plain text
 #: doc/guix.texi:21785
 msgid "As an example, the declaration below configures the NSS to use the @uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns} back-end}, which supports host name lookups over multicast DNS (mDNS)  for host names ending in @code{.local}:"
-msgstr ""
+msgstr "Zum Beispiel konfigurieren die folgenden Deklarationen den NSS so, dass er das @uref{http://0pointer.de/lennart/projects/nss-mdns/, @code{nss-mdns}-Backend} benutzt, wodurch er auf @code{.local} endende Rechnernamen über Multicast-DNS (mDNS) auflöst:"
 
 #. type: example
 #: doc/guix.texi:21789
@@ -39270,6 +39443,9 @@ msgid ""
 "   (hosts (list %files    ;first, check /etc/hosts\n"
 "\n"
 msgstr ""
+"(name-service-switch\n"
+"   (hosts (list %files    ;zuerst in /etc/hosts nachschlagen\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21794
@@ -39281,6 +39457,11 @@ msgid ""
 "                  (name \"mdns_minimal\")\n"
 "\n"
 msgstr ""
+"                ;; Wenn das keinen Erfolg hatte, es\n"
+"                ;; mit 'mdns_minimal' versuchen.\n"
+"                (name-service\n"
+"                  (name \"mdns_minimal\")\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21800
@@ -39293,6 +39474,14 @@ msgid ""
 "                             (not-found => return))))\n"
 "\n"
 msgstr ""
+"                  ;; 'mdns_minimal' ist die Autorität für\n"
+"                  ;; '.local'. Gibt es not-found (\"nicht\n"
+"                  ;; gefunden\") zurück, müssen wir die\n"
+"                  ;; nächsten Methoden gar nicht erst\n"
+"                  ;; versuchen.\n"
+"                  (reaction (lookup-specification\n"
+"                             (not-found => return))))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21804
@@ -39303,6 +39492,10 @@ msgid ""
 "                  (name \"dns\"))\n"
 "\n"
 msgstr ""
+"                ;; Ansonsten benutzen wir DNS.\n"
+"                (name-service\n"
+"                  (name \"dns\"))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:21808
@@ -39312,156 +39505,160 @@ msgid ""
 "                (name-service\n"
 "                  (name \"mdns\")))))\n"
 msgstr ""
+"                ;; Ein letzter Versuch mit dem\n"
+"                ;; \"vollständigen\" 'mdns'.\n"
+"                (name-service\n"
+"                  (name \"mdns\")))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21813
 msgid "Do not worry: the @code{%mdns-host-lookup-nss} variable (see below)  contains this configuration, so you will not have to type it if all you want is to have @code{.local} host lookup working."
-msgstr ""
+msgstr "Keine Sorge: Die Variable @code{%mdns-host-lookup-nss} (siehe unten) enthält diese Konfiguration bereits. Statt das alles selst einzutippen, können Sie sie benutzen, wenn alles, was Sie möchten, eine funktionierende Namensauflösung für @code{.local}-Rechner ist."
 
 #. type: Plain text
 #: doc/guix.texi:21821
 msgid "Note that, in this case, in addition to setting the @code{name-service-switch} of the @code{operating-system} declaration, you also need to use @code{avahi-service} (@pxref{Networking Services, @code{avahi-service}}), or @var{%desktop-services}, which includes it (@pxref{Desktop Services}).  Doing this makes @code{nss-mdns} accessible to the name service cache daemon (@pxref{Base Services, @code{nscd-service}})."
-msgstr ""
+msgstr "Beachten Sie dabei, dass es zusätzlich zum Festlegen des @code{name-service-switch} in der @code{operating-system}-Deklaration auch erforderlich ist, den @code{avahi-service} zu benutzen (siehe @ref{Networking Services, @code{avahi-service}}). Es genügt auch, wenn Sie die @var{%desktop-services} benutzen, weil er darin enthalten ist (siehe @ref{Desktop Services}). Dadurch wird @code{nss-mdns} für den Name Service Cache Daemon nutzbar (siehe @ref{Base Services, @code{nscd-service}})."
 
 #. type: Plain text
 #: doc/guix.texi:21824
 msgid "For convenience, the following variables provide typical NSS configurations."
-msgstr ""
+msgstr "Um sich eine lange Konfiguration zu ersparen, können Sie auch einfach die folgenden Variablen für typische NSS-Konfigurationen benutzen."
 
 #. type: defvr
 #: doc/guix.texi:21825
 #, no-wrap
 msgid "{Scheme Variable} %default-nss"
-msgstr ""
+msgstr "{Scheme-Variable} %default-nss"
 
 #. type: defvr
 #: doc/guix.texi:21828
 msgid "This is the default name service switch configuration, a @code{name-service-switch} object."
-msgstr ""
+msgstr "Die vorgegebene Konfiguration des Name Service Switch als ein @code{name-service-switch}-Objekt."
 
 #. type: defvr
 #: doc/guix.texi:21830
 #, no-wrap
 msgid "{Scheme Variable} %mdns-host-lookup-nss"
-msgstr ""
+msgstr "{Scheme-Variable} %mdns-host-lookup-nss"
 
 #. type: defvr
 #: doc/guix.texi:21833
 msgid "This is the name service switch configuration with support for host name lookup over multicast DNS (mDNS) for host names ending in @code{.local}."
-msgstr ""
+msgstr "Die Name-Service-Switch-Konfiguration mit Unterstützung für Rechnernamensauflösung über »Multicast DNS« (mDNS) für auf @code{.local} endende Rechnernamen."
 
 #. type: Plain text
 #: doc/guix.texi:21843
 msgid "The reference for name service switch configuration is given below.  It is a direct mapping of the configuration file format of the C library , so please refer to the C library manual for more information (@pxref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}).  Compared to the configuration file format of libc NSS, it has the advantage not only of adding this warm parenthetic feel that we like, but also static checks: you will know about syntax errors and typos as soon as you run @command{guix system}."
-msgstr ""
+msgstr "Im Folgenden finden Sie eine Referenz, wie eine Name-Service-Switch-Konfiguration aussehen muss. Sie hat eine direkte Entsprechung zum Konfigurationsdateiformat der C-Bibliothek, lesen Sie weitere Informationen also bitte im Handbuch der C-Bibliothek nach (siehe @ref{NSS Configuration File,,, libc, The GNU C Library Reference Manual}). Gegenüber dem Konfigurationsdateiformat des libc-NSS bekommen Sie mit unserer Syntax nicht nur ein warm umklammerndes Gefühl, sondern auch eine statische Analyse: Wenn Sie Syntax- und Schreibfehler machen, werden Sie darüber benachrichtigt, sobald Sie @command{guix system} aufrufen."
 
 #. type: deftp
 #: doc/guix.texi:21844
 #, no-wrap
 msgid "{Data Type} name-service-switch"
-msgstr ""
+msgstr "{Datentyp} name-service-switch"
 
 #. type: deftp
 #: doc/guix.texi:21849
 msgid "This is the data type representation the configuration of libc's name service switch (NSS).  Each field below represents one of the supported system databases."
-msgstr ""
+msgstr "Der Datentyp, der die Konfiguration des Name Service Switch (NSS) der libc repräsentiert. Jedes im Folgenden aufgeführte Feld repräsentiert eine der unterstützten Systemdatenbanken."
 
 #. type: item
 #: doc/guix.texi:21851
 #, no-wrap
 msgid "aliases"
-msgstr ""
+msgstr "aliases"
 
 #. type: itemx
 #: doc/guix.texi:21852
 #, no-wrap
 msgid "ethers"
-msgstr ""
+msgstr "ethers"
 
 #. type: itemx
 #: doc/guix.texi:21854
 #, no-wrap
 msgid "gshadow"
-msgstr ""
+msgstr "gshadow"
 
 #. type: itemx
 #: doc/guix.texi:21855
 #, no-wrap
 msgid "hosts"
-msgstr ""
+msgstr "hosts"
 
 #. type: itemx
 #: doc/guix.texi:21856
 #, no-wrap
 msgid "initgroups"
-msgstr ""
+msgstr "initgroups"
 
 #. type: itemx
 #: doc/guix.texi:21857
 #, no-wrap
 msgid "netgroup"
-msgstr ""
+msgstr "netgroup"
 
 #. type: itemx
 #: doc/guix.texi:21858
 #, no-wrap
 msgid "networks"
-msgstr ""
+msgstr "networks"
 
 #. type: itemx
 #: doc/guix.texi:21860
 #, no-wrap
 msgid "public-key"
-msgstr ""
+msgstr "public-key"
 
 #. type: itemx
 #: doc/guix.texi:21861
 #, no-wrap
 msgid "rpc"
-msgstr ""
+msgstr "rpc"
 
 #. type: itemx
 #: doc/guix.texi:21863
 #, no-wrap
 msgid "shadow"
-msgstr ""
+msgstr "shadow"
 
 #. type: table
 #: doc/guix.texi:21866
 msgid "The system databases handled by the NSS.  Each of these fields must be a list of @code{<name-service>} objects (see below)."
-msgstr ""
+msgstr "Das sind die Systemdatenbanken, um die sich NSS kümmern kann. Jedes dieser Felder muss eine Liste aus @code{<name-service>}-Objekten sein (siehe unten)."
 
 #. type: deftp
 #: doc/guix.texi:21869
 #, no-wrap
 msgid "{Data Type} name-service"
-msgstr ""
+msgstr "{Datentyp} name-service"
 
 #. type: deftp
 #: doc/guix.texi:21873
 msgid "This is the data type representing an actual name service and the associated lookup action."
-msgstr ""
+msgstr "Der einen eigentlichen Namensdienst repräsentierende Datentyp zusammen mit der zugehörigen Auflösungsaktion."
 
 #. type: table
 #: doc/guix.texi:21878
 msgid "A string denoting the name service (@pxref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})."
-msgstr ""
+msgstr "Eine Zeichenkette, die den Namensdienst bezeichnet (siehe @ref{Services in the NSS configuration,,, libc, The GNU C Library Reference Manual})."
 
 #. type: table
 #: doc/guix.texi:21883
 msgid "Note that name services listed here must be visible to nscd.  This is achieved by passing the @code{#:name-services} argument to @code{nscd-service} the list of packages providing the needed name services (@pxref{Base Services, @code{nscd-service}})."
-msgstr ""
+msgstr "Beachten Sie, dass hier aufgeführte Namensdienste für den nscd sichtbar sein müssen. Dazu übergeben Sie im Argument @code{#:name-services} des @code{nscd-service} die Liste der Pakete, die die entsprechenden Namensdienste anbieten (siehe @ref{Base Services, @code{nscd-service}})."
 
 #. type: item
 #: doc/guix.texi:21884
 #, no-wrap
 msgid "reaction"
-msgstr ""
+msgstr "reaction"
 
 #. type: table
 #: doc/guix.texi:21888
 msgid "An action specified using the @code{lookup-specification} macro (@pxref{Actions in the NSS configuration,,, libc, The GNU C Library Reference Manual}).  For example:"
-msgstr ""
+msgstr "Eine mit Hilfe des Makros @code{lookup-specification} angegebene Aktion (siehe @ref{Actions in the NSS configuration,,, libc, The GNU C Library Reference Manual}). Zum Beispiel:"
 
 #. type: example
 #: doc/guix.texi:21892
@@ -39470,16 +39667,18 @@ msgid ""
 "(lookup-specification (unavailable => continue)\n"
 "                      (success => return))\n"
 msgstr ""
+"(lookup-specification (unavailable => continue)\n"
+"                      (success => return))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21906
 msgid "For bootstrapping purposes, the Linux-Libre kernel is passed an @dfn{initial RAM disk}, or @dfn{initrd}.  An initrd contains a temporary root file system as well as an initialization script.  The latter is responsible for mounting the real root file system, and for loading any kernel modules that may be needed to achieve that."
-msgstr ""
+msgstr "Um ihn zu initialisieren (zu »bootstrappen«), wird für den Kernel Linux-Libre eine @dfn{initiale RAM-Disk} angegeben (kurz @dfn{initrd}). Eine initrd enthält ein temporäres Wurzeldateisystem sowie ein Skript zur Initialisierung. Letzteres ist dafür zuständig, das echte Wurzeldateisystem einzubinden und alle Kernel-Module zu laden, die dafür nötig sein könnten."
 
 #. type: Plain text
 #: doc/guix.texi:21915
 msgid "The @code{initrd-modules} field of an @code{operating-system} declaration allows you to specify Linux-libre kernel modules that must be available in the initrd.  In particular, this is where you would list modules needed to actually drive the hard disk where your root partition is---although the default value of @code{initrd-modules} should cover most use cases.  For example, assuming you need the @code{megaraid_sas} module in addition to the default modules to be able to access your root file system, you would write:"
-msgstr ""
+msgstr "Mit dem Feld @code{initrd-modules} einer @code{operating-system}-Deklaration können Sie angeben, welche Kernel-Module für Linux-libre in der initrd verfügbar sein müssen. Insbesondere müssen hier die Module aufgeführt werden, um die Festplatte zu betreiben, auf der sich Ihre Wurzelpartition befindet — allerdings sollte der vorgegebene Wert der @code{initrd-modules} in dem meisten Fällen genügen. Wenn Sie aber zum Beispiel das Kernel-Modul @code{megaraid_sas} zusätzlich zu den vorgegebenen Modulen brauchen, um auf Ihr Wurzeldateisystem zugreifen zu können, würden Sie das so schreiben:"
 
 #. type: example
 #: doc/guix.texi:21920
@@ -39489,27 +39688,30 @@ msgid ""
 "  ;; @dots{}\n"
 "  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
 msgstr ""
+"(operating-system\n"
+"  ;; @dots{}\n"
+"  (initrd-modules (cons \"megaraid_sas\" %base-initrd-modules)))\n"
 
 #. type: defvr
 #: doc/guix.texi:21922
 #, no-wrap
 msgid "{Scheme Variable} %base-initrd-modules"
-msgstr ""
+msgstr "{Scheme-Variable} %base-initrd-modules"
 
 #. type: defvr
 #: doc/guix.texi:21924
 msgid "This is the list of kernel modules included in the initrd by default."
-msgstr ""
+msgstr "Der Vorgabewert für die Liste der Kernel-Module, die in der initrd enthalten sein sollen."
 
 #. type: Plain text
 #: doc/guix.texi:21932
 msgid "Furthermore, if you need lower-level customization, the @code{initrd} field of an @code{operating-system} declaration allows you to specify which initrd you would like to use.  The @code{(gnu system linux-initrd)} module provides three ways to build an initrd: the high-level @code{base-initrd} procedure and the low-level @code{raw-initrd} and @code{expression->initrd} procedures."
-msgstr ""
+msgstr "Wenn Sie noch systemnähere Anpassungen durchführen wollen, können Sie im Feld @code{initrd} einer @code{operating-system}-Deklaration angeben, was für eine Art von initrd Sie benutzen möchten. Das Modul @code{(gnu system linux-initrd)} enthält drei Arten, eine initrd zu erstellen: die abstrakte Prozedur @code{base-initrd} und die systemnahen Prozeduren @code{raw-initrd} und @code{expression->initrd}."
 
 #. type: Plain text
 #: doc/guix.texi:21937
 msgid "The @code{base-initrd} procedure is intended to cover most common uses.  For example, if you want to add a bunch of kernel modules to be loaded at boot time, you can define the @code{initrd} field of the operating system declaration like this:"
-msgstr ""
+msgstr "Mit der Prozedur @code{base-initrd} sollten Sie die häufigsten Anwendungszwecke abdecken können. Wenn Sie zum Beispiel ein paar Kernel-Module zur Boot-Zeit laden lassen möchten, können Sie das @code{initrd}-Feld auf diese Art definieren:"
 
 #. type: example
 #: doc/guix.texi:21945
@@ -39522,342 +39724,349 @@ msgid ""
 "                 #:qemu-networking? #t\n"
 "                 rest)))\n"
 msgstr ""
+"(initrd (lambda (file-systems . rest)\n"
+"          ;; Eine gewöhnliche initrd, aber das Netzwerk wird\n"
+"          ;; mit den Parametern initialisiert, die QEMU\n"
+"          ;; standardmäßig erwartet.\n"
+"          (apply base-initrd file-systems\n"
+"                 #:qemu-networking? #t\n"
+"                 rest)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21950
 msgid "The @code{base-initrd} procedure also handles common use cases that involves using the system as a QEMU guest, or as a ``live'' system with volatile root file system."
-msgstr ""
+msgstr "Die Prozedur @code{base-initrd} kann auch mit üblichen Anwendungszwecken umgehen, um das System als QEMU-Gastsystem zu betreiben oder als ein »Live«-System ohne ein dauerhaft gespeichertes Wurzeldateisystem."
 
 #. type: Plain text
 #: doc/guix.texi:21957
 msgid "The @code{base-initrd} procedure is built from @code{raw-initrd} procedure.  Unlike @code{base-initrd}, @code{raw-initrd} doesn't do anything high-level, such as trying to guess which kernel modules and packages should be included to the initrd. An example use of @code{raw-initrd} is when a user has a custom Linux kernel configuration and default kernel modules included by @code{base-initrd} are not available."
-msgstr ""
+msgstr "Die Prozedur @code{base-initrd} baut auf der Prozedur @code{raw-initrd} auf. Anders als @code{base-initrd} hat @code{raw-initrd} keinerlei Zusatzfunktionalitäten: Es wird kein Versuch unternommen, für die initrd notwendige Kernel-Module und Pakete automatisch hinzuzunehmen. @code{raw-initrd} kann zum Beispiel benutzt werden, wenn ein Nutzer eine eigene Konfiguration des Linux-Kernels verwendet und die Standard-Kernel-Module, die mit @code{base-initrd} hinzugenommen würden, nicht verfügbar sind."
 
 #. type: Plain text
 #: doc/guix.texi:21962
 msgid "The initial RAM disk produced by @code{base-initrd} or @code{raw-initrd} honors several options passed on the Linux kernel command line (that is, arguments passed @i{via} the @code{linux} command of GRUB, or the @code{-append} option of QEMU), notably:"
-msgstr ""
+msgstr "Die initiale RAM-Disk, wie sie von @code{base-initrd} oder @code{raw-initrd} erzeugt wird, richtet sich nach verschiedenen Optionen, die auf der Kernel-Befehlszeile übergeben werden (also über GRUBs @code{linux}-Befehl oder die @code{-append}-Befehlszeilenoption von QEMU). Erwähnt werden sollten:"
 
 #. type: item
 #: doc/guix.texi:21964
 #, no-wrap
 msgid "--load=@var{boot}"
-msgstr ""
+msgstr "--load=@var{boot}"
 
 #. type: table
 #: doc/guix.texi:21967
 msgid "Tell the initial RAM disk to load @var{boot}, a file containing a Scheme program, once it has mounted the root file system."
-msgstr ""
+msgstr "Die initiale RAM-Disk eine Datei @var{boot}, in der ein Scheme-Programm steht, laden lassen, nachdem das Wurzeldateisystem eingebunden wurde."
 
 #. type: table
 #: doc/guix.texi:21971
 msgid "GuixSD uses this option to yield control to a boot program that runs the service activation programs and then spawns the GNU@tie{}Shepherd, the initialization system."
-msgstr ""
+msgstr "GuixSD übergibt mit dieser Befehlszeilenoption die Kontrolle an ein Boot-Programm, das die Dienstaktivierungsprogramme ausführt und anschließend den GNU@tie{}Shepherd startet, das Initialisierungssystem (»init«-System) von GuixSD."
 
 #. type: item
 #: doc/guix.texi:21972
 #, no-wrap
 msgid "--root=@var{root}"
-msgstr ""
+msgstr "--root=@var{Wurzel}"
 
 #. type: table
 #: doc/guix.texi:21976
 msgid "Mount @var{root} as the root file system.  @var{root} can be a device name like @code{/dev/sda1}, a file system label, or a file system UUID."
-msgstr ""
+msgstr "Das mit @var{Wurzel} bezeichnete Dateisystem als Wurzeldateisystem einbinden. @var{Wurzel} kann ein Geratename wie @code{/dev/sda1}, eine Dateisystembezeichnung (d.h. ein Dateisystem-»Label«) oder eine Dateisystem-UUID sein."
 
 #. type: table
 #: doc/guix.texi:21980
 msgid "Have @file{/run/booted-system} and @file{/run/current-system} point to @var{system}."
-msgstr ""
+msgstr "@file{/run/booted-system} und @file{/run/current-system} auf das @var{System} zeigen lassen."
 
 #. type: item
 #: doc/guix.texi:21981
 #, no-wrap
 msgid "modprobe.blacklist=@var{modules}@dots{}"
-msgstr ""
+msgstr "modprobe.blacklist=@var{Module}@dots{}"
 
 #. type: cindex
 #: doc/guix.texi:21982
 #, no-wrap
 msgid "module, black-listing"
-msgstr ""
+msgstr "Kernel-Module, Sperrliste"
 
 #. type: cindex
 #: doc/guix.texi:21983
 #, no-wrap
 msgid "black list, of kernel modules"
-msgstr ""
+msgstr "Sperrliste, von Kernel-Modulen"
 
 #. type: table
 #: doc/guix.texi:21988
 msgid "Instruct the initial RAM disk as well as the @command{modprobe} command (from the kmod package) to refuse to load @var{modules}.  @var{modules} must be a comma-separated list of module names---e.g., @code{usbkbd,9pnet}."
-msgstr ""
+msgstr "Die initiale RAM-Disk sowie den Befehl @command{modprobe} (aus dem kmod-Paket) anweisen, das Laden der angegebenen @var{Module} zu verweigern. Als @var{Module} muss eine kommagetrennte Liste von Kernel-Modul-Namen angegeben werden — z.B. @code{usbkbd,9pnet}."
 
 #. type: item
 #: doc/guix.texi:21989
 #, no-wrap
 msgid "--repl"
-msgstr ""
+msgstr "--repl"
 
 #. type: table
 #: doc/guix.texi:21995
 msgid "Start a read-eval-print loop (REPL) from the initial RAM disk before it tries to load kernel modules and to mount the root file system.  Our marketing team calls it @dfn{boot-to-Guile}.  The Schemer in you will love it.  @xref{Using Guile Interactively,,, guile, GNU Guile Reference Manual}, for more information on Guile's REPL."
-msgstr ""
+msgstr "Eine Lese-Auswerten-Schreiben-Schleife (englisch »Read-Eval-Print Loop«, kurz REPL) von der initialen RAM-Disk starten, bevor diese die Kernel-Module zu laden versucht und das Wurzeldateisystem einbindet. Unsere Marketingabteilung nennt das @dfn{boot-to-Guile}. Der Schemer in Ihnen wird das lieben. Siehe @ref{Using Guile Interactively,,, guile, GNU Guile Reference Manual} für mehr Informationen über die REPL von Guile."
 
 #. type: Plain text
 #: doc/guix.texi:22001
 msgid "Now that you know all the features that initial RAM disks produced by @code{base-initrd} and @code{raw-initrd} provide, here is how to use it and customize it further."
-msgstr ""
+msgstr "Jetzt wo Sie wissen, was für Funktionalitäten eine durch @code{base-initrd} und @code{raw-initrd} erzeugte initiale RAM-Disk so haben kann, möchten Sie vielleicht auch wissen, wie man Sie benutzt und weiter anpasst:"
 
 #. type: deffn
 #: doc/guix.texi:22004
 #, no-wrap
 msgid "{Scheme Procedure} raw-initrd @var{file-systems} @"
-msgstr ""
+msgstr "{Scheme-Prozedur} raw-initrd @var{Dateisysteme} @"
 
 #. type: deffn
 #: doc/guix.texi:22016
 msgid "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] Return a derivation that builds a raw initrd.  @var{file-systems} is a list of file systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}.  @var{linux-modules} is a list of kernel modules to be loaded at boot time.  @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted (@pxref{Mapped Devices}).  @var{helper-packages} is a list of packages to be copied in the initrd. It may include @code{e2fsck/static} or other packages needed by the initrd to check the root file system."
-msgstr ""
+msgstr "[#:linux-modules '()] [#:mapped-devices '()] @ [#:helper-packages '()] [#:qemu-networking? #f] [#:volatile-root? #f] Liefert eine Ableitung, die eine rohe (»raw«) initrd erstellt. @var{Dateisysteme} bezeichnet eine Liste von durch die initrd einzubindenden Dateisystemen, unter Umständen zusätzlich zum auf der Kernel-Befehlszeile mit @code{--root} angegebenen Wurzeldateisystem. @var{linux-modules} ist eine Liste von Kernel-Modulen, die zur Boot-Zeit geladen werden sollen. @var{mapped-devices} ist eine Liste von Gerätezuordnungen, die hergestellt sein müssen, bevor die unter @var{file-systems} aufgeführten Dateisysteme eingebunden werden (siehe @ref{Mapped Devices}). @var{helper-packages} ist eine Liste von Paketen, die in die initrd kopiert werden. Darunter kann @code{e2fsck/static} oder andere Pakete aufgeführt werden, mit denen durch die initrd das Wurzeldateisystem auf Fehler hin geprüft werden kann."
 
 #. type: deffn
 #: doc/guix.texi:22020
 msgid "When @var{qemu-networking?} is true, set up networking with the standard QEMU parameters.  When @var{virtio?} is true, load additional modules so that the initrd can be used as a QEMU guest with para-virtualized I/O drivers."
-msgstr ""
+msgstr "Wenn @var{qemu-networking?} wahr ist, wird eine Netzwerkverbindung mit den Standard-QEMU-Parametern hergestellt. Wenn @var{virtio?} wahr ist, werden zusätzliche Kernel-Module geladen, damit die initrd als ein QEMU-Gast paravirtualisierte Ein-/Ausgabetreiber benutzen kann."
 
 #. type: deffn
 #: doc/guix.texi:22023
 msgid "When @var{volatile-root?} is true, the root file system is writable but any changes to it are lost."
-msgstr ""
+msgstr "Wenn @var{volatile-root?} wahr ist, ist Schreiben auf das Wurzeldateisystem möglich, aber Änderungen daran bleiben nicht erhalten."
 
 #. type: deffn
 #: doc/guix.texi:22025
 #, no-wrap
 msgid "{Scheme Procedure} base-initrd @var{file-systems} @"
-msgstr ""
+msgstr "{Scheme-Prozedur} base-initrd @var{Dateisysteme} @"
 
 #. type: deffn
 #: doc/guix.texi:22033
 msgid "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:linux-modules '()] Return as a file-like object a generic initrd, with kernel modules taken from @var{linux}.  @var{file-systems} is a list of file-systems to be mounted by the initrd, possibly in addition to the root file system specified on the kernel command line via @code{--root}.  @var{mapped-devices} is a list of device mappings to realize before @var{file-systems} are mounted."
-msgstr ""
+msgstr "[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@ [#:linux-modules '()] Liefert eine allgemein anwendbare, generische initrd als dateiartiges Objekt mit den Kernel-Modulen aus @var{linux}. Die @var{file-systems} sind eine Liste von durch die initrd einzubindenden Dateisystemen, unter Umständen zusätzlich zum Wurzeldateisystem, das auf der Kernel-Befehlszeile mit @code{--root} angegeben wurde. Die @var{mapped-devices} sind eine Liste von Gerätezuordnungen, die hergestellt sein müssen, bevor die @var{file-systems} eingebunden werden."
 
 #. type: deffn
 #: doc/guix.texi:22035
 msgid "@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}."
-msgstr ""
+msgstr "@var{qemu-networking?} und @var{volatile-root?} verhalten sich wie bei @code{raw-initrd}."
 
 #. type: deffn
 #: doc/guix.texi:22040
 msgid "The initrd is automatically populated with all the kernel modules necessary for @var{file-systems} and for the given options.  Additional kernel modules can be listed in @var{linux-modules}.  They will be added to the initrd, and loaded at boot time in the order in which they appear."
-msgstr ""
+msgstr "In die initrd werden automatisch alle Kernel-Module eingefügt, die für die unter @var{file-systems} angegebenen Dateisysteme und die angegebenen Optionen nötig sind. Zusätzliche Kernel-Module können unter den @var{linux-modules} aufgeführt werden. Diese werden zur initrd hinzugefügt und zur Boot-Zeit in der Reihenfolge geladen, in der sie angegeben wurden."
 
 #. type: Plain text
 #: doc/guix.texi:22047
 msgid "Needless to say, the initrds we produce and use embed a statically-linked Guile, and the initialization program is a Guile program.  That gives a lot of flexibility.  The @code{expression->initrd} procedure builds such an initrd, given the program to run in that initrd."
-msgstr ""
+msgstr "Selbstverständlich betten die hier erzeugten und benutzten initrds ein statisch gebundenes Guile ein und das Initialisierungsprogramm ist ein Guile-Programm. Dadurch haben wir viel Flexibilität. Die Prozedur @code{expression->initrd} erstellt eine solche initrd für ein an sie übergebenes Programm."
 
 #. type: deffn
 #: doc/guix.texi:22048
 #, no-wrap
 msgid "{Scheme Procedure} expression->initrd @var{exp} @"
-msgstr ""
+msgstr "{Scheme-Prozedur} expression->initrd @var{G-Ausdruck} @"
 
 #. type: deffn
 #: doc/guix.texi:22054
 msgid "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Return as a file-like object a Linux initrd (a gzipped cpio archive)  containing @var{guile} and that evaluates @var{exp}, a G-expression, upon booting.  All the derivations referenced by @var{exp} are automatically copied to the initrd."
-msgstr ""
+msgstr "[#:guile %guile-static-stripped] [#:name \"guile-initrd\"] Liefert eine Linux-initrd (d.h. ein gzip-komprimiertes cpio-Archiv) als dateiartiges Objekt, in dem @var{guile} enthalten ist, womit der @var{G-Ausdruck} nach dem Booten ausgewertet wird. Alle vom @var{G-Ausdruck} referenzierten Ableitungen werden automatisch in die initrd kopiert."
 
 #. type: cindex
 #: doc/guix.texi:22060
 #, no-wrap
 msgid "boot loader"
-msgstr ""
+msgstr "Bootloader"
 
 #. type: Plain text
 #: doc/guix.texi:22067
 msgid "The operating system supports multiple bootloaders.  The bootloader is configured using @code{bootloader-configuration} declaration.  All the fields of this structure are bootloader agnostic except for one field, @code{bootloader} that indicates the bootloader to be configured and installed."
-msgstr ""
+msgstr "Das Betriebssystem unterstützt mehrere Bootloader. Der gewünschte Bootloader wird mit der @code{bootloader-configuration}-Deklaration konfiguriert. Alle Felder dieser Struktur sind für alle Bootloader gleich außer dem einen Feld @code{bootloader}, das angibt, welcher Bootloader konfiguriert und installiert werden soll."
 
 #. type: Plain text
 #: doc/guix.texi:22072
 msgid "Some of the bootloaders do not honor every field of @code{bootloader-configuration}.  For instance, the extlinux bootloader does not support themes and thus ignores the @code{theme} field."
-msgstr ""
+msgstr "Manche der Bootloader setzen nicht alle Felder einer @code{bootloader-configuration} um. Zum Beispiel ignoriert der extlinux-Bootloader das @code{theme}-Feld, weil er keine eigenen Themen unterstützt."
 
 #. type: deftp
 #: doc/guix.texi:22073
 #, no-wrap
 msgid "{Data Type} bootloader-configuration"
-msgstr ""
+msgstr "{Datentyp} bootloader-configuration"
 
 #. type: deftp
 #: doc/guix.texi:22075
 msgid "The type of a bootloader configuration declaration."
-msgstr ""
+msgstr "Der Typ der Deklaration einer Bootloader-Konfiguration."
 
 #. type: cindex
 #: doc/guix.texi:22079
 #, no-wrap
 msgid "EFI, bootloader"
-msgstr ""
+msgstr "EFI, Bootloader"
 
 #. type: cindex
 #: doc/guix.texi:22080
 #, no-wrap
 msgid "UEFI, bootloader"
-msgstr ""
+msgstr "UEFI, Bootloader"
 
 #. type: cindex
 #: doc/guix.texi:22081
 #, no-wrap
 msgid "BIOS, bootloader"
-msgstr ""
+msgstr "BIOS, Bootloader"
 
 #. type: table
 #: doc/guix.texi:22085
 msgid "The bootloader to use, as a @code{bootloader} object. For now @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} and @code{u-boot-bootloader} are supported."
-msgstr ""
+msgstr "Der zu benutzende Bootloader als ein @code{bootloader}-Objekt. Zur Zeit werden @code{grub-bootloader}, @code{grub-efi-bootloader}, @code{extlinux-bootloader} und @code{u-boot-bootloader} unterstützt."
 
 #. type: table
 #: doc/guix.texi:22091
 msgid "@code{grub-efi-bootloader} allows to boot on modern systems using the @dfn{Unified Extensible Firmware Interface} (UEFI).  This is what you should use if the installation image contains a @file{/sys/firmware/efi} directory when you boot it on your system."
-msgstr ""
+msgstr "@code{grub-efi-bootloader} macht es möglich, auf modernen Systemen mit @dfn{Unified Extensible Firmware Interface} (UEFI) zu booten. Sie sollten das hier benutzen, wenn im Installationsabbild ein Verzeichnis @file{/sys/firmware/efi} vorhanden ist, wenn Sie davon auf Ihrem System booten."
 
 #. type: table
 #: doc/guix.texi:22095
 msgid "@code{grub-bootloader} allows you to boot in particular Intel-based machines in ``legacy'' BIOS mode."
-msgstr ""
+msgstr "Mit @code{grub-bootloader} können Sie vor allem auf Intel-basierten Maschinen im alten »Legacy«-BIOS-Modus booten."
 
 #. type: cindex
 #: doc/guix.texi:22096
 #, no-wrap
 msgid "ARM, bootloaders"
-msgstr ""
+msgstr "ARM, Bootloader"
 
 #. type: cindex
 #: doc/guix.texi:22097
 #, no-wrap
 msgid "AArch64, bootloaders"
-msgstr ""
+msgstr "AArch64, Bootloader"
 
 #. type: table
 #: doc/guix.texi:22102
 msgid "Available bootloaders are described in @code{(gnu bootloader @dots{})} modules.  In particular, @code{(gnu bootloader u-boot)} contains definitions of bootloaders for a wide range of ARM and AArch64 systems, using the @uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}."
-msgstr ""
+msgstr "Verfügbare Bootloader werden in den Modulen @code{(gnu bootloader @dots{})} beschrieben. Insbesondere enthält @code{(gnu bootloader u-boot)} Definitionen für eine Vielzahl von ARM- und AArch64-Systemen, die den @uref{http://www.denx.de/wiki/U-Boot/, U-Boot-Bootloader} benutzen."
 
 #. type: table
 #: doc/guix.texi:22106
 msgid "This is a string denoting the target onto which to install the bootloader."
-msgstr ""
+msgstr "Eine Zeichenkette, die angibt, auf welches Ziel der Bootloader installiert werden soll."
 
 #. type: table
 #: doc/guix.texi:22113
 msgid "The interpretation depends on the bootloader in question.  For @code{grub-bootloader}, for example, it should be a device name understood by the bootloader @command{installer} command, such as @code{/dev/sda} or @code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}).  For @code{grub-efi-bootloader}, it should be the mount point of the EFI file system, usually @file{/boot/efi}."
-msgstr ""
+msgstr "Was das bedeutet, hängt vom jeweiligen Bootloader ab. Für @code{grub-bootloader} sollte hier zum Beispiel ein Gerätename angegeben werden, der vom @command{installer}-Befehl des Bootloaders verstanden wird, etwa @code{/dev/sda} oder @code{(hd0)} (siehe @ref{Invoking grub-install,,, grub, GNU GRUB Manual}). Für @code{grub-efi-bootloader} sollte der Einhängepunkt des EFI-Dateisystems angegeben werden, in der Regel @file{/boot/efi}."
 
 #. type: item
 #: doc/guix.texi:22114
 #, no-wrap
 msgid "@code{menu-entries} (default: @code{()})"
-msgstr ""
+msgstr "@code{menu-entries} (Vorgabe: @code{()})"
 
 #. type: table
 #: doc/guix.texi:22118
 msgid "A possibly empty list of @code{menu-entry} objects (see below), denoting entries to appear in the bootloader menu, in addition to the current system entry and the entry pointing to previous system generations."
-msgstr ""
+msgstr "Eine möglicherweise leere Liste von @code{menu-entry}-Objekten (siehe unten), die für Menüeinträge stehen, die im Bootloader-Menü auftauchen sollen, zusätzlich zum aktuellen Systemeintrag und dem auf vorherige Systemgenerationen verweisenden Eintrag."
 
 #. type: item
 #: doc/guix.texi:22119
 #, no-wrap
 msgid "@code{default-entry} (default: @code{0})"
-msgstr ""
+msgstr "@code{default-entry} (Vorgabe: @code{0})"
 
 #. type: table
 #: doc/guix.texi:22122
 msgid "The index of the default boot menu entry.  Index 0 is for the entry of the current system."
-msgstr ""
+msgstr "Die Position des standardmäßig ausgewählten Bootmenü-Eintrags. An Position 0 steht der Eintrag der aktuellen Systemgeneration."
 
 #. type: item
 #: doc/guix.texi:22123
 #, no-wrap
 msgid "@code{timeout} (default: @code{5})"
-msgstr ""
+msgstr "@code{timeout} (Vorgabe: @code{5})"
 
 #. type: table
 #: doc/guix.texi:22126
 msgid "The number of seconds to wait for keyboard input before booting.  Set to 0 to boot immediately, and to -1 to wait indefinitely."
-msgstr ""
+msgstr "Wieviele Sekunden lang im Menü auf eine Tastatureingabe gewartet wird, bevor gebootet wird. 0 steht für sofortiges Booten, für -1 wird ohne Zeitbeschränkung gewartet."
 
 #. type: item
 #: doc/guix.texi:22127
 #, no-wrap
 msgid "@code{theme} (default: @var{#f})"
-msgstr ""
+msgstr "@code{theme} (Vorgabe: @var{#f})"
 
 #. type: table
 #: doc/guix.texi:22131
 msgid "The bootloader theme object describing the theme to use.  If no theme is provided, some bootloaders might use a default theme, that's true for GRUB."
-msgstr ""
+msgstr "Ein Objekt für das im Bootloader anzuzeigende Thema. Wird kein Thema angegeben, benutzen manche Bootloader vielleicht ein voreingestelltes Thema; GRUB zumindest macht es so."
 
 #. type: item
 #: doc/guix.texi:22132
 #, no-wrap
 msgid "@code{terminal-outputs} (default: @code{'gfxterm})"
-msgstr ""
+msgstr "@code{terminal-outputs} (Vorgabe: @code{'gfxterm})"
 
 #. type: table
 #: doc/guix.texi:22139
 msgid "The output terminals used for the bootloader boot menu, as a list of symbols.  GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse}, and @code{pkmodem}.  This field corresponds to the GRUB variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Die Ausgabeterminals, die für das Boot-Menü des Bootloaders benutzt werden, als eine Liste von Symbolen. GRUB akzeptiert hier diese Werte: @code{console}, @code{serial}, @code{serial_@{0–3@}}, @code{gfxterm}, @code{vga_text}, @code{mda_text}, @code{morse} und @code{pkmodem}. Dieses Feld entspricht der GRUB-Variablen @code{GRUB_TERMINAL_OUTPUT} (siehe @ref{Simple configuration,,, grub,GNU GRUB manual})."
 
 #. type: item
 #: doc/guix.texi:22140
 #, no-wrap
 msgid "@code{terminal-inputs} (default: @code{'()})"
-msgstr ""
+msgstr "@code{terminal-inputs} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:22148
 msgid "The input terminals used for the bootloader boot menu, as a list of symbols.  For GRUB, the default is the native platform terminal as determined at run-time.  GRUB accepts the values: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and @code{usb_keyboard}.  This field corresponds to the GRUB variable @code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Die Eingabeterminals, die für das Boot-Menü des Bootloaders benutzt werden, als eine Liste von Symbolen. GRUB verwendet hier das zur Laufzeit bestimmte Standardterminal. GRUB akzeptiert sonst diese Werte: @code{console}, @code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard} und @code{usb_keyboard}. Dieses Feld entspricht der GRUB-Variablen @code{GRUB_TERMINAL_INPUT} (siehe @ref{Simple configuration,,, grub,GNU GRUB manual})."
 
 #. type: item
 #: doc/guix.texi:22149
 #, no-wrap
 msgid "@code{serial-unit} (default: @code{#f})"
-msgstr ""
+msgstr "@code{serial-unit} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:22153
 msgid "The serial unit used by the bootloader, as an integer from 0 to 3.  For GRUB, it is chosen at run-time; currently GRUB chooses 0, which corresponds to COM1 (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Die serielle Einheit, die der Bootloader benutzt, als eine ganze Zahl zwischen 0 und 3, einschließlich. Für GRUB wird sie automatisch zur Laufzeit ausgewählt; derzeit wählt GRUB die 0 aus, die COM1 entspricht (siehe @ref{Serial terminal,,, grub,GNU GRUB manual})."
 
 #. type: item
 #: doc/guix.texi:22154
 #, no-wrap
 msgid "@code{serial-speed} (default: @code{#f})"
-msgstr ""
+msgstr "@code{serial-speed} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:22158
 msgid "The speed of the serial interface, as an integer.  For GRUB, the default value is chosen at run-time; currently GRUB chooses 9600@tie{}bps (@pxref{Serial terminal,,, grub,GNU GRUB manual})."
-msgstr ""
+msgstr "Die Geschwindigkeit der seriellen Schnittstelle als eine ganze Zahl. GRUB bestimmt den Wert standardmäßig zur Laufzeit; derzeit wählt GRUB 9600@tie{}bps (siehe @ref{Serial terminal,,, grub,GNU GRUB manual})."
 
 #. type: cindex
 #: doc/guix.texi:22162
 #, no-wrap
 msgid "dual boot"
-msgstr ""
+msgstr "Dual-Boot"
 
 #. type: cindex
 #: doc/guix.texi:22163
 #, no-wrap
 msgid "boot menu"
-msgstr ""
+msgstr "Bootmenü"
 
 #. type: Plain text
 #: doc/guix.texi:22169
 msgid "Should you want to list additional boot menu entries @i{via} the @code{menu-entries} field above, you will need to create them with the @code{menu-entry} form.  For example, imagine you want to be able to boot another distro (hard to imagine!), you can define a menu entry along these lines:"
-msgstr ""
+msgstr "Sollten Sie zusätzliche Bootmenü-Einträge über das oben beschriebene @code{menu-entries}-Feld hinzufügen möchten, müssen Sie diese mit der @code{menu-entry}-Form erzeugen. Stellen Sie sich zum Beispiel vor, Sie wollten noch eine andere Distribution booten können (schwer vorstellbar!), dann könnten Sie einen Menüeintrag wie den Folgenden definieren:"
 
 #. type: example
 #: doc/guix.texi:22176
@@ -39869,113 +40078,118 @@ msgid ""
 "  (linux-arguments '(\"root=/dev/sda2\"))\n"
 "  (initrd \"/boot/old/initrd\"))\n"
 msgstr ""
+"(menu-entry\n"
+"  (label \"Die _andere_ Distribution\")\n"
+"  (linux \"/boot/old/vmlinux-2.6.32\")\n"
+"  (linux-arguments '(\"root=/dev/sda2\"))\n"
+"  (initrd \"/boot/old/initrd\"))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22179
 msgid "Details below."
-msgstr ""
+msgstr "Details finden Sie unten."
 
 #. type: deftp
 #: doc/guix.texi:22180
 #, no-wrap
 msgid "{Data Type} menu-entry"
-msgstr ""
+msgstr "{Datentyp} menu-entry"
 
 #. type: deftp
 #: doc/guix.texi:22182
 msgid "The type of an entry in the bootloader menu."
-msgstr ""
+msgstr "Der Typ eines Eintrags im Bootloadermenü."
 
 #. type: code{#1}
 #: doc/guix.texi:22185
 #, no-wrap
 msgid "label"
-msgstr ""
+msgstr "label"
 
 #. type: table
 #: doc/guix.texi:22187
 msgid "The label to show in the menu---e.g., @code{\"GNU\"}."
-msgstr ""
+msgstr "Die Beschriftung, die im Menü gezeigt werden soll — z.B. @code{\"GNU\"}."
 
 #. type: code{#1}
 #: doc/guix.texi:22188
 #, no-wrap
 msgid "linux"
-msgstr ""
+msgstr "linux"
 
 #. type: table
 #: doc/guix.texi:22190
 msgid "The Linux kernel image to boot, for example:"
-msgstr ""
+msgstr "Das Linux-Kernel-Abbild, was gebootet werden soll, zum Beispiel:"
 
 #. type: example
 #: doc/guix.texi:22193
 #, no-wrap
 msgid "(file-append linux-libre \"/bzImage\")\n"
-msgstr ""
+msgstr "(file-append linux-libre \"/bzImage\")\n"
 
 #. type: table
 #: doc/guix.texi:22198
 msgid "For GRUB, it is also possible to specify a device explicitly in the file path using GRUB's device naming convention (@pxref{Naming convention,,, grub, GNU GRUB manual}), for example:"
-msgstr ""
+msgstr "Für GRUB kann hier auch ein Gerät ausdrücklich zum Dateipfad angegeben werden, unter Verwendung von GRUBs Konventionen zur Gerätebenennung (siehe @ref{Naming convention,,, grub, GNU GRUB manual}), zum Beispiel:"
 
 #. type: example
 #: doc/guix.texi:22201
 #, no-wrap
 msgid "\"(hd0,msdos1)/boot/vmlinuz\"\n"
-msgstr ""
+msgstr "\"(hd0,msdos1)/boot/vmlinuz\"\n"
 
 #. type: table
 #: doc/guix.texi:22205
 msgid "If the device is specified explicitly as above, then the @code{device} field is ignored entirely."
-msgstr ""
+msgstr "Wenn das Gerät auf diese Weise ausdrücklich angegeben wird, wird das @code{device}-Feld gänzlich ignoriert."
 
 #. type: item
 #: doc/guix.texi:22206
 #, no-wrap
 msgid "@code{linux-arguments} (default: @code{()})"
-msgstr ""
+msgstr "@code{linux-arguments} (Vorgabe: @code{()})"
 
 #. type: table
 #: doc/guix.texi:22209
 msgid "The list of extra Linux kernel command-line arguments---e.g., @code{(\"console=ttyS0\")}."
-msgstr ""
+msgstr "Die Liste zusätzlicher Linux-Kernel-Befehlszeilenargumente — z.B. @code{(\"console=ttyS0\")}."
 
 #. type: table
 #: doc/guix.texi:22213
 msgid "A G-Expression or string denoting the file name of the initial RAM disk to use (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Ein G-Ausdruck oder eine Zeichenkette, die den Dateinamen der initialen RAM-Disk angibt, die benutzt werden soll (siehe @ref{G-Expressions})."
 
 #. type: item
 #: doc/guix.texi:22213
 #, no-wrap
 msgid "@code{device} (default: @code{#f})"
-msgstr ""
+msgstr "@code{device} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:22216
 msgid "The device where the kernel and initrd are to be found---i.e., for GRUB, @dfn{root} for this menu entry (@pxref{root,,, grub, GNU GRUB manual})."
-msgstr ""
+msgstr "Das Gerät, auf dem Kernel und initrd zu finden sind — d.h. bei GRUB die Wurzel (»@dfn{root}«) dieses Menüeintrags (siehe @ref{root,,, grub, GNU GRUB manual})."
 
 #. type: table
 #: doc/guix.texi:22222
 msgid "This may be a file system label (a string), a file system UUID (a bytevector, @pxref{File Systems}), or @code{#f}, in which case the bootloader will search the device containing the file specified by the @code{linux} field (@pxref{search,,, grub, GNU GRUB manual}).  It must @emph{not} be an OS device name such as @file{/dev/sda1}."
-msgstr ""
+msgstr "Dies kann eine Dateisystembezeichnung (als Zeichenkette), eine Dateisystem-UUID (als Bytevektor, siehe @ref{File Systems}) oder @code{#f} sein, im letzten Fall wird der Bootloader auf dem Gerät suchen, das die vom @code{linux}-Feld benannte Datei enthält (siehe @ref{search,,, grub, GNU GRUB manual}). Ein vom Betriebssystem vergebener Gerätename wie @file{/dev/sda1} ist aber @emph{nicht} erlaubt."
 
 #. type: Plain text
 #: doc/guix.texi:22229
 msgid "Fow now only GRUB has theme support. GRUB themes are created using the @code{grub-theme} form, which is not documented yet."
-msgstr ""
+msgstr "Zur Zeit lässt nur GRUB sein Aussehen durch Themen anpassen. GRUB-Themen werden mit der @code{grub-theme}-Form erzeugt, die hier noch nicht dokumentiert ist."
 
 #. type: defvr
 #: doc/guix.texi:22234
 msgid "This is the default GRUB theme used by the operating system if no @code{theme} field is specified in @code{bootloader-configuration} record."
-msgstr ""
+msgstr "Das vorgegebene GRUB-Thema, das vom Betriebssystem benutzt wird, wenn kein @code{theme}-Feld im @code{bootloader-configuration}-Verbundsobjekt angegeben wurde."
 
 #. type: defvr
 #: doc/guix.texi:22237
 msgid "It comes with a fancy background image displaying the GNU and Guix logos."
-msgstr ""
+msgstr "Es wird von einem feschen Hintergrundbild begleitet, das die Logos von GNU und Guix zeigt."
 
 #. type: subsection
 #: doc/guix.texi:22241
@@ -40085,7 +40299,7 @@ msgstr "@dots{}\n"
 #. type: table
 #: doc/guix.texi:22292
 msgid "As for @command{guix package --search}, the result is written in @code{recutils} format, which makes it easy to filter the output (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
-msgstr "Wie auch bei @command{guix package --search} wird das Ergebnis im @code{recutils}-Format geliefert, so dass es leicht ist, die Ausgabe zu filtern (@pxref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
+msgstr "Wie auch bei @command{guix package --search} wird das Ergebnis im @code{recutils}-Format geliefert, so dass es leicht ist, die Ausgabe zu filtern (siehe @ref{Top, GNU recutils databases,, recutils, GNU recutils manual})."
 
 #. type: item
 #: doc/guix.texi:22293
@@ -40106,7 +40320,7 @@ msgstr "Dieser Befehl setzt die in der @var{Datei} festgelegte Konfiguration vol
 #. type: table
 #: doc/guix.texi:22311
 msgid "This command creates a new generation whose number is one greater than the current generation (as reported by @command{guix system list-generations}).  If that generation already exists, it will be overwritten.  This behavior mirrors that of @command{guix package} (@pxref{Invoking guix package})."
-msgstr "Dieser Befehl erzeugt eine neue Generation, deren Nummer (wie @command{guix system list-generations} sie anzeigt) um eins größer als die der aktuellen Generation ist. Wenn die so nummerierte Generation bereits existiert, wird sie überschrieben. Dieses Verhalten entspricht dem von @command{guix package} (@pxref{Invoking guix package})."
+msgstr "Dieser Befehl erzeugt eine neue Generation, deren Nummer (wie @command{guix system list-generations} sie anzeigt) um eins größer als die der aktuellen Generation ist. Wenn die so nummerierte Generation bereits existiert, wird sie überschrieben. Dieses Verhalten entspricht dem von @command{guix package} (siehe @ref{Invoking guix package})."
 
 #. type: table
 #: doc/guix.texi:22316
@@ -40116,7 +40330,7 @@ msgstr "Des Weiteren wird für den Bootloader ein Menüeintrag für die neue Bet
 #. type: quotation
 #: doc/guix.texi:22324
 msgid "It is highly recommended to run @command{guix pull} once before you run @command{guix system reconfigure} for the first time (@pxref{Invoking guix pull}).  Failing to do that you would see an older version of Guix once @command{reconfigure} has completed."
-msgstr "Es ist sehr zu empfehlen, @command{guix pull} einmal auszuführen, bevor Sie @command{guix system reconfigure} zum ersten Mal aufrufen (@pxref{Invoking guix pull}). Wenn Sie das nicht tun, könnten Sie nach dem Abschluss von @command{reconfigure} eine ältere Version von Guix vorfinden, als Sie vorher hatten."
+msgstr "Es ist sehr zu empfehlen, @command{guix pull} einmal auszuführen, bevor Sie @command{guix system reconfigure} zum ersten Mal aufrufen (siehe @ref{Invoking guix pull}). Wenn Sie das nicht tun, könnten Sie nach dem Abschluss von @command{reconfigure} eine ältere Version von Guix vorfinden, als Sie vorher hatten."
 
 #. type: item
 #: doc/guix.texi:22326
@@ -40326,7 +40540,7 @@ msgstr "Sie können den Dateisystemtyp für das Wurzeldateisystem mit der Befehl
 #. type: table
 #: doc/guix.texi:22462
 msgid "When using @code{vm-image}, the returned image is in qcow2 format, which the QEMU emulator can efficiently use. @xref{Running GuixSD in a VM}, for more information on how to run the image in a virtual machine."
-msgstr "Wenn Sie ein @code{vm-image} anfordern, ist das gelieferte Disk-Image im qcow2-Format, was vom QEMU-Emulator effizient benutzt werden kann. Im Abschnitt @xref{Running GuixSD in a VM} finden Sie mehr Informationen, wie Sie das Disk-Image in einer virtuellen Maschine laufen lassen."
+msgstr "Wenn Sie ein @code{vm-image} anfordern, ist das gelieferte Disk-Image im qcow2-Format, was vom QEMU-Emulator effizient benutzt werden kann. Im Abschnitt @ref{Running GuixSD in a VM} finden Sie mehr Informationen, wie Sie das Disk-Image in einer virtuellen Maschine laufen lassen."
 
 #. type: table
 #: doc/guix.texi:22467
@@ -40376,7 +40590,7 @@ msgstr "Zur Zeit muss das Skript als Administratornutzer »root« ausgeführt we
 #. type: table
 #: doc/guix.texi:22509
 msgid "As with the @code{vm} action (@pxref{guix system vm}), additional file systems to be shared between the host and container can be specified using the @option{--share} and @option{--expose} options:"
-msgstr "Wie bei der Aktion @code{vm} (@pxref{guix system vm}) können zusätzlich weitere Dateisysteme zwischen Wirt und Container geteilt werden, indem man die Befehlszeilenoptionen @option{--share} und @option{--expose} verwendet:"
+msgstr "Wie bei der Aktion @code{vm} (siehe @ref{guix system vm}) können zusätzlich weitere Dateisysteme zwischen Wirt und Container geteilt werden, indem man die Befehlszeilenoptionen @option{--share} und @option{--expose} verwendet:"
 
 #. type: example
 #: doc/guix.texi:22513
@@ -40396,17 +40610,17 @@ msgstr "Diese Befehlszeilenoption funktioniert nur mit Linux-libre 3.19 oder neu
 #. type: Plain text
 #: doc/guix.texi:22524
 msgid "@var{options} can contain any of the common build options (@pxref{Common Build Options}).  In addition, @var{options} can contain one of the following:"
-msgstr "Unter den @var{Optionen} können beliebige gemeinsame Erstellungsoptionen aufgeführt werden (siehe @pxref{Common Build Options}). Des Weiteren kann als @var{Optionen} Folgendes angegeben werden:"
+msgstr "Unter den @var{Optionen} können beliebige gemeinsame Erstellungsoptionen aufgeführt werden (siehe @ref{Common Build Options}). Des Weiteren kann als @var{Optionen} Folgendes angegeben werden:"
 
 #. type: table
 #: doc/guix.texi:22533
 msgid "Consider the operating-system @var{expr} evaluates to.  This is an alternative to specifying a file which evaluates to an operating system.  This is used to generate the GuixSD installer @pxref{Building the Installation Image})."
-msgstr "Als Konfiguration des Betriebssystems das »operating-system« betrachten, zu dem der @var{Ausdruck} ausgewertet wird. Dies ist eine Alternative dazu, die Konfiguration in einer Datei festzulegen. Hiermit wird auch das Installationsabbild von GuixSD erstellt @pxref{Building the Installation Image})."
+msgstr "Als Konfiguration des Betriebssystems das »operating-system« betrachten, zu dem der @var{Ausdruck} ausgewertet wird. Dies ist eine Alternative dazu, die Konfiguration in einer Datei festzulegen. Hiermit wird auch das Installationsabbild von GuixSD erstellt, siehe @ref{Building the Installation Image})."
 
 #. type: table
 #: doc/guix.texi:22538
 msgid "Attempt to build for @var{system} instead of the host system type.  This works as per @command{guix build} (@pxref{Invoking guix build})."
-msgstr "Versuche, für das angegebene @var{System} statt für denselben Systemtyp wie auf dem Wirtssystem zu erstellen. Dies funktioniert wie bei @command{guix build} (@pxref{Invoking guix build})."
+msgstr "Versuche, für das angegebene @var{System} statt für denselben Systemtyp wie auf dem Wirtssystem zu erstellen. Dies funktioniert wie bei @command{guix build} (siehe @ref{Invoking guix build})."
 
 #. type: item
 #: doc/guix.texi:22539
@@ -40467,7 +40681,7 @@ msgstr "--image-size=@var{Größe}"
 #. type: table
 #: doc/guix.texi:22562
 msgid "For the @code{vm-image} and @code{disk-image} actions, create an image of the given @var{size}.  @var{size} may be a number of bytes, or it may include a unit as a suffix (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
-msgstr "Für die Aktionen @code{vm-image} und @code{disk-image} wird hiermit festgelegt, dass ein Abbild der angegebenen @var{Größe} erstellt werden soll. Die @var{Größe} kann als Zahl die Anzahl Bytes angeben oder mit einer Einheit als Suffix versehen werden (siehe @pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
+msgstr "Für die Aktionen @code{vm-image} und @code{disk-image} wird hiermit festgelegt, dass ein Abbild der angegebenen @var{Größe} erstellt werden soll. Die @var{Größe} kann als Zahl die Anzahl Bytes angeben oder mit einer Einheit als Suffix versehen werden (siehe @ref{Block size, size specifications,, coreutils, GNU Coreutils})."
 
 #. type: table
 #: doc/guix.texi:22566
@@ -40488,7 +40702,7 @@ msgstr "Die Konfiguration @emph{nicht} vor der Installation zur Sicherheit auf F
 #. type: table
 #: doc/guix.texi:22581
 msgid "By default, @command{guix system init} and @command{guix system reconfigure} perform safety checks: they make sure the file systems that appear in the @code{operating-system} declaration actually exist (@pxref{File Systems}), and that any Linux kernel modules that may be needed at boot time are listed in @code{initrd-modules} (@pxref{Initial RAM Disk}).  Passing this option skips these tests altogether."
-msgstr "Das vorgegebene Verhalten von @command{guix system init} und @command{guix system reconfigure} sieht vor, die Konfiguration zur Sicherheit auf Fehler hin zu überprüfen, die ihr Autor übersehen haben könnte: Es wird sichergestellt, dass die in der @code{operating-system}-Deklaration erwähnten Dateisysteme tatsächlich existieren (@pxref{File Systems}) und dass alle Linux-Kernelmodule, die beim Booten benötigt werden könnten, auch im @code{initrd-modules}-Feld aufgeführt sind (@pxref{Initial RAM Disk}). Mit dieser Befehlszeilenoption werden diese Tests allesamt übersprungen."
+msgstr "Das vorgegebene Verhalten von @command{guix system init} und @command{guix system reconfigure} sieht vor, die Konfiguration zur Sicherheit auf Fehler hin zu überprüfen, die ihr Autor übersehen haben könnte: Es wird sichergestellt, dass die in der @code{operating-system}-Deklaration erwähnten Dateisysteme tatsächlich existieren (siehe @ref{File Systems}) und dass alle Linux-Kernelmodule, die beim Booten benötigt werden könnten, auch im @code{initrd-modules}-Feld aufgeführt sind (siehe @ref{Initial RAM Disk}). Mit dieser Befehlszeilenoption werden diese Tests allesamt übersprungen."
 
 #. type: item
 #: doc/guix.texi:22582
@@ -40532,12 +40746,12 @@ msgstr "debug"
 #. type: table
 #: doc/guix.texi:22599
 msgid "Report the error and enter Guile's debugger.  From there, you can run commands such as @code{,bt} to get a backtrace, @code{,locals} to display local variable values, and more generally inspect the state of the program.  @xref{Debug Commands,,, guile, GNU Guile Reference Manual}, for a list of available debugging commands."
-msgstr "Nach dem Melden des Fehlers wird der Debugger von Guile zur Fehlersuche gestartet. Von dort können Sie Befehle ausführen, zum Beispiel können Sie sich mit @code{,bt} eine Rückverfolgung (»Backtrace«) anzeigen lassen und mit @code{,locals} die Werte lokaler Variabler anzeigen lassen. Im Allgemeinen können Sie mit Befehlen den Zustand des Programms inspizieren. Siehe @xref{Debug Commands,,, guile, GNU Guile Reference Manual} für eine Liste verfügbarer Befehle zur Fehlersuche."
+msgstr "Nach dem Melden des Fehlers wird der Debugger von Guile zur Fehlersuche gestartet. Von dort können Sie Befehle ausführen, zum Beispiel können Sie sich mit @code{,bt} eine Rückverfolgung (»Backtrace«) anzeigen lassen und mit @code{,locals} die Werte lokaler Variabler anzeigen lassen. Im Allgemeinen können Sie mit Befehlen den Zustand des Programms inspizieren. Siehe @ref{Debug Commands,,, guile, GNU Guile Reference Manual} für eine Liste verfügbarer Befehle zur Fehlersuche."
 
 #. type: quotation
 #: doc/guix.texi:22609
 msgid "All the actions above, except @code{build} and @code{init}, can use KVM support in the Linux-libre kernel.  Specifically, if the machine has hardware virtualization support, the corresponding KVM kernel module should be loaded, and the @file{/dev/kvm} device node must exist and be readable and writable by the user and by the build users of the daemon (@pxref{Build Environment Setup})."
-msgstr "Alle oben genannten Aktionen außer @code{build} und @code{init} können KVM-Unterstützung im Kernel Linux-libre ausnutzen. Insbesondere sollte, wenn die Maschine Hardware-Virtualisierung unterstützt, das entsprechende KVM-Kernelmodul geladen sein und das Gerät @file{/dev/kvm} muss dann existieren und dem Benutzer und den Erstellungsbenutzern des Daemons müssen Berechtigungen zum Lesen und Schreiben darauf gegeben werden (@pxref{Build Environment Setup})."
+msgstr "Alle oben genannten Aktionen außer @code{build} und @code{init} können KVM-Unterstützung im Kernel Linux-libre ausnutzen. Insbesondere sollte, wenn die Maschine Hardware-Virtualisierung unterstützt, das entsprechende KVM-Kernelmodul geladen sein und das Gerät @file{/dev/kvm} muss dann existieren und dem Benutzer und den Erstellungsbenutzern des Daemons müssen Berechtigungen zum Lesen und Schreiben darauf gegeben werden (siehe @ref{Build Environment Setup})."
 
 #. type: Plain text
 #: doc/guix.texi:22615
@@ -40553,7 +40767,7 @@ msgstr "list-generations"
 #. type: table
 #: doc/guix.texi:22623
 msgid "List a summary of each generation of the operating system available on disk, in a human-readable way.  This is similar to the @option{--list-generations} option of @command{guix package} (@pxref{Invoking guix package})."
-msgstr "Eine für Menschen verständliche Zusammenfassung jeder auf der Platte verfügbaren Generation des Betriebssystems ausgeben. Dies ähnelt der Befehlszeilenoption @option{--list-generations} von @command{guix package} (@pxref{Invoking guix package})."
+msgstr "Eine für Menschen verständliche Zusammenfassung jeder auf der Platte verfügbaren Generation des Betriebssystems ausgeben. Dies ähnelt der Befehlszeilenoption @option{--list-generations} von @command{guix package} (siehe @ref{Invoking guix package})."
 
 #. type: table
 #: doc/guix.texi:22628
@@ -40585,7 +40799,7 @@ msgstr "extension-graph"
 #. type: table
 #: doc/guix.texi:22647
 msgid "Emit in Dot/Graphviz format to standard output the @dfn{service extension graph} of the operating system defined in @var{file} (@pxref{Service Composition}, for more information on service extensions.)"
-msgstr "Im Dot-/Graphviz-Format auf die Standardausgabe den @dfn{Diensterweiterungsgraphen} des in der @var{Datei} definierten Betriebssystems ausgeben (@pxref{Service Composition}, für mehr Informationen zu Diensterweiterungen)."
+msgstr "Im Dot-/Graphviz-Format auf die Standardausgabe den @dfn{Diensterweiterungsgraphen} des in der @var{Datei} definierten Betriebssystems ausgeben (siehe @ref{Service Composition} für mehr Informationen zu Diensterweiterungen)."
 
 #. type: table
 #: doc/guix.texi:22649
@@ -40617,29 +40831,29 @@ msgstr "shepherd-graph"
 #. type: table
 #: doc/guix.texi:22662
 msgid "Emit in Dot/Graphviz format to standard output the @dfn{dependency graph} of shepherd services of the operating system defined in @var{file}.  @xref{Shepherd Services}, for more information and for an example graph."
-msgstr "Im Dot-/Graphviz-Format auf die Standardausgabe den @dfn{Abhängigkeitsgraphen} der Shepherd-Dienste des in der @var{Datei} definierten Betriebssystems ausgeben. Siehe @xref{Shepherd Services} für mehr Informationen sowie einen Beispielgraphen."
+msgstr "Im Dot-/Graphviz-Format auf die Standardausgabe den @dfn{Abhängigkeitsgraphen} der Shepherd-Dienste des in der @var{Datei} definierten Betriebssystems ausgeben. Siehe @ref{Shepherd Services} für mehr Informationen sowie einen Beispielgraphen."
 
 #. type: subsection
 #: doc/guix.texi:22666
 #, no-wrap
 msgid "Running GuixSD in a Virtual Machine"
-msgstr ""
+msgstr "GuixSD in einer virtuellen Maschine betreiben"
 
 #. type: Plain text
 #: doc/guix.texi:22676
 msgid "To run GuixSD in a virtual machine (VM), one can either use the pre-built GuixSD VM image distributed at @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz} , or build their own virtual machine image using @command{guix system vm-image} (@pxref{Invoking guix system}).  The returned image is in qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can efficiently use."
-msgstr ""
+msgstr "Um GuixSD in einer virtuellen Maschine (VM) auszuführen, können Sie entweder das vorerstellte GuixSD-VM-Abbild benutzen, das auf @indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{System}.xz} angeboten wird, oder Ihr eigenes Abbild erstellen, indem Sie @command{guix system vm-image} benutzen (siehe @ref{Invoking guix system}). Das Abbild wird im qcow2-Format zurückgeliefert, das der @uref{http://qemu.org/, QEMU-Emulator} effizient benutzen kann."
 
 #. type: cindex
 #: doc/guix.texi:22677
 #, no-wrap
 msgid "QEMU"
-msgstr ""
+msgstr "QEMU"
 
 #. type: Plain text
 #: doc/guix.texi:22684
 msgid "If you built your own image, you must copy it out of the store (@pxref{The Store}) and give yourself permission to write to the copy before you can use it.  When invoking QEMU, you must choose a system emulator that is suitable for your hardware platform.  Here is a minimal QEMU invocation that will boot the result of @command{guix system vm-image} on x86_64 hardware:"
-msgstr ""
+msgstr "Wenn Sie Ihr eigenes Abbild erstellen haben lassen, müssen Sie es aus dem Store herauskopieren (siehe @ref{The Store}) und sich darauf Schreibberechtigung geben, um die Kopie benutzen zu können. Wenn Sie QEMU aufrufen, müssen Sie einen Systememulator angeben, der für Ihre Hardware-Plattform passend ist. Hier ist ein minimaler QEMU-Aufruf, der das Ergebnis von @command{guix system vm-image} auf x86_64-Hardware bootet:"
 
 #. type: example
 #: doc/guix.texi:22689
@@ -40649,131 +40863,134 @@ msgid ""
 "   -net user -net nic,model=virtio \\\n"
 "   -enable-kvm -m 256 /tmp/qemu-image\n"
 msgstr ""
+"$ qemu-system-x86_64 \\\n"
+"   -net user -net nic,model=virtio \\\n"
+"   -enable-kvm -m 256 /tmp/qemu-image\n"
 
 #. type: Plain text
 #: doc/guix.texi:22692
 msgid "Here is what each of these options means:"
-msgstr ""
+msgstr "Die Bedeutung jeder dieser Befehlszeilenoptionen ist folgende:"
 
 #. type: item
 #: doc/guix.texi:22694
 #, no-wrap
 msgid "qemu-system-x86_64"
-msgstr ""
+msgstr "qemu-system-x86_64"
 
 #. type: table
 #: doc/guix.texi:22697
 msgid "This specifies the hardware platform to emulate.  This should match the host."
-msgstr ""
+msgstr "Hiermit wird die zu emulierende Hardware-Plattform angegeben. Sie sollte zum Wirtsrechner passen."
 
 #. type: item
 #: doc/guix.texi:22698
 #, no-wrap
 msgid "-net user"
-msgstr ""
+msgstr "-net user"
 
 #. type: table
 #: doc/guix.texi:22702
 msgid "Enable the unprivileged user-mode network stack.  The guest OS can access the host but not vice versa.  This is the simplest way to get the guest OS online."
-msgstr ""
+msgstr "Den als Nutzer ausgeführten Netzwerkstapel (»User-Mode Network Stack«) ohne besondere Berechtigungen benutzen. Mit dieser Art von Netzwerkanbindung kann das Gast-Betriebssystem eine Verbindung zum Wirt aufbauen, aber nicht andersherum. Es ist die einfachste Art, das Gast-Betriebssystem mit dem Internet zu verbinden."
 
 #. type: item
 #: doc/guix.texi:22703
 #, no-wrap
 msgid "-net nic,model=virtio"
-msgstr ""
+msgstr "-net nic,model=virtio"
 
 #. type: table
 #: doc/guix.texi:22708
 msgid "You must create a network interface of a given model.  If you do not create a NIC, the boot will fail.  Assuming your hardware platform is x86_64, you can get a list of available NIC models by running @command{qemu-system-x86_64 -net nic,model=help}."
-msgstr ""
+msgstr "Sie müssen ein Modell einer zu emulierenden Netzwerkschnittstelle angeben. Wenn Sie keine Netzwerkkarte (englisch »Network Interface Card«, kurz NIC) erzeugen lassen, wird das Booten fehlschlagen. Falls Ihre Hardware-Plattform x86_64 ist, können Sie eine Liste verfügbarer NIC-Modelle einsehen, indem Sie @command{qemu-system-x86_64 -net nic,model=help} ausführen."
 
 #. type: item
 #: doc/guix.texi:22709
 #, no-wrap
 msgid "-enable-kvm"
-msgstr ""
+msgstr "-enable-kvm"
 
 #. type: table
 #: doc/guix.texi:22713
 msgid "If your system has hardware virtualization extensions, enabling the virtual machine support (KVM) of the Linux kernel will make things run faster."
-msgstr ""
+msgstr "Wenn Ihr System über Erweiterungen zur Hardware-Virtualisierung verfügt, beschleunigt es die Dinge, wenn Sie die Virtualisierungsunterstützung »KVM« des Linux-Kernels benutzen lassen."
 
 #. type: item
 #: doc/guix.texi:22714
 #, no-wrap
 msgid "-m 256"
-msgstr ""
+msgstr "-m 256"
 
 #. type: table
 #: doc/guix.texi:22717
 msgid "RAM available to the guest OS, in mebibytes.  Defaults to 128@tie{}MiB, which may be insufficient for some operations."
-msgstr ""
+msgstr "Die Menge an Arbeitsspeicher (RAM), die dem Gastbetriebssystem zur Verfügung stehen soll, in Mebibytes. Vorgegeben wären 128@tie{}MiB, was für einige Operationen zu wenig sein könnte."
 
 #. type: item
 #: doc/guix.texi:22718
 #, no-wrap
 msgid "/tmp/qemu-image"
-msgstr ""
+msgstr "/tmp/qemu-image"
 
 #. type: table
 #: doc/guix.texi:22720
 msgid "The file name of the qcow2 image."
-msgstr ""
+msgstr "Der Dateiname des qcow2-Abbilds."
 
 #. type: Plain text
 #: doc/guix.texi:22730
 msgid "The default @command{run-vm.sh} script that is returned by an invocation of @command{guix system vm} does not add a @command{-net user} flag by default.  To get network access from within the vm add the @code{(dhcp-client-service)} to your system definition and start the VM using @command{`guix system vm config.scm` -net user}.  An important caveat of using @command{-net user} for networking is that @command{ping} will not work, because it uses the ICMP protocol.  You'll have to use a different command to check for network connectivity, for example @command{guix download}."
-msgstr ""
+msgstr "Das voreingestellte @command{run-vm.sh}-Skript, das durch einen Aufruf von @command{guix system vm} erzeugt wird, fügt keine Befehlszeilenoption @command{-net user} an. Um innerhalb der virtuellen Maschine Netzwerkzugang zu haben, fügen Sie den @code{(dhcp-client-service)} zu Ihrer Systemdefinition hinzu und starten Sie die VM mit @command{`guix system vm config.scm` -net user}. Erwähnt werden sollte der Nachteil, dass bei Verwendung von @command{-net user} zur Netzanbindung der @command{ping}-Befehl @emph{nicht} funktionieren wird, weil dieser das ICMP-Protokoll braucht. Sie werden also einen anderen Befehl benutzen müssen, um auszuprobieren, ob Sie mit dem Netzwerk verbunden sind, zum Beispiel @command{guix download}."
 
 #. type: subsubsection
 #: doc/guix.texi:22731
 #, no-wrap
 msgid "Connecting Through SSH"
-msgstr ""
+msgstr "Verbinden über SSH"
 
 #. type: Plain text
 #: doc/guix.texi:22740
 msgid "To enable SSH inside a VM you need to add a SSH server like @code{(dropbear-service)} or @code{(lsh-service)} to your VM.  The @code{(lsh-service}) doesn't currently boot unsupervised.  It requires you to type some characters to initialize the randomness generator.  In addition you need to forward the SSH port, 22 by default, to the host.  You can do this with"
-msgstr ""
+msgstr "Um SSH in der virtuellen Maschine zu aktivieren, müssen Sie einen SSH-Server wie den @code{(dropbear-service)} oder den @code{(lsh-service)} zu ihr hinzufügen. Der @code{(lsh-service}) kann derzeit nicht ohne Benutzerinteraktion starten, weil der Benutzer erst ein paar Zeichen eintippen muss, um den Zufallsgenerator zu initialisieren. Des Weiteren müssen Sie den SSH-Port für das Wirtssystem freigeben (standardmäßig hat er die Portnummer 22). Das geht zum Beispiel so:"
 
 #. type: example
 #: doc/guix.texi:22743
 #, no-wrap
 msgid "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
-msgstr ""
+msgstr "`guix system vm config.scm` -net user,hostfwd=tcp::10022-:22\n"
 
 #. type: Plain text
 #: doc/guix.texi:22746
 msgid "To connect to the VM you can run"
-msgstr ""
+msgstr "Um sich mit der virtuellen Maschine zu verbinden, benutzen Sie diesen Befehl:"
 
 #. type: example
 #: doc/guix.texi:22749
 #, no-wrap
 msgid "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
-msgstr ""
+msgstr "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022\n"
 
 #. type: Plain text
 #: doc/guix.texi:22756
 msgid "The @command{-p} tells @command{ssh} the port you want to connect to.  @command{-o UserKnownHostsFile=/dev/null} prevents @command{ssh} from complaining every time you modify your @command{config.scm} file and the @command{-o StrictHostKeyChecking=no} prevents you from having to allow a connection to an unknown host every time you connect."
-msgstr ""
+msgstr "Mit @command{-p} wird @command{ssh} der Port mitgeteilt, über den eine Verbindung hergestellt werden soll. @command{-o UserKnownHostsFile=/dev/null} verhindert, dass @command{ssh} sich bei jeder Modifikation Ihrer @command{config.scm}-Datei beschwert, ein anderer bekannter Rechner sei erwartet worden, und @command{-o StrictHostKeyChecking=no} verhindert, dass Sie die Verbindung zu unbekannten Rechnern jedes Mal bestätigen müssen, wenn Sie sich verbinden."
 
 #. type: subsubsection
 #: doc/guix.texi:22757
 #, no-wrap
 msgid "Using @command{virt-viewer} with Spice"
-msgstr ""
+msgstr "@command{virt-viewer} mit Spice benutzen"
 
 #. type: Plain text
 #: doc/guix.texi:22763
 msgid "As an alternative to the default @command{qemu} graphical client you can use the @command{remote-viewer} from the @command{virt-viewer} package.  To connect pass the @command{-spice port=5930,disable-ticketing} flag to @command{qemu}.  See previous section for further information on how to do this."
-msgstr ""
+msgstr "Eine Alternative zur grafischen Schnittstelle des standardmäßigen @command{qemu} ist, sich mit Hilfe des @command{remote-viewer} aus dem Paket @command{virt-viewer} zu verbinden. Um eine Verbindung herzustellen, übergeben Sie die Befehlszeilenoption @command{-spice port=5930,disable-ticketing} an @command{qemu}. Siehe den vorherigen Abschnitt für weitere Informationen, wie Sie das übergeben."
 
 #. type: Plain text
 #: doc/guix.texi:22766
 msgid "Spice also allows you to do some nice stuff like share your clipboard with your VM.  To enable that you'll also have to pass the following flags to @command{qemu}:"
-msgstr ""
+msgstr "Spice macht es auch möglich, ein paar nette Hilfestellungen zu benutzen, zum Beispiel können Sie Ihren Zwischenspeicher zum Kopieren und Einfügen (Ihr »Clipboard«) mit Ihrer virtuellen Maschine teilen. Um das zu aktivieren, werden Sie die folgenden Befehlszeilennoptionen zusätzlich an @command{qemu} übergeben müssen:"
 
 #. type: example
 #: doc/guix.texi:22772
@@ -40784,80 +41001,84 @@ msgid ""
 "-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
 "name=com.redhat.spice.0\n"
 msgstr ""
+"-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5\n"
+"-chardev spicevmc,name=vdagent,id=vdagent\n"
+"-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\n"
+"name=com.redhat.spice.0\n"
 
 #. type: Plain text
 #: doc/guix.texi:22775
 msgid "You'll also need to add the @pxref{Miscellaneous Services, Spice service}."
-msgstr ""
+msgstr "Sie werden auch den @ref{Miscellaneous Services, Spice-Dienst} hinzufügen müssen."
 
 #. type: Plain text
 #: doc/guix.texi:22782
 msgid "The previous sections show the available services and how one can combine them in an @code{operating-system} declaration.  But how do we define them in the first place? And what is a service anyway?"
-msgstr ""
+msgstr "Der vorhergehende Abschnitt präsentiert die verfügbaren Dienste und wie man sie in einer @code{operating-system}-Deklaration kombiniert. Aber wie definieren wir solche Dienste eigentlich? Und was ist überhaupt ein Dienst?"
 
 #. type: cindex
 #: doc/guix.texi:22794
 #, no-wrap
 msgid "daemons"
-msgstr ""
+msgstr "Daemons"
 
 #. type: Plain text
 #: doc/guix.texi:22807
 msgid "Here we define a @dfn{service} as, broadly, something that extends the functionality of the operating system.  Often a service is a process---a @dfn{daemon}---started when the system boots: a secure shell server, a Web server, the Guix build daemon, etc.  Sometimes a service is a daemon whose execution can be triggered by another daemon---e.g., an FTP server started by @command{inetd} or a D-Bus service activated by @command{dbus-daemon}.  Occasionally, a service does not map to a daemon.  For instance, the ``account'' service collects user accounts and makes sure they exist when the system runs; the ``udev'' service collects device management rules and makes them available to the eudev daemon; the @file{/etc} service populates the @file{/etc} directory of the system."
-msgstr ""
+msgstr "Wir definieren hier einen @dfn{Dienst} (englisch »Service«) als, grob gesagt, etwas, das die Funktionalität des Betriebssystems erweitert. Oft ist ein Dienst ein Prozess — ein sogenannter @dfn{Daemon} —, der beim Hochfahren des Systems gestartet wird: ein Secure-Shell-Server, ein Web-Server, der Guix-Erstellungsdaemon usw. Manchmal ist ein Dienst ein Daemon, dessen Ausführung von einem anderen Daemon ausgelöst wird — zum Beispiel wird ein FTP-Server von @command{inetd} gestartet oder ein D-Bus-Dienst durch @command{dbus-daemon} aktiviert. Manchmal entspricht ein Dienst aber auch keinem Daemon. Zum Beispiel nimmt sich der Benutzerkonten-Dienst (»account service«) die Benutzerkonten und sorgt dafür, dass sie existieren, wenn das System läuft. Der »udev«-Dienst sammelt die Regeln zur Geräteverwaltung an und macht diese für den eudev-Daemon verfügbar. Der @file{/etc}-Dienst fügt Dateien in das Verzeichnis @file{/etc} des Systems ein."
 
 #. type: cindex
 #: doc/guix.texi:22808
 #, no-wrap
 msgid "service extensions"
-msgstr ""
+msgstr "Diensterweiterungen"
 
 #. type: Plain text
 #: doc/guix.texi:22820
 msgid "GuixSD services are connected by @dfn{extensions}.  For instance, the secure shell service @emph{extends} the Shepherd---the GuixSD initialization system, running as PID@tie{}1---by giving it the command lines to start and stop the secure shell daemon (@pxref{Networking Services, @code{lsh-service}}); the UPower service extends the D-Bus service by passing it its @file{.service} specification, and extends the udev service by passing it device management rules (@pxref{Desktop Services, @code{upower-service}}); the Guix daemon service extends the Shepherd by passing it the command lines to start and stop the daemon, and extends the account service by passing it a list of required build user accounts (@pxref{Base Services})."
-msgstr ""
+msgstr "GuixSD-Dienste werden durch @dfn{Erweiterungen} (»Extensions«) miteinander verbunden. Zum Beispiel @emph{erweitert} der Secure-Shell-Dienst den Shepherd — Shepherd ist das Initialisierungssystem »init« von GuixSD, was als PID@tie{}1 läuft —, indem es ihm die Befehlszeilen zum Starten und Stoppen des Secure-Shell-Daemons übergibt (siehe @ref{Networking Services, @code{lsh-service}}). Der UPower-Dienst erweitert den D-Bus-Dienst, indem es ihm seine @file{.service}-Spezifikation übergibt, und erweitert den udev-Dienst, indem es ihm Geräteverwaltungsregeln übergibt (siehe @ref{Desktop Services, @code{upower-service}}). Der Guix-Daemon-Dienst erweitert den Shepherd, indem er ihm die Befehlszeilen zum Starten und Stoppen des Daemons übergibt, und er erweitert den Benutzerkontendienst (»account service«), indem er ihm eine Liste der benötigten Erstellungsbenutzerkonten übergibt (siehe @ref{Base Services})."
 
 #. type: Plain text
 #: doc/guix.texi:22824
 msgid "All in all, services and their ``extends'' relations form a directed acyclic graph (DAG).  If we represent services as boxes and extensions as arrows, a typical system might provide something like this:"
-msgstr ""
+msgstr "Alles in allem bilden Dienste und ihre »Erweitert«-Relationen einen gerichteten azyklischen Graphen (englisch »Directed Acyclic Graph«, kurz DAG). Wenn wir Dienste als Kästen und Erweiterungen als Pfeile darstellen, könnte ein typisches System so etwas hier anbieten:"
 
 #. type: Plain text
 #: doc/guix.texi:22826
 msgid "@image{images/service-graph,,5in,Typical service extension graph.}"
-msgstr ""
+msgstr "@image{images/service-graph,,5in,Typischer Diensterweiterungsgraph}"
 
 #. type: cindex
 #: doc/guix.texi:22827
 #, no-wrap
 msgid "system service"
-msgstr ""
+msgstr "Systemdienst"
 
 #. type: Plain text
 #: doc/guix.texi:22835
 msgid "At the bottom, we see the @dfn{system service}, which produces the directory containing everything to run and boot the system, as returned by the @command{guix system build} command.  @xref{Service Reference}, to learn about the other service types shown here.  @xref{system-extension-graph, the @command{guix system extension-graph} command}, for information on how to generate this representation for a particular operating system definition."
-msgstr ""
+msgstr "Ganz unten sehen wir den @dfn{Systemdienst}, der das Verzeichnis erzeugt, in dem alles zum Ausführen und Hochfahren enthalten ist, so wie es der Befehl @command{guix system build} liefert. Siehe @ref{Service Reference}, um mehr über die anderen hier gezeigten Diensttypen zu erfahren. Beim @ref{system-extension-graph, Befehl @command{guix system extension-graph}} finden Sie Informationen darüber, wie Sie diese Darstellung für eine Betriebssystemdefinition Ihrer Wahl generieren lassen."
 
 #. type: cindex
 #: doc/guix.texi:22836
 #, no-wrap
 msgid "service types"
-msgstr ""
+msgstr "Diensttypen"
 
 #. type: Plain text
 #: doc/guix.texi:22842
 msgid "Technically, developers can define @dfn{service types} to express these relations.  There can be any number of services of a given type on the system---for instance, a system running two instances of the GNU secure shell server (lsh) has two instances of @var{lsh-service-type}, with different parameters."
-msgstr ""
+msgstr "Technisch funktioniert es so, dass Entwickler @dfn{Diensttypen} definieren können, um diese Beziehungen auszudrücken. Im System kann es beliebig viele Dienste zu jedem Typ geben — zum Beispiel können auf einem System zwei Instanzen des GNU-Secure-Shell-Servers (lsh) laufen, mit zwei Instanzen des Diensttyps @var{lsh-service-type} mit je unterschiedlichen Parametern."
 
 #. type: Plain text
 #: doc/guix.texi:22845
 msgid "The following section describes the programming interface for service types and services."
-msgstr ""
+msgstr "Der folgende Abschnitt beschreibt die Programmierschnittstelle für Diensttypen und Dienste."
 
 #. type: Plain text
 #: doc/guix.texi:22852
 msgid "A @dfn{service type} is a node in the DAG described above.  Let us start with a simple example, the service type for the Guix build daemon (@pxref{Invoking guix-daemon}):"
-msgstr ""
+msgstr "Ein @dfn{Diensttyp} (»service type«) ist ein Knoten im oben beschriebenen ungerichteten azyklischen Graphen (DAG). Fangen wir an mit einem einfachen Beispiel: dem Diensttyp für den Guix-Erstellungsdaemon (siehe @ref{Invoking guix-daemon}):"
 
 #. type: example
 #: doc/guix.texi:22862
@@ -40872,74 +41093,82 @@ msgid ""
 "          (service-extension activation-service-type guix-activation)))\n"
 "   (default-value (guix-configuration))))\n"
 msgstr ""
+"(define guix-service-type\n"
+"  (service-type\n"
+"   (name 'guix)\n"
+"   (extensions\n"
+"    (list (service-extension shepherd-root-service-type guix-shepherd-service)\n"
+"          (service-extension account-service-type guix-accounts)\n"
+"          (service-extension activation-service-type guix-activation)))\n"
+"   (default-value (guix-configuration))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22866
 msgid "It defines three things:"
-msgstr ""
+msgstr "Damit sind drei Dinge definiert:"
 
 #. type: enumerate
 #: doc/guix.texi:22870
 msgid "A name, whose sole purpose is to make inspection and debugging easier."
-msgstr ""
+msgstr "Ein Name, der nur dazu da ist, dass man leichter die Abläufe verstehen und Fehler suchen kann."
 
 #. type: enumerate
 #: doc/guix.texi:22875
 msgid "A list of @dfn{service extensions}, where each extension designates the target service type and a procedure that, given the parameters of the service, returns a list of objects to extend the service of that type."
-msgstr ""
+msgstr "Eine Liste von @dfn{Diensterweiterungen} (»service extensions«). Jede Erweiterung gibt den Ziel-Diensttyp an sowie eine Prozedur, die für gegebene Parameter für den Dienst eine Liste von Objekten zurückliefert, um den Dienst dieses Typs zu erweitern."
 
 #. type: enumerate
 #: doc/guix.texi:22878
 msgid "Every service type has at least one service extension.  The only exception is the @dfn{boot service type}, which is the ultimate service."
-msgstr ""
+msgstr "Jeder Diensttyp benutzt mindestens eine Diensterweiterung. Die einzige Ausnahme ist der @dfn{boot service type}, der die Grundlage aller Dienste ist."
 
 #. type: enumerate
 #: doc/guix.texi:22881
 msgid "Optionally, a default value for instances of this type."
-msgstr ""
+msgstr "Optional kann ein Vorgabewert für Instanzen dieses Typs angegeben werden."
 
 #. type: Plain text
 #: doc/guix.texi:22884
 msgid "In this example, @var{guix-service-type} extends three services:"
-msgstr ""
+msgstr "In diesem Beispiel werden durch @var{guix-service-type} drei Dienste erweitert:"
 
 #. type: item
 #: doc/guix.texi:22886
 #, no-wrap
 msgid "shepherd-root-service-type"
-msgstr ""
+msgstr "shepherd-root-service-type"
 
 #. type: table
 #: doc/guix.texi:22891
 msgid "The @var{guix-shepherd-service} procedure defines how the Shepherd service is extended.  Namely, it returns a @code{<shepherd-service>} object that defines how @command{guix-daemon} is started and stopped (@pxref{Shepherd Services})."
-msgstr ""
+msgstr "Die Prozedur @var{guix-shepherd-service} definiert, wie der Shepherd-Dienst erweitert wird, und zwar liefert sie ein @code{<shepherd-service>}-Objekt, womit definiert wird, wie der @command{guix-daemon} gestartet und gestoppt werden kann (siehe @ref{Shepherd Services})."
 
 #. type: item
 #: doc/guix.texi:22892
 #, no-wrap
 msgid "account-service-type"
-msgstr ""
+msgstr "account-service-type"
 
 #. type: table
 #: doc/guix.texi:22897
 msgid "This extension for this service is computed by @var{guix-accounts}, which returns a list of @code{user-group} and @code{user-account} objects representing the build user accounts (@pxref{Invoking guix-daemon})."
-msgstr ""
+msgstr "Diese Erweiterung des Dienstes wird durch @var{guix-accounts} berechnet, eine Prozedur, die eine Liste von @code{user-group}- und @code{user-account}-Objekten liefert, die die Erstellungsbenutzerkonten repräsentieren (siehe @ref{Invoking guix-daemon})."
 
 #. type: item
 #: doc/guix.texi:22898
 #, no-wrap
 msgid "activation-service-type"
-msgstr ""
+msgstr "activation-service-type"
 
 #. type: table
 #: doc/guix.texi:22902
 msgid "Here @var{guix-activation} is a procedure that returns a gexp, which is a code snippet to run at ``activation time''---e.g., when the service is booted."
-msgstr ""
+msgstr "Hier ist @var{guix-activation} eine Prozedur, die einen G-Ausdruck liefert. Dieser ist ein Code-Schnipsel, das zur »Aktivierungszeit« ausgeführt werden soll — z.B. wenn der Dienst hochgefahren wird."
 
 #. type: Plain text
 #: doc/guix.texi:22905
 msgid "A service of this type is instantiated like this:"
-msgstr ""
+msgstr "Ein Dienst dieses Typs wird dann so instanziiert:"
 
 #. type: example
 #: doc/guix.texi:22911
@@ -40950,27 +41179,31 @@ msgid ""
 "           (build-accounts 5)\n"
 "           (use-substitutes? #f)))\n"
 msgstr ""
+"(service guix-service-type\n"
+"         (guix-configuration\n"
+"           (build-accounts 5)\n"
+"           (use-substitutes? #f)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22919
 msgid "The second argument to the @code{service} form is a value representing the parameters of this specific service instance.  @xref{guix-configuration-type, @code{guix-configuration}}, for information about the @code{guix-configuration} data type.  When the value is omitted, the default value specified by @code{guix-service-type} is used:"
-msgstr ""
+msgstr "Das zweite Argument an die @code{service}-Form ist ein Wert, der die Parameter dieser bestimmten Dienstinstanz repräsentiert. Siehe @ref{guix-configuration-type, @code{guix-configuration}} für Informationen über den @code{guix-configuration}-Datentyp. Wird kein Wert angegeben, wird die Vorgabe verwendet, die im @code{guix-service-type} angegeben wurde:"
 
 #. type: example
 #: doc/guix.texi:22922
 #, no-wrap
 msgid "(service guix-service-type)\n"
-msgstr ""
+msgstr "(service guix-service-type)\n"
 
 #. type: Plain text
 #: doc/guix.texi:22926
 msgid "@var{guix-service-type} is quite simple because it extends other services but is not extensible itself."
-msgstr ""
+msgstr "@var{guix-service-type} ist ziemlich einfach, weil es andere Dienste erweitert, aber selbst nicht erweitert werden kann."
 
 #. type: Plain text
 #: doc/guix.texi:22930
 msgid "The service type for an @emph{extensible} service looks like this:"
-msgstr ""
+msgstr "Der Diensttyp eines @emph{erweiterbaren} Dienstes sieht ungefähr so aus:"
 
 #. type: example
 #: doc/guix.texi:22937
@@ -40983,6 +41216,12 @@ msgid ""
 "                                          udev-shepherd-service)))\n"
 "\n"
 msgstr ""
+"(define udev-service-type\n"
+"  (service-type (name 'udev)\n"
+"                (extensions\n"
+"                 (list (service-extension shepherd-root-service-type\n"
+"                                          udev-shepherd-service)))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:22945
@@ -40996,95 +41235,102 @@ msgid ""
 "                              (udev udev)   ;the udev package to use\n"
 "                              (rules (append initial-rules rules)))))))))\n"
 msgstr ""
+"                (compose concatenate)     ;Liste der Regeln zusammenfügen\n"
+"                (extend (lambda (config rules) ;Konfiguration und Regeln\n"
+"                          (match config\n"
+"                            (($ <udev-configuration> udev initial-rules)\n"
+"                             (udev-configuration\n"
+"                              (udev udev) ;zu benutzendes udev-Paket\n"
+"                              (rules (append initial-rules rules)))))))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:22951
 msgid "This is the service type for the @uref{https://wiki.gentoo.org/wiki/Project:Eudev, eudev device management daemon}.  Compared to the previous example, in addition to an extension of @var{shepherd-root-service-type}, we see two new fields:"
-msgstr ""
+msgstr "Dies ist der Diensttyp für den @uref{https://wiki.gentoo.org/wiki/Project:Eudev, Geräteverwaltungsdaemon eudev}. Verglichen mit dem vorherigen Beispiel sehen wir neben einer Erweiterung des @var{shepherd-root-service-type} auch zwei neue Felder."
 
 #. type: item
 #: doc/guix.texi:22953
 #, no-wrap
 msgid "compose"
-msgstr ""
+msgstr "compose"
 
 #. type: table
 #: doc/guix.texi:22956
 msgid "This is the procedure to @dfn{compose} the list of extensions to services of this type."
-msgstr ""
+msgstr "Die Prozedur, um die Liste der jeweiligen Erweiterungen für den Dienst dieses Typs zu einem Objekt zusammenzustellen (zu »komponieren«, englisch @dfn{compose})."
 
 #. type: table
 #: doc/guix.texi:22959
 msgid "Services can extend the udev service by passing it lists of rules; we compose those extensions simply by concatenating them."
-msgstr ""
+msgstr "Dienste können den udev-Dienst erweitern, indem sie eine Liste von Regeln (»Rules«) an ihn übergeben; wir komponieren mehrere solche Erweiterungen, indem wir die Listen einfach zusammenfügen."
 
 #. type: item
 #: doc/guix.texi:22960
 #, no-wrap
 msgid "extend"
-msgstr ""
+msgstr "extend"
 
 #. type: table
 #: doc/guix.texi:22963
 msgid "This procedure defines how the value of the service is @dfn{extended} with the composition of the extensions."
-msgstr ""
+msgstr "Diese Prozedur definiert, wie der Wert des Dienstes um die Komposition mit Erweiterungen erweitert (»extended«) werden kann."
 
 #. type: table
 #: doc/guix.texi:22968
 msgid "Udev extensions are composed into a list of rules, but the udev service value is itself a @code{<udev-configuration>} record.  So here, we extend that record by appending the list of rules it contains to the list of contributed rules."
-msgstr ""
+msgstr "Udev-Erweiterungen werden zu einer einzigen Liste von Regeln komponiert, aber der Wert des udev-Dienstes ist ein @code{<udev-configuration>}-Verbundsobjekt. Deshalb erweitern wir diesen Verbund, indem wir die Liste der von Erweiterungen beigetragenen Regeln an die im Verbund gespeicherte Liste der Regeln anhängen."
 
 #. type: table
 #: doc/guix.texi:22974
 msgid "This is a string giving an overview of the service type.  The string can contain Texinfo markup (@pxref{Overview,,, texinfo, GNU Texinfo}).  The @command{guix system search} command searches these strings and displays them (@pxref{Invoking guix system})."
-msgstr ""
+msgstr "Diese Zeichenkette gibt einen Überblick über den Systemtyp. Die Zeichenkette darf mit Texinfo ausgezeichnet werden (siehe @ref{Overview,,, texinfo, GNU Texinfo}). Der Befehl @command{guix system search} durchsucht diese Zeichenketten und zeigt sie an (siehe @ref{Invoking guix system})."
 
 #. type: Plain text
 #: doc/guix.texi:22979
 msgid "There can be only one instance of an extensible service type such as @var{udev-service-type}.  If there were more, the @code{service-extension} specifications would be ambiguous."
-msgstr ""
+msgstr "Es kann nur eine Instanz eines erweiterbaren Diensttyps wie @var{udev-service-type} geben. Wenn es mehrere gäbe, wäre es mehrdeutig, welcher Dienst durch die @code{service-extension} erweitert werden sollte."
 
 #. type: Plain text
 #: doc/guix.texi:22982
 msgid "Still here? The next section provides a reference of the programming interface for services."
-msgstr ""
+msgstr "Sind Sie noch da? Der nächste Abschnitt gibt Ihnen eine Referenz der Programmierschnittstelle für Dienste."
 
 #. type: Plain text
 #: doc/guix.texi:22990
 msgid "We have seen an overview of service types (@pxref{Service Types and Services}).  This section provides a reference on how to manipulate services and service types.  This interface is provided by the @code{(gnu services)} module."
-msgstr ""
+msgstr "Wir haben bereits einen Überblick über Diensttypen gesehen (siehe @ref{Service Types and Services}). Dieser Abschnitt hier stellt eine Referenz dar, wie Dienste und Diensttypen manipuliert werden können. Diese Schnittstelle wird vom Modul @code{(gnu services)} angeboten."
 
 #. type: deffn
 #: doc/guix.texi:22991
 #, no-wrap
 msgid "{Scheme Procedure} service @var{type} [@var{value}]"
-msgstr ""
+msgstr "{Scheme-Prozedur} service @var{Typ} [@var{Wert}]"
 
 #. type: deffn
 #: doc/guix.texi:22995
 msgid "Return a new service of @var{type}, a @code{<service-type>} object (see below.)  @var{value} can be any object; it represents the parameters of this particular service instance."
-msgstr ""
+msgstr "Liefert einen neuen Dienst des angegebenen @var{Typ}s. Der @var{Typ} muss als @code{<service-type>}-Objekt angegeben werden (siehe unten). Als @var{Wert} kann ein beliebiges Objekt angegeben werden, das die Parameter dieser bestimmten Instanz dieses Dienstes repräsentiert."
 
 #. type: deffn
 #: doc/guix.texi:22999
 msgid "When @var{value} is omitted, the default value specified by @var{type} is used; if @var{type} does not specify a default value, an error is raised."
-msgstr ""
+msgstr "Wenn kein @var{Wert} angegeben wird, wird der vom @var{Typ} festgelegte Vorgabewert verwendet; verfügt der @var{Typ} über keinen Vorgabewert, dann wird ein Fehler gemeldet."
 
 #. type: deffn
 #: doc/guix.texi:23001
 msgid "For instance, this:"
-msgstr ""
+msgstr "Zum Beispiel bewirken Sie hiermit:"
 
 #. type: example
 #: doc/guix.texi:23004
 #, no-wrap
 msgid "(service openssh-service-type)\n"
-msgstr ""
+msgstr "(service openssh-service-type)\n"
 
 #. type: deffn
 #: doc/guix.texi:23008
 msgid "is equivalent to this:"
-msgstr ""
+msgstr "dasselbe wie mit:"
 
 #. type: example
 #: doc/guix.texi:23012
@@ -41093,49 +41339,51 @@ msgid ""
 "(service openssh-service-type\n"
 "         (openssh-configuration))\n"
 msgstr ""
+"(service openssh-service-type\n"
+"         (openssh-configuration))\n"
 
 #. type: deffn
 #: doc/guix.texi:23016
 msgid "In both cases the result is an instance of @code{openssh-service-type} with the default configuration."
-msgstr ""
+msgstr "In beiden Fällen ist das Ergebnis eine Instanz von @code{openssh-service-type} mit der vorgegebenen Konfiguration."
 
 #. type: deffn
 #: doc/guix.texi:23018
 #, no-wrap
 msgid "{Scheme Procedure} service? @var{obj}"
-msgstr ""
+msgstr "{Scheme-Prozedur} service? @var{Objekt}"
 
 #. type: deffn
 #: doc/guix.texi:23020
 msgid "Return true if @var{obj} is a service."
-msgstr ""
+msgstr "Liefert wahr zurück, wenn das @var{Objekt} ein Dienst ist."
 
 #. type: deffn
 #: doc/guix.texi:23022
 #, no-wrap
 msgid "{Scheme Procedure} service-kind @var{service}"
-msgstr ""
+msgstr "{Scheme-Prozedur} service-kind @var{Dienst}"
 
 #. type: deffn
 #: doc/guix.texi:23024
 msgid "Return the type of @var{service}---i.e., a @code{<service-type>} object."
-msgstr ""
+msgstr "Liefert den Typ des @var{Dienst}es — d.h. ein @code{<service-type>}-Objekt."
 
 #. type: deffn
 #: doc/guix.texi:23026
 #, no-wrap
 msgid "{Scheme Procedure} service-value @var{service}"
-msgstr ""
+msgstr "{Scheme-Prozedur} service-value @var{Dienst}"
 
 #. type: deffn
 #: doc/guix.texi:23029
 msgid "Return the value associated with @var{service}.  It represents its parameters."
-msgstr ""
+msgstr "Liefert den Wert, der mit dem @var{Dienst} assoziiert wurde. Er repräsentiert die Parameter des @var{Dienst}es."
 
 #. type: Plain text
 #: doc/guix.texi:23032
 msgid "Here is an example of how a service is created and manipulated:"
-msgstr ""
+msgstr "Hier ist ein Beispiel, wie ein Dienst erzeugt und manipuliert werden kann:"
 
 #. type: example
 #: doc/guix.texi:23041
@@ -41150,6 +41398,14 @@ msgid ""
 "            (file config-file))))\n"
 "\n"
 msgstr ""
+"(define s\n"
+"  (service nginx-service-type\n"
+"           (nginx-configuration\n"
+"            (nginx nginx)\n"
+"            (log-directory log-Verzeichnis)\n"
+"            (run-directory run-Verzeichnis)\n"
+"            (file config-Datei))))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:23044
@@ -41159,6 +41415,9 @@ msgid ""
 "@result{} #t\n"
 "\n"
 msgstr ""
+"(service? s)\n"
+"@result{} #t\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:23047
@@ -41167,11 +41426,13 @@ msgid ""
 "(eq? (service-kind s) nginx-service-type)\n"
 "@result{} #t\n"
 msgstr ""
+"(eq? (service-kind s) nginx-service-type)\n"
+"@result{} #t\n"
 
 #. type: Plain text
 #: doc/guix.texi:23057
 msgid "The @code{modify-services} form provides a handy way to change the parameters of some of the services of a list such as @var{%base-services} (@pxref{Base Services, @code{%base-services}}).  It evaluates to a list of services.  Of course, you could always use standard list combinators such as @code{map} and @code{fold} to do that (@pxref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}); @code{modify-services} simply provides a more concise form for this common pattern."
-msgstr ""
+msgstr "Die Form @code{modify-services} ist eine nützliche Methode, die Parameter von einigen der Dienste aus einer Liste wie @var{%base-services} abzuändern (siehe @ref{Base Services, @code{%base-services}}). Sie wird zu einer Liste von Diensten ausgewertet. Natürlich können Sie dazu auch die üblichen Listenkombinatoren wie @code{map} und @code{fold} benutzen (siehe @ref{SRFI-1, List Library,, guile, GNU Guile Reference Manual}), @code{modify-services} soll dieses häufig benutzte Muster lediglich durch eine knappere Syntax unterstützen."
 
 #. type: deffn
 #: doc/guix.texi:23058
@@ -41208,125 +41469,125 @@ msgstr "Der @var{Rumpf} muss zu den neuen Dienst-Parametern ausgewertet werden,
 #. type: deffn
 #: doc/guix.texi:23082
 msgid "@xref{Using the Configuration System}, for example usage."
-msgstr "Siehe @xref{Using the Configuration System} für ein Anwendungsbeispiel."
+msgstr "Siehe @ref{Using the Configuration System} für ein Anwendungsbeispiel."
 
 #. type: Plain text
 #: doc/guix.texi:23089
 msgid "Next comes the programming interface for service types.  This is something you want to know when writing new service definitions, but not necessarily when simply looking for ways to customize your @code{operating-system} declaration."
-msgstr ""
+msgstr "Als Nächstes ist die Programmierschnittstelle für Diensttypen an der Reihe. Sie ist etwas, was Sie kennen werden wollen, wenn Sie neue Dienstdefinitionen schreiben, aber wenn Sie nur Ihre @code{operating-system}-Deklaration anpassen möchten, brauchen Sie diese Schnittstelle wahrscheinlich nicht."
 
 #. type: deftp
 #: doc/guix.texi:23090
 #, no-wrap
 msgid "{Data Type} service-type"
-msgstr ""
+msgstr "{Datentyp} service-type"
 
 #. type: cindex
 #: doc/guix.texi:23091
 #, no-wrap
 msgid "service type"
-msgstr ""
+msgstr "Diensttyp"
 
 #. type: deftp
 #: doc/guix.texi:23094
 msgid "This is the representation of a @dfn{service type} (@pxref{Service Types and Services})."
-msgstr ""
+msgstr "Die Repräsentation eines @dfn{Diensttypen} (siehe @ref{Service Types and Services})."
 
 #. type: table
 #: doc/guix.texi:23098
 msgid "This is a symbol, used only to simplify inspection and debugging."
-msgstr ""
+msgstr "Dieses Symbol wird nur verwendet, um die Abläufe im System anzuzeigen und die Fehlersuche zu erleichtern."
 
 #. type: code{#1}
 #: doc/guix.texi:23099
 #, no-wrap
 msgid "extensions"
-msgstr ""
+msgstr "extensions"
 
 #. type: table
 #: doc/guix.texi:23101
 msgid "A non-empty list of @code{<service-extension>} objects (see below)."
-msgstr ""
+msgstr "Eine nicht-leere Liste von @code{<service-extension>}-Objekten (siehe unten)."
 
 #. type: item
 #: doc/guix.texi:23102
 #, no-wrap
 msgid "@code{compose} (default: @code{#f})"
-msgstr ""
+msgstr "@code{compose} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:23106
 msgid "If this is @code{#f}, then the service type denotes services that cannot be extended---i.e., services that do not receive ``values'' from other services."
-msgstr ""
+msgstr "Wenn es auf @code{#f} gesetzt ist, dann definiert der Diensttyp Dienste, die nicht erweitert werden können — d.h. diese Dienste erhalten ihren Wert nicht von anderen Diensten."
 
 #. type: table
 #: doc/guix.texi:23110
 msgid "Otherwise, it must be a one-argument procedure.  The procedure is called by @code{fold-services} and is passed a list of values collected from extensions.  It may return any single value."
-msgstr ""
+msgstr "Andernfalls muss es eine Prozedur sein, die ein einziges Argument entgegennimmt. Die Prozedur wird durch @code{fold-services} aufgerufen und ihr wird die Liste von aus den Erweiterungen angesammelten Werten übergeben. Sie gibt daraufhin einen einzelnen Wert zurück."
 
 #. type: item
 #: doc/guix.texi:23111
 #, no-wrap
 msgid "@code{extend} (default: @code{#f})"
-msgstr ""
+msgstr "@code{extend} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:23113
 msgid "If this is @code{#f}, services of this type cannot be extended."
-msgstr ""
+msgstr "Ist dies auf @code{#f} gesetzt, dann können Dienste dieses Typs nicht erweitert werden."
 
 #. type: table
 #: doc/guix.texi:23119
 msgid "Otherwise, it must be a two-argument procedure: @code{fold-services} calls it, passing it the initial value of the service as the first argument and the result of applying @code{compose} to the extension values as the second argument.  It must return a value that is a valid parameter value for the service instance."
-msgstr ""
+msgstr "Andernfalls muss es eine zwei Argumente nehmende Prozedur sein, die von @code{fold-services} mit dem anfänglichen Wert für den Dienst als erstes Argument und dem durch Anwendung von @code{compose} gelieferten Wert als zweites Argument aufgerufen wird. Als Ergebnis muss ein Wert geliefert werden, der einen zulässigen neuen Parameterwert für die Dienstinstanz darstellt."
 
 #. type: deftp
 #: doc/guix.texi:23122
 msgid "@xref{Service Types and Services}, for examples."
-msgstr ""
+msgstr "Siehe den Abschnitt @ref{Service Types and Services} für Beispiele."
 
 #. type: deffn
 #: doc/guix.texi:23124
 #, no-wrap
 msgid "{Scheme Procedure} service-extension @var{target-type} @"
-msgstr ""
+msgstr "{Scheme-Prozedur} service-extension @var{Zieltyp} @"
 
 #. type: deffn
 #: doc/guix.texi:23130
 msgid "@var{compute} Return a new extension for services of type @var{target-type}.  @var{compute} must be a one-argument procedure: @code{fold-services} calls it, passing it the value associated with the service that provides the extension; it must return a valid value for the target service."
-msgstr ""
+msgstr "@var{Berechner} Liefert eine neue Erweiterung für den Dienst mit dem @var{Zieltyp}. Als @var{Berechner} muss eine Prozedur angegeben werden, die ein einzelnes Argument nimmt: @code{fold-services} ruft sie auf und übergibt an sie den Wert des erweiternden Dienstes, sie muss dafür einen zulässigen Wert für den @var{Zieltyp} liefern."
 
 #. type: deffn
 #: doc/guix.texi:23132
 #, no-wrap
 msgid "{Scheme Procedure} service-extension? @var{obj}"
-msgstr ""
+msgstr "{Scheme-Prozedur} service-extension? @var{Objekt}"
 
 #. type: deffn
 #: doc/guix.texi:23134
 msgid "Return true if @var{obj} is a service extension."
-msgstr ""
+msgstr "Liefert wahr zurück, wenn das @var{Objekt} eine Diensterweiterung ist."
 
 #. type: Plain text
 #: doc/guix.texi:23140
 msgid "Occasionally, you might want to simply extend an existing service.  This involves creating a new service type and specifying the extension of interest, which can be verbose; the @code{simple-service} procedure provides a shorthand for this."
-msgstr ""
+msgstr "Manchmal wollen Sie vielleicht einfach nur einen bestehenden Dienst erweitern. Dazu müssten Sie einen neuen Diensttyp definieren und die Erweiterung definieren, für die Sie sich interessieren, was ganz schön wortreich werden kann. Mit der Prozedur @code{simple-service} können Sie es kürzer fassen."
 
 #. type: deffn
 #: doc/guix.texi:23141
 #, no-wrap
 msgid "{Scheme Procedure} simple-service @var{name} @var{target} @var{value}"
-msgstr ""
+msgstr "{Scheme-Prozedur} simple-service @var{Name} @var{Zieltyp} @var{Wert}"
 
 #. type: deffn
 #: doc/guix.texi:23145
 msgid "Return a service that extends @var{target} with @var{value}.  This works by creating a singleton service type @var{name}, of which the returned service is an instance."
-msgstr ""
+msgstr "Liefert einen Dienst, der den Dienst mit dem @var{Zieltyp} um den @var{Wert} erweitert. Dazu wird ein Diensttyp mit dem @var{Name}n für den einmaligen Gebrauch erzeugt, den der zurückgelieferte Dienst instanziiert."
 
 #. type: deffn
 #: doc/guix.texi:23148
 msgid "For example, this extends mcron (@pxref{Scheduled Job Execution}) with an additional job:"
-msgstr ""
+msgstr "Zum Beispiel kann mcron (siehe @ref{Scheduled Job Execution}) so um einen zusätzlichen Auftrag erweitert werden:"
 
 #. type: example
 #: doc/guix.texi:23152
@@ -41335,202 +41596,204 @@ msgid ""
 "(simple-service 'my-mcron-job mcron-service-type\n"
 "                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
 msgstr ""
+"(simple-service 'my-mcron-job mcron-service-type\n"
+"                #~(job '(next-hour (3)) \"guix gc -F 2G\"))\n"
 
 #. type: Plain text
 #: doc/guix.texi:23162
 msgid "At the core of the service abstraction lies the @code{fold-services} procedure, which is responsible for ``compiling'' a list of services down to a single directory that contains everything needed to boot and run the system---the directory shown by the @command{guix system build} command (@pxref{Invoking guix system}).  In essence, it propagates service extensions down the service graph, updating each node parameters on the way, until it reaches the root node."
-msgstr ""
+msgstr "Den Kern dieses abstrakten Modells für Dienste bildet die Prozedur @code{fold-services}, die für das »Kompilieren« einer Liste von Diensten hin zu einem einzelnen Verzeichnis verantwortlich ist, in welchem alles enthalten ist, was Sie zum Booten und Hochfahren des Systems brauchen — d.h. das Verzeichnis, das der Befehl @command{guix system build} anzeigt (siehe @ref{Invoking guix system}). Einfach ausgedrückt propagiert @code{fold-services} Diensterweiterungen durch den Dienstgraphen nach unten und aktualisiert dabei in jedem Knoten des Graphen dessen Parameter, bis nur noch der Wurzelknoten übrig bleibt."
 
 #. type: deffn
 #: doc/guix.texi:23163
 #, no-wrap
 msgid "{Scheme Procedure} fold-services @var{services} @"
-msgstr ""
+msgstr "{Scheme-Prozedur} fold-services @var{Dienste} @"
 
 #. type: deffn
 #: doc/guix.texi:23167
 msgid "[#:target-type @var{system-service-type}] Fold @var{services} by propagating their extensions down to the root of type @var{target-type}; return the root service adjusted accordingly."
-msgstr ""
+msgstr "[#:target-type @var{system-service-type}] Faltet die @var{Dienste} wie die funktionale Prozedur @code{fold} zu einem einzigen zusammen, indem ihre Erweiterungen nach unten propagiert werden, bis eine Wurzel vom @var{target-type} als Diensttyp erreicht wird; dieser so angepasste Wurzeldienst wird zurückgeliefert."
 
 #. type: Plain text
 #: doc/guix.texi:23171
 msgid "Lastly, the @code{(gnu services)} module also defines several essential service types, some of which are listed below."
-msgstr ""
+msgstr "Als Letztes definiert das Modul @code{(gnu services)} noch mehrere essenzielle Diensttypen, von denen manche im Folgenden aufgelistet sind:"
 
 #. type: defvr
 #: doc/guix.texi:23172
 #, no-wrap
 msgid "{Scheme Variable} system-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} system-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23175
 msgid "This is the root of the service graph.  It produces the system directory as returned by the @command{guix system build} command."
-msgstr ""
+msgstr "Die Wurzel des Dienstgraphen. Davon wird das Systemverzeichnis erzeugt, wie es vom Befehl @command{guix system build} zurückgeliefert wird."
 
 #. type: defvr
 #: doc/guix.texi:23177
 #, no-wrap
 msgid "{Scheme Variable} boot-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} boot-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23180
 msgid "The type of the ``boot service'', which produces the @dfn{boot script}.  The boot script is what the initial RAM disk runs when booting."
-msgstr ""
+msgstr "Der Typ des »Boot-Dienstes«, der das @dfn{Boot-Skript} erzeugt. Das Boot-Skript ist das, was beim Booten durch die initiale RAM-Disk ausgeführt wird."
 
 #. type: defvr
 #: doc/guix.texi:23182
 #, no-wrap
 msgid "{Scheme Variable} etc-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} etc-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23186
 msgid "The type of the @file{/etc} service.  This service is used to create files under @file{/etc} and can be extended by passing it name/file tuples such as:"
-msgstr ""
+msgstr "Der Typ des @file{/etc}-Dienstes. Dieser Dienst wird benutzt, um im @file{/etc}-Verzeichnis Dateien zu platzieren. Er kann erweitert werden, indem man Name-/Datei-Tupel an ihn übergibt wie in diesem Beispiel:"
 
 #. type: example
 #: doc/guix.texi:23189
 #, no-wrap
 msgid "(list `(\"issue\" ,(plain-file \"issue\" \"Welcome!\\n\")))\n"
-msgstr ""
+msgstr "(list `(\"issue\" ,(plain-file \"issue\" \"Willkommen!\\n\")))\n"
 
 #. type: defvr
 #: doc/guix.texi:23193
 msgid "In this example, the effect would be to add an @file{/etc/issue} file pointing to the given file."
-msgstr ""
+msgstr "Dieses Beispiel würde bewirken, dass eine Datei @file{/etc/issue} auf die angegebene Datei verweist."
 
 #. type: defvr
 #: doc/guix.texi:23195
 #, no-wrap
 msgid "{Scheme Variable} setuid-program-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} setuid-program-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23199
 msgid "Type for the ``setuid-program service''.  This service collects lists of executable file names, passed as gexps, and adds them to the set of setuid-root programs on the system (@pxref{Setuid Programs})."
-msgstr ""
+msgstr "Der Typ des Dienstes für setuid-Programme, der eine Liste von ausführbaren Dateien ansammelt, die jeweils als G-Ausdrücke übergeben werden und dann zur Menge der setuid-gesetzten Programme auf dem System hinzugefügt werden (siehe @ref{Setuid Programs})."
 
 #. type: defvr
 #: doc/guix.texi:23201
 #, no-wrap
 msgid "{Scheme Variable} profile-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} profile-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23205
 msgid "Type of the service that populates the @dfn{system profile}---i.e., the programs under @file{/run/current-system/profile}.  Other services can extend it by passing it lists of packages to add to the system profile."
-msgstr ""
+msgstr "Der Typ des Dienstes zum Einfügen von Dateien ins @dfn{Systemprofil} — d.h. die Programme unter @file{/run/current-system/profile}. Andere Dienste können ihn erweitern, indem sie ihm Listen von ins Systemprofil zu installierenden Paketen übergeben."
 
 #. type: cindex
 #: doc/guix.texi:23211
 #, no-wrap
 msgid "shepherd services"
-msgstr ""
+msgstr "Shepherd-Dienste"
 
 #. type: cindex
 #: doc/guix.texi:23212
 #, no-wrap
 msgid "PID 1"
-msgstr ""
+msgstr "PID 1"
 
 #. type: cindex
 #: doc/guix.texi:23213
 #, no-wrap
 msgid "init system"
-msgstr ""
+msgstr "init-System"
 
 #. type: Plain text
 #: doc/guix.texi:23219
 msgid "The @code{(gnu services shepherd)} module provides a way to define services managed by the GNU@tie{}Shepherd, which is the GuixSD initialization system---the first process that is started when the system boots, also known as PID@tie{}1 (@pxref{Introduction,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Das Modul @code{(gnu services shepherd)} gibt eine Methode an, mit der Dienste definiert werden können, die von GNU@tie{}Shepherd verwaltet werden, was das Initialisierungssystem (das »init«-System) von GuixSD ist — es ist der erste Prozess, der gestartet wird, wenn das System gebootet wird, auch bekannt als PID@tie{}1 (siehe @ref{Introduction,,, shepherd, The GNU Shepherd Manual})."
 
 #. type: Plain text
 #: doc/guix.texi:23225
 msgid "Services in the Shepherd can depend on each other.  For instance, the SSH daemon may need to be started after the syslog daemon has been started, which in turn can only happen once all the file systems have been mounted.  The simple operating system defined earlier (@pxref{Using the Configuration System}) results in a service graph like this:"
-msgstr ""
+msgstr "Dienste unter dem Shepherd können voneinander abhängen. Zum Beispiel kann es sein, dass der SSH-Daemon erst gestartet werden darf, nachdem der Syslog-Daemon gestartet wurde, welcher wiederum erst gestartet werden kann, sobald alle Dateisysteme eingebunden wurden. Das einfache Betriebssystem, dessen Definition wir zuvor gesehen haben (siehe @ref{Using the Configuration System}), ergibt folgenden Dienstgraphen:"
 
 #. type: Plain text
 #: doc/guix.texi:23227
 msgid "@image{images/shepherd-graph,,5in,Typical shepherd service graph.}"
-msgstr ""
+msgstr "@image{images/shepherd-graph,,5in,Typischer Shepherd-Dienstgraph}"
 
 #. type: Plain text
 #: doc/guix.texi:23231
 msgid "You can actually generate such a graph for any operating system definition using the @command{guix system shepherd-graph} command (@pxref{system-shepherd-graph, @command{guix system shepherd-graph}})."
-msgstr ""
+msgstr "Sie können so einen Graphen tatsächlich für jedes Betriebssystem erzeugen lassen, indem Sie den Befehl @command{guix system shepherd-graph} benutzen (siehe @ref{system-shepherd-graph, @command{guix system shepherd-graph}})."
 
 #. type: Plain text
 #: doc/guix.texi:23235
 msgid "The @var{%shepherd-root-service} is a service object representing PID@tie{}1, of type @var{shepherd-root-service-type}; it can be extended by passing it lists of @code{<shepherd-service>} objects."
-msgstr ""
+msgstr "Der @var{%shepherd-root-service} ist ein Dienstobjekt, das diesen Prozess mit PID@tie{}1 repräsentiert. Der Dienst hat den Typ @var{shepherd-root-service-type}. Man kann ihn erweitern, indem man eine Liste von @code{<shepherd-service>}-Objekten an ihn übergibt."
 
 #. type: deftp
 #: doc/guix.texi:23236
 #, no-wrap
 msgid "{Data Type} shepherd-service"
-msgstr ""
+msgstr "{Datentyp} shepherd-service"
 
 #. type: deftp
 #: doc/guix.texi:23238
 msgid "The data type representing a service managed by the Shepherd."
-msgstr ""
+msgstr "Der Datentyp, der einen von Shepherd verwalteten Dienst repräsentiert."
 
 #. type: code{#1}
 #: doc/guix.texi:23240
 #, no-wrap
 msgid "provision"
-msgstr ""
+msgstr "provision"
 
 #. type: table
 #: doc/guix.texi:23242
 msgid "This is a list of symbols denoting what the service provides."
-msgstr ""
+msgstr "Diese Liste von Symbolen gibt an, was vom Dienst angeboten wird."
 
 #. type: table
 #: doc/guix.texi:23247
 msgid "These are the names that may be passed to @command{herd start}, @command{herd status}, and similar commands (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual}).  @xref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual}, for details."
-msgstr ""
+msgstr "Das bedeutet, es sind die Namen, die an @command{herd start}, @command{herd status} und ähnliche Befehle übergeben werden können (siehe @ref{Invoking herd,,, shepherd, The GNU Shepherd Manual}). Siehe @ref{Slots of services, the @code{provides} slot,, shepherd, The GNU Shepherd Manual} für Details."
 
 #. type: item
 #: doc/guix.texi:23248
 #, no-wrap
 msgid "@code{requirements} (default: @code{'()})"
-msgstr ""
+msgstr "@code{requirements} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:23250
 msgid "List of symbols denoting the Shepherd services this one depends on."
-msgstr ""
+msgstr "Eine Liste von Symbolen, die angegeben, von welchen anderen Shepherd-Diensten dieser hier abhängt."
 
 #. type: item
 #: doc/guix.texi:23251
 #, no-wrap
 msgid "@code{respawn?} (default: @code{#t})"
-msgstr ""
+msgstr "@code{respawn?} (Vorgabe: @code{#t})"
 
 #. type: table
 #: doc/guix.texi:23254
 msgid "Whether to restart the service when it stops, for instance when the underlying process dies."
-msgstr ""
+msgstr "Ob der Dienst neu gestartet werden soll, nachdem er gestoppt wurde, zum Beispiel wenn der ihm zu Grunde liegende Prozess terminiert wird."
 
 #. type: code{#1}
 #: doc/guix.texi:23255
 #, no-wrap
 msgid "start"
-msgstr ""
+msgstr "start"
 
 #. type: itemx
 #: doc/guix.texi:23256
 #, no-wrap
 msgid "@code{stop} (default: @code{#~(const #f)})"
-msgstr ""
+msgstr "@code{stop} (Vorgabe: @code{#~(const #f)})"
 
 #. type: table
 #: doc/guix.texi:23262
 msgid "The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}).  They are given as G-expressions that get expanded in the Shepherd configuration file (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Die Felder @code{start} und @code{stop} beziehen sich auf Shepherds Funktionen zum Starten und Stoppen von Prozessen (siehe @ref{Service De- and Constructors,,, shepherd, The GNU Shepherd Manual}). Sie enthalten G-Ausdrücke, die in eine Shepherd-Konfigurationdatei umgeschrieben werden (siehe @ref{G-Expressions})."
 
 #. type: item
 #: doc/guix.texi:23263
@@ -41547,40 +41810,40 @@ msgstr "Aktionen, bei Shepherd-Diensten"
 #. type: table
 #: doc/guix.texi:23269
 msgid "This is a list of @code{shepherd-action} objects (see below) defining @dfn{actions} supported by the service, in addition to the standard @code{start} and @code{stop} actions.  Actions listed here become available as @command{herd} sub-commands:"
-msgstr ""
+msgstr "Dies ist eine Liste von @code{shepherd-action}-Objekten (siehe unten), die vom Dienst zusätzlich unterstützte @dfn{Aktionen} neben den Standardaktionen @code{start} und @code{stop} angeben. Hier aufgeführte Aktionen werden als @command{herd}-Unterbefehle verfügbar gemacht:"
 
 #. type: example
 #: doc/guix.texi:23272
 #, no-wrap
 msgid "herd @var{action} @var{service} [@var{arguments}@dots{}]\n"
-msgstr ""
+msgstr "herd @var{Aktion} @var{Dienst} [@var{Argumente}@dots{}]\n"
 
 #. type: table
 #: doc/guix.texi:23276
 msgid "A documentation string, as shown when running:"
-msgstr ""
+msgstr "Eine Zeichenkette zur Dokumentation, die angezeigt wird, wenn man dies ausführt:"
 
 #. type: example
 #: doc/guix.texi:23279
 #, no-wrap
 msgid "herd doc @var{service-name}\n"
-msgstr ""
+msgstr "herd doc @var{Dienstname}\n"
 
 #. type: table
 #: doc/guix.texi:23283
 msgid "where @var{service-name} is one of the symbols in @var{provision} (@pxref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "wobei der @var{Dienstname} eines der Symbole aus der @var{provision}-Liste sein muss (siehe @ref{Invoking herd,,, shepherd, The GNU Shepherd Manual})."
 
 #. type: item
 #: doc/guix.texi:23284
 #, no-wrap
 msgid "@code{modules} (default: @var{%default-modules})"
-msgstr ""
+msgstr "@code{modules} (Vorgabe: @var{%default-modules})"
 
 #. type: table
 #: doc/guix.texi:23287
 msgid "This is the list of modules that must be in scope when @code{start} and @code{stop} are evaluated."
-msgstr ""
+msgstr "Dies ist die Liste der Module, die in den Sichtbarkeitsbereich geladen sein müssen, wenn @code{start} und @code{stop} ausgewertet werden."
 
 #. type: deftp
 #: doc/guix.texi:23291
@@ -41591,7 +41854,7 @@ msgstr "{Datentyp} shepherd-action"
 #. type: deftp
 #: doc/guix.texi:23294
 msgid "This is the data type that defines additional actions implemented by a Shepherd service (see above)."
-msgstr ""
+msgstr "Dieser Datentyp definiert zusätzliche Aktionen, die ein Shepherd-Dienst implementiert (siehe oben)."
 
 #. type: table
 #: doc/guix.texi:23298
@@ -41601,29 +41864,29 @@ msgstr "Die Aktion bezeichnendes Symbol."
 #. type: table
 #: doc/guix.texi:23301
 msgid "This is a documentation string for the action.  It can be viewed by running:"
-msgstr ""
+msgstr "Diese Zeichenkette ist die Dokumentation für die Aktion. Sie können sie sehen, wenn Sie dies ausführen:"
 
 #. type: example
 #: doc/guix.texi:23304
 #, no-wrap
 msgid "herd doc @var{service} action @var{action}\n"
-msgstr ""
+msgstr "herd doc @var{Dienst} action @var{Aktion}\n"
 
 #. type: item
 #: doc/guix.texi:23306
 #, no-wrap
 msgid "procedure"
-msgstr ""
+msgstr "procedure"
 
 #. type: table
 #: doc/guix.texi:23310
 msgid "This should be a gexp that evaluates to a procedure of at least one argument, which is the ``running value'' of the service (@pxref{Slots of services,,, shepherd, The GNU Shepherd Manual})."
-msgstr ""
+msgstr "Dies sollte ein G-Ausdruck sein, der zu einer mindestens ein Argument nehmenden Prozedur ausgewertet wird. Das Argument ist der »running«-Wert des Dienstes (siehe @ref{Slots of services,,, shepherd, The GNU Shepherd Manual})."
 
 #. type: deftp
 #: doc/guix.texi:23314
 msgid "The following example defines an action called @code{say-hello} that kindly greets the user:"
-msgstr ""
+msgstr "Das folgende Beispiel definiert eine Aktion namens @code{sag-hallo}, die den Benutzer freundlich begrüßt:"
 
 #. type: example
 #: doc/guix.texi:23323
@@ -41637,11 +41900,18 @@ msgid ""
 "                         args)\n"
 "                 #t)))\n"
 msgstr ""
+"(shepherd-action\n"
+"  (name 'sag-hallo)\n"
+"  (documentation \"Sag Hallo!\")\n"
+"  (procedure #~(lambda (running . args)\n"
+"                 (format #t \"Hallo, Freund! Argumente: ~s\\n\"\n"
+"                         args)\n"
+"                 #t)))\n"
 
 #. type: deftp
 #: doc/guix.texi:23326
 msgid "Assuming this action is added to the @code{example} service, then you can do:"
-msgstr ""
+msgstr "Wenn wir annehmen, dass wir die Aktion zum Dienst @code{beispiel} hinzufügen, können Sie Folgendes ausführen:"
 
 #. type: example
 #: doc/guix.texi:23332
@@ -41652,38 +41922,42 @@ msgid ""
 "# herd say-hello example a b c\n"
 "Hello, friend! arguments: (\"a\" \"b\" \"c\")\n"
 msgstr ""
+"# herd sag-hallo beispiel\n"
+"Hallo, Freund! Argumente: ()\n"
+"# herd sag-hallo beispiel a b c\n"
+"Hallo, Freund! Argumente: (\"a\" \"b\" \"c\")\n"
 
 #. type: deftp
 #: doc/guix.texi:23337
 msgid "This, as you can see, is a fairly sophisticated way to say hello.  @xref{Service Convenience,,, shepherd, The GNU Shepherd Manual}, for more info on actions."
-msgstr ""
+msgstr "Wie Sie sehen können, ist das eine sehr ausgeklügelte Art, Hallo zu sagen. Siehe @ref{Service Convenience,,, shepherd, The GNU Shepherd Manual} für mehr Informationen zu Aktionen."
 
 #. type: defvr
 #: doc/guix.texi:23339
 #, no-wrap
 msgid "{Scheme Variable} shepherd-root-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} shepherd-root-service-type"
 
 #. type: defvr
 #: doc/guix.texi:23341
 msgid "The service type for the Shepherd ``root service''---i.e., PID@tie{}1."
-msgstr ""
+msgstr "Der Diensttyp für den Shepherd-»Wurzeldienst« — also für PID@tie{}1."
 
 #. type: defvr
 #: doc/guix.texi:23345
 msgid "This is the service type that extensions target when they want to create shepherd services (@pxref{Service Types and Services}, for an example).  Each extension must pass a list of @code{<shepherd-service>}."
-msgstr ""
+msgstr "Dieser Diensttyp stellt das Ziel für Diensterweiterungen dar, die Shepherd-Dienste erzeugen sollen (siehe @ref{Service Types and Services} für ein Beispiel). Jede Erweiterung muss eine Liste von @code{<shepherd-service>}-Objekten übergeben."
 
 #. type: defvr
 #: doc/guix.texi:23347
 #, no-wrap
 msgid "{Scheme Variable} %shepherd-root-service"
-msgstr ""
+msgstr "{Scheme-Variable} %shepherd-root-service"
 
 #. type: defvr
 #: doc/guix.texi:23349
 msgid "This service represents PID@tie{}1."
-msgstr ""
+msgstr "Dieser Dienst repräsentiert PID@tie{}1."
 
 #. type: cindex
 #: doc/guix.texi:23355
@@ -42700,23 +42974,23 @@ msgstr "contributing.de.texi"
 #. type: Plain text
 #: doc/guix.texi:24357
 msgid "Guix is based on the @uref{http://nixos.org/nix/, Nix package manager}, which was designed and implemented by Eelco Dolstra, with contributions from other people (see the @file{nix/AUTHORS} file in Guix.)  Nix pioneered functional package management, and promoted unprecedented features, such as transactional package upgrades and rollbacks, per-user profiles, and referentially transparent build processes.  Without this work, Guix would not exist."
-msgstr ""
+msgstr "Guix baut auf dem @uref{http://nixos.org/nix/, Nix-Paketverwaltungsprogramm} auf, das von Eelco Dolstra entworfen und entwickelt wurde, mit Beiträgen von anderen Leuten (siehe die Datei @file{nix/AUTHORS} in Guix). Nix hat für die funktionale Paketverwaltung die Pionierarbeit geleistet und noch nie dagewesene Funktionalitäten vorangetrieben wie transaktionsbasierte Paketaktualisierungen und die Rücksetzbarkeit selbiger, eigene Paketprofile für jeden Nutzer und referenziell transparente Erstellungsprozesse. Ohne diese Arbeit gäbe es Guix nicht."
 
 #. type: Plain text
 #: doc/guix.texi:24360
 msgid "The Nix-based software distributions, Nixpkgs and NixOS, have also been an inspiration for Guix."
-msgstr ""
+msgstr "Die Nix-basierten Software-Distributionen Nixpkgs und NixOS waren auch eine Inspiration für Guix."
 
 #. type: Plain text
 #: doc/guix.texi:24366
 msgid "GNU@tie{}Guix itself is a collective work with contributions from a number of people.  See the @file{AUTHORS} file in Guix for more information on these fine people.  The @file{THANKS} file lists people who have helped by reporting bugs, taking care of the infrastructure, providing artwork and themes, making suggestions, and more---thank you!"
-msgstr ""
+msgstr "GNU@tie{}Guix ist selbst das Produkt kollektiver Arbeit mit Beiträgen durch eine Vielzahl von Leuten. Siehe die Datei @file{AUTHORS} in Guix für mehr Informationen, wer diese wunderbaren Menschen sind. In der Datei @file{THANKS} finden Sie eine Liste der Leute, die uns geholfen haben, indem Sie Fehler gemeldet, sich um unsere Infrastruktur gekümmert, künstlerische Arbeit und schön gestaltete Themen beigesteuert, Vorschläge gemacht und noch vieles mehr getan haben — vielen Dank!"
 
 #. type: cindex
 #: doc/guix.texi:24371
 #, no-wrap
 msgid "license, GNU Free Documentation License"
-msgstr ""
+msgstr "Lizenz, GNU-Lizenz für freie Dokumentation"
 
 #. type: include
 #: doc/guix.texi:24372
diff --git a/tests/containers.scm b/tests/containers.scm
index 5323e5037d..37408f380d 100644
--- a/tests/containers.scm
+++ b/tests/containers.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
+;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -52,6 +53,16 @@
      #:namespaces '(user))))
 
 (skip-if-unsupported)
+(test-assert "call-with-container, user namespace, guest UID/GID"
+  (zero?
+   (call-with-container '()
+     (lambda ()
+       (assert-exit (and (= 42 (getuid)) (= 77 (getgid)))))
+     #:guest-uid 42
+     #:guest-gid 77
+     #:namespaces '(user))))
+
+(skip-if-unsupported)
 (test-assert "call-with-container, uts namespace"
   (zero?
    (call-with-container '()
diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
index f2221af95b..78507f76c0 100644
--- a/tests/guix-environment-container.sh
+++ b/tests/guix-environment-container.sh
@@ -44,6 +44,19 @@ else
     test $? = 42
 fi
 
+# By default, the UID inside the container should be the same as outside.
+uid="`id -u`"
+inner_uid="`guix environment -C --ad-hoc --bootstrap guile-bootstrap \
+  -- guile -c '(display (getuid))'`"
+test $inner_uid = $uid
+
+# When '--user' is passed, the UID should be 1000.  (Note: Use a separate HOME
+# so that we don't run into problems when the test directory is under /home.)
+export tmpdir
+inner_uid="`HOME=$tmpdir guix environment -C --ad-hoc --bootstrap guile-bootstrap \
+  --user=gnu-guix -- guile -c '(display (getuid))'`"
+test $inner_uid = 1000
+
 if test "x$USER" = "x"; then USER="`id -un`"; fi
 
 # Check whether /etc/passwd and /etc/group are valid.
@@ -123,7 +136,7 @@ rm $tmpdir/mounts
 
 # Test that user can be mocked.
 usertest='(exit (and (string=? (getenv "HOME") "/home/foognu")
-                     (string=? (passwd:name (getpwuid 0)) "foognu")
+                     (string=? (passwd:name (getpwuid 1000)) "foognu")
                      (file-exists? "/home/foognu/umock")))'
 touch "$tmpdir/umock"
 HOME="$tmpdir" guix environment --bootstrap --container --user=foognu \