summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2019-08-29 17:19:18 -0400
committerMark H Weaver <mhw@netris.org>2019-08-29 17:19:18 -0400
commit0481289cbccba2646bf654f0ae49ac9c45602d5d (patch)
treecbe1351e2751e9d22c4c8add02991a3e6674f26a
parentc55fae452032aa4b1b63406983e9abdf70adc957 (diff)
parent9fbf4d2a52d4d3e01059f3432bb3f78182b5a822 (diff)
downloadguix-0481289cbccba2646bf654f0ae49ac9c45602d5d.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--Makefile.am33
-rw-r--r--doc/guix.texi75
-rw-r--r--gnu/build/accounts.scm2
-rw-r--r--gnu/build/cross-toolchain.scm6
-rw-r--r--gnu/ci.scm8
-rw-r--r--gnu/installer.scm21
-rw-r--r--gnu/installer/newt/page.scm9
-rw-r--r--gnu/installer/newt/user.scm7
-rw-r--r--gnu/installer/newt/wifi.scm4
-rw-r--r--gnu/local.mk8
-rw-r--r--gnu/packages/agda.scm46
-rw-r--r--gnu/packages/astronomy.scm4
-rw-r--r--gnu/packages/audio.scm9
-rw-r--r--gnu/packages/bittorrent.scm8
-rw-r--r--gnu/packages/cedille.scm124
-rw-r--r--gnu/packages/chromium.scm4
-rw-r--r--gnu/packages/ci.scm6
-rw-r--r--gnu/packages/cran.scm39
-rw-r--r--gnu/packages/crates-io.scm1774
-rw-r--r--gnu/packages/cups.scm6
-rw-r--r--gnu/packages/cvassistant.scm90
-rw-r--r--gnu/packages/databases.scm14
-rw-r--r--gnu/packages/disk.scm4
-rw-r--r--gnu/packages/education.scm40
-rw-r--r--gnu/packages/emacs-xyz.scm129
-rw-r--r--gnu/packages/emulators.scm32
-rw-r--r--gnu/packages/enlightenment.scm31
-rw-r--r--gnu/packages/fpga.scm8
-rw-r--r--gnu/packages/ghostscript.scm27
-rw-r--r--gnu/packages/glib.scm38
-rw-r--r--gnu/packages/gnome.scm10
-rw-r--r--gnu/packages/gnunet.scm7
-rw-r--r--gnu/packages/golang.scm24
-rw-r--r--gnu/packages/gsasl.scm2
-rw-r--r--gnu/packages/gtk.scm4
-rw-r--r--gnu/packages/guile-xyz.scm165
-rw-r--r--gnu/packages/guile.scm11
-rw-r--r--gnu/packages/ipfs.scm4
-rw-r--r--gnu/packages/linux.scm38
-rw-r--r--gnu/packages/lisp.scm98
-rw-r--r--gnu/packages/mail.scm5
-rw-r--r--gnu/packages/make-bootstrap.scm154
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/mingw.scm6
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/package-management.scm161
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/password-utils.scm24
-rw-r--r--gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch30
-rw-r--r--gnu/packages/patches/enlightenment-fix-setuid-path.patch74
-rw-r--r--gnu/packages/patches/libextractor-exiv2.patch124
-rw-r--r--gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch218
-rw-r--r--gnu/packages/patches/mingw-w64-6.0.0-gcc.patch65
-rw-r--r--gnu/packages/perl.scm7
-rw-r--r--gnu/packages/python-web.scm23
-rw-r--r--gnu/packages/python-xyz.scm94
-rw-r--r--gnu/packages/qt.scm3
-rw-r--r--gnu/packages/rednotebook.scm91
-rw-r--r--gnu/packages/ruby.scm129
-rw-r--r--gnu/packages/security-token.scm4
-rw-r--r--gnu/packages/terminals.scm56
-rw-r--r--gnu/packages/text-editors.scm53
-rw-r--r--gnu/packages/textutils.scm109
-rw-r--r--gnu/packages/tls.scm8
-rw-r--r--gnu/packages/video.scm23
-rw-r--r--gnu/packages/web-browsers.scm181
-rw-r--r--gnu/packages/web.scm34
-rw-r--r--gnu/packages/webkit.scm6
-rw-r--r--gnu/packages/wine.scm4
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/services/cuirass.scm29
-rw-r--r--gnu/services/cups.scm21
-rw-r--r--gnu/services/desktop.scm40
-rw-r--r--gnu/services/pm.scm7
-rw-r--r--gnu/tests/docker.scm13
-rw-r--r--guix/build/cargo-build-system.scm19
-rw-r--r--guix/build/make-bootstrap.scm1
-rw-r--r--guix/diagnostics.scm7
-rw-r--r--guix/docker.scm68
-rw-r--r--guix/git-download.scm7
-rw-r--r--guix/import/cran.scm254
-rw-r--r--guix/import/github.scm2
-rw-r--r--guix/import/utils.scm5
-rw-r--r--guix/lint.scm4
-rw-r--r--guix/packages.scm3
-rw-r--r--guix/remote.scm12
-rw-r--r--guix/scripts/deploy.scm2
-rw-r--r--guix/scripts/import.scm4
-rw-r--r--guix/scripts/import/cran.scm9
-rw-r--r--guix/scripts/lint.scm6
-rw-r--r--guix/scripts/pack.scm71
-rw-r--r--guix/ssh.scm14
-rw-r--r--guix/swh.scm63
-rw-r--r--po/doc/guix-manual.de.po3049
-rw-r--r--po/doc/guix-manual.fr.po109
-rw-r--r--po/guix/fr.po6
-rw-r--r--po/guix/sv.po2745
-rw-r--r--tests/accounts.scm19
-rw-r--r--tests/guix-pack-relocatable.sh6
-rw-r--r--tests/pack.scm1
100 files changed, 8144 insertions, 3123 deletions
diff --git a/Makefile.am b/Makefile.am
index bd27d0079f..09e252f7b7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -851,6 +851,39 @@ cuirass-jobs.scm: $(GOBJECTS)
 .PHONY: clean-go make-go as-derivation
 .PHONY: update-guix-package update-NEWS release
 
+# Downloading up-to-date PO files.
+
+# make-download-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX]
+define make-download-po-rule
+
+download-po.$(1):
+	if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then				\
+	  LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ;	\
+	else									\
+	  LINGUAS="`(cd $(top_srcdir)/$(2);					\
+	    for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ;		\
+	fi ;									\
+	for lang in $$$$LINGUAS; do						\
+	  if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp"		\
+	     "https://translationproject.org/latest/$(1)/$$$$lang.po" ;		\
+	  then									\
+	    mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ;			\
+	  else									\
+	    rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ;			\
+	  fi ;									\
+	done
+
+.PHONY: download-po.$(1)
+
+endef
+
+$(eval $(call make-download-po-rule,guix,po/guix))
+$(eval $(call make-download-po-rule,guix-packages,po/packages))
+$(eval $(call make-download-po-rule,guix-manual,po/doc,guix-manual.))
+
+download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain))
+.PHONY: download-po
+
 ## -------------- ##
 ## Silent rules.  ##
 ## -------------- ##
diff --git a/doc/guix.texi b/doc/guix.texi
index aac0c055db..e940a4f1c9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -49,7 +49,7 @@ Copyright @copyright{} 2017 Christopher Allan Webber@*
 Copyright @copyright{} 2017, 2018 Marius Bakke@*
 Copyright @copyright{} 2017 Hartmut Goebel@*
 Copyright @copyright{} 2017 Maxim Cournoyer@*
-Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@*
+Copyright @copyright{} 2017, 2018, 2019 Tobias Geerinckx-Rice@*
 Copyright @copyright{} 2017 George Clemmer@*
 Copyright @copyright{} 2017 Andy Wingo@*
 Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@*
@@ -5854,11 +5854,10 @@ should be added to the package definition via the
 
 In its @code{configure} phase, this build system will make any source inputs
 specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs}
-parameters available to cargo.  The @code{update-cargo-lock} phase will,
-when there is a @code{Cargo.lock} file, update the @code{Cargo.lock} file
-with the inputs and their versions available at build time.  The
-@code{install} phase installs any crate the binaries if they are defined by
-the crate.
+parameters available to cargo.  It will also remove an included
+@code{Cargo.lock} file to be recreated by @code{cargo} during the
+@code{build} phase.  The @code{install} phase installs any crate the binaries
+if they are defined by the crate.
 @end defvr
 
 @cindex Clojure (programming language)
@@ -6112,7 +6111,7 @@ interpreter version.
 By default guix calls @code{setup.py} under control of
 @code{setuptools}, much like @command{pip} does.  Some packages are not
 compatible with setuptools (and pip), thus you can disable this by
-setting the @code{#:use-setuptools} parameter to @code{#f}.
+setting the @code{#:use-setuptools?} parameter to @code{#f}.
 @end defvr
 
 @defvr {Scheme Variable} perl-build-system
@@ -8629,8 +8628,8 @@ When @code{--archive=bioconductor} is added, metadata is imported from
 packages for for the analysis and comprehension of high-throughput
 genomic data in bioinformatics.
 
-Information is extracted from the @code{DESCRIPTION} file of a package
-published on the web interface of the Bioconductor SVN repository.
+Information is extracted from the @code{DESCRIPTION} file contained in the
+package archive.
 
 The command below imports metadata for the @code{GenomicRanges}
 R package:
@@ -8639,6 +8638,14 @@ R package:
 guix import cran --archive=bioconductor GenomicRanges
 @end example
 
+Finally, you can also import R packages that have not yet been published on
+CRAN or Bioconductor as long as they are in a git repository.  Use
+@code{--archive=git} followed by the URL of the git repository:
+
+@example
+guix import cran --archive=git https://github.com/immunogenomics/harmony
+@end example
+
 @item texlive
 @cindex TeX Live
 @cindex CTAN
@@ -12442,6 +12449,40 @@ gexps to introduce job definitions that are passed to mcron
                   %base-services)))
 @end lisp
 
+For more complex jobs defined in Scheme where you need control over the top
+level, for instance to introduce a @code{use-modules} form, you can move your
+code to a separate program using the @code{program-file} procedure of the
+@code{(guix gexp)} module (@pxref{G-Expressions}).  The example below
+illustrates that.
+
+@lisp
+(define %battery-alert-job
+  ;; Beep when the battery percentage falls below %MIN-LEVEL.
+  #~(job
+     '(next-minute (range 0 60 1))
+     #$(program-file
+        "battery-alert.scm"
+        (with-imported-modules (source-module-closure
+                                '((guix build utils)))
+          #~(begin
+              (define %min-level 20)
+              (use-modules (guix build utils)
+                           (ice-9 popen)
+                           (ice-9 regex)
+                           (ice-9 textual-ports)
+                           (srfi srfi-2))
+              (setenv "LC_ALL" "C")     ;ensure English output
+              (and-let* ((input-pipe (open-pipe*
+                                      OPEN_READ
+                                      #$(file-append acpi "/bin/acpi")))
+                         (output (get-string-all input-pipe))
+                         (m (string-match "Discharging, ([0-9]+)%" output))
+                         (level (string->number (match:substring m 1)))
+                         ((< level %min-level)))
+                (format #t "warning: Battery level is low (~a%)~%" level)
+                (invoke #$(file-append beep "/bin/beep") "-r5")))))))
+@end lisp
+
 @xref{Guile Syntax, mcron job specifications,, mcron, GNU@tie{}mcron},
 for more information on mcron job specifications.  Below is the
 reference of the mcron service.
@@ -14723,11 +14764,14 @@ Defaults to @samp{()}.
 
 @deftypevr {@code{cups-configuration} parameter} ssl-options ssl-options
 Sets encryption options.  By default, CUPS only supports encryption
-using TLS v1.0 or higher using known secure cipher suites.  The
-@code{AllowRC4} option enables the 128-bit RC4 cipher suites, which are
-required for some older clients that do not implement newer ones.  The
-@code{AllowSSL3} option enables SSL v3.0, which is required for some
-older clients that do not support TLS v1.0.
+using TLS v1.0 or higher using known secure cipher suites.  Security is
+reduced when @code{Allow} options are used, and enhanced when @code{Deny}
+options are used.  The @code{AllowRC4} option enables the 128-bit RC4 cipher
+suites, which are required for some older clients.  The @code{AllowSSL3} option
+enables SSL v3.0, which is required for some older clients that do not support
+TLS v1.0.  The @code{DenyCBC} option disables all CBC cipher suites.  The
+@code{DenyTLS1.0} option disables TLS v1.0 support - this sets the minimum
+protocol version to TLS v1.1.
 
 Defaults to @samp{()}.
 @end deftypevr
@@ -21351,6 +21395,9 @@ Data type representing the configuration of Cuirass.
 @item @code{log-file} (default: @code{"/var/log/cuirass.log"})
 Location of the log file.
 
+@item @code{web-log-file} (default: @code{"/var/log/cuirass-web.log"})
+Location of the log file used by the web interface.
+
 @item @code{cache-directory} (default: @code{"/var/cache/cuirass"})
 Location of the repository cache.
 
diff --git a/gnu/build/accounts.scm b/gnu/build/accounts.scm
index 5094456ab1..f60d68d9b3 100644
--- a/gnu/build/accounts.scm
+++ b/gnu/build/accounts.scm
@@ -238,7 +238,7 @@ to it atomically and set the appropriate permissions."
       (for-each (lambda (entry)
                   (display (entry->string entry) port)
                   (newline port))
-                entries))
+                (delete-duplicates entries)))
 
     (if (port? file-or-port)
         (write-entries file-or-port)
diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm
index 1704157750..6bdbdd5411 100644
--- a/gnu/build/cross-toolchain.scm
+++ b/gnu/build/cross-toolchain.scm
@@ -128,7 +128,11 @@ C_*INCLUDE_PATH."
 
             (substitute* (string-append mingw-headers "/crt/_mingw.h")
               (("@MINGW_HAS_SECURE_API@")
-               "#define MINGW_HAS_SECURE_API 1"))
+               "#define MINGW_HAS_SECURE_API 1")
+              (("@DEFAULT_WIN32_WINNT@")
+               "0x502")
+              (("@DEFAULT_MSVCRT_VERSION@")
+               "0x700"))
 
             (let ((cpath (string-append mingw-headers "/include"
                                         ":" mingw-headers "/crt"
diff --git a/gnu/ci.scm b/gnu/ci.scm
index aeebd4f14b..5d5a826647 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -331,8 +331,12 @@ valid."
   "Return the list of packages to build."
   (define (adjust package result)
     (cond ((package-replacement package)
-           (cons* package                         ;build both
-                  (package-replacement package)
+           ;; XXX: If PACKAGE and its replacement have the same name/version,
+           ;; then both Cuirass jobs will have the same name, which
+           ;; effectively means that the second one will be ignored.  Thus,
+           ;; return the replacement first.
+           (cons* (package-replacement package)   ;build both
+                  package
                   result))
           ((package-superseded package)
            result)                                ;don't build it
diff --git a/gnu/installer.scm b/gnu/installer.scm
index 15d971dfc4..167653263f 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -226,15 +227,6 @@ selected keymap."
                      (#$keymap-step current-installer)))
           (configuration-formatter keyboard-layout->configuration))
 
-         ;; Run a partitioning tool allowing the user to modify
-         ;; partition tables, partitions and their mount points.
-         (installer-step
-          (id 'partition)
-          (description (G_ "Partitioning"))
-          (compute (lambda _
-                     ((installer-partition-page current-installer))))
-          (configuration-formatter user-partitions->configuration))
-
          ;; Ask the user to input a hostname for the system.
          (installer-step
           (id 'hostname)
@@ -267,6 +259,17 @@ selected keymap."
                      ((installer-services-page current-installer))))
 	  (configuration-formatter system-services->configuration))
 
+         ;; Run a partitioning tool allowing the user to modify
+         ;; partition tables, partitions and their mount points.
+         ;; Do this last so the user has something to boot if any
+         ;; of the previous steps didn't go as expected.
+         (installer-step
+          (id 'partition)
+          (description (G_ "Partitioning"))
+          (compute (lambda _
+                     ((installer-partition-page current-installer))))
+          (configuration-formatter user-partitions->configuration))
+
 	 (installer-step
           (id 'final)
           (description (G_ "Configuration file"))
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm
index 728721c08f..630efde9cc 100644
--- a/gnu/installer/newt/page.scm
+++ b/gnu/installer/newt/page.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -75,7 +76,7 @@ this page to TITLE."
                          #:key
                          (allow-empty-input? #f)
                          (default-text #f)
-                         (input-hide-checkbox? #f)
+                         (input-visibility-checkbox? #f)
                          (input-field-width 40)
                          (input-flags 0))
   "Run a page to prompt user for an input. The given TEXT will be displayed
@@ -88,8 +89,8 @@ input box, such as FLAG-PASSWORD."
                                  input-field-width
                                  #:flags FLAG-BORDER))
          (input-visible-cb
-          (make-checkbox -1 -1 (G_ "Hide") #\x "x "))
-         (input-flags* (if input-hide-checkbox?
+          (make-checkbox -1 -1 (G_ "Show") #\space "x "))
+         (input-flags* (if input-visibility-checkbox?
                            (logior FLAG-PASSWORD FLAG-SCROLL
                                    input-flags)
                            input-flags))
@@ -102,7 +103,7 @@ input box, such as FLAG-PASSWORD."
                 (apply
                  horizontal-stacked-grid
                  GRID-ELEMENT-COMPONENT input-entry
-                 `(,@(if input-hide-checkbox?
+                 `(,@(if input-visibility-checkbox?
                          (list GRID-ELEMENT-COMPONENT input-visible-cb)
                          '())))
                 GRID-ELEMENT-COMPONENT ok-button))
diff --git a/gnu/installer/newt/user.scm b/gnu/installer/newt/user.scm
index dab805198f..b747886c55 100644
--- a/gnu/installer/newt/user.scm
+++ b/gnu/installer/newt/user.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,7 +56,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
          (entry-home-directory (make-entry -1 -1 entry-width
                                            #:initial-value home-directory))
          (password-visible-cb
-          (make-checkbox -1 -1 (G_ "Hide") #\x "x "))
+          (make-checkbox -1 -1 (G_ "Show") #\space "x "))
          (entry-password (make-entry -1 -1 entry-width
                                      #:flags (logior FLAG-PASSWORD
                                                      FLAG-SCROLL)))
@@ -156,7 +157,7 @@ a thunk, if the confirmation doesn't match PASSWORD, and return its result."
     (run-input-page (G_ "Please confirm the password.")
                     (G_ "Password confirmation required")
                     #:allow-empty-input? #t
-                    #:input-hide-checkbox? #t))
+                    #:input-visibility-checkbox? #t))
 
   (if (string=? password confirmation)
       password
@@ -173,7 +174,7 @@ a thunk, if the confirmation doesn't match PASSWORD, and return its result."
     (run-input-page (G_ "Please choose a password for the system \
 administrator (\"root\").")
                     (G_ "System administrator password")
-                    #:input-hide-checkbox? #t))
+                    #:input-visibility-checkbox? #t))
 
   (confirm-password password run-root-password-page))
 
diff --git a/gnu/installer/newt/wifi.scm b/gnu/installer/newt/wifi.scm
index 1cb2ef2df3..3fd5756b99 100644
--- a/gnu/installer/newt/wifi.scm
+++ b/gnu/installer/newt/wifi.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -88,7 +89,8 @@ nmc_wifi_strength_bars."
 (define (run-wifi-password-page)
   "Run a page prompting user for a password and return it."
   (run-input-page (G_ "Please enter the wifi password.")
-                  (G_ "Password required")))
+                  (G_ "Password required")
+                  #:input-visibility-checkbox? #t))
 
 (define (run-wrong-password-page service-name)
   "Run a page to inform user of a wrong password input."
diff --git a/gnu/local.mk b/gnu/local.mk
index 44a553d871..fe476534c2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -21,6 +21,7 @@
 # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 # Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 # Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+# Copyright © 2019 John Soo <jsoo1@asu.edu>
 #
 # This file is part of GNU Guix.
 #
@@ -99,6 +100,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/calcurse.scm			\
   %D%/packages/ccache.scm			\
   %D%/packages/cdrom.scm			\
+  %D%/packages/cedille.scm			\
   %D%/packages/certs.scm			\
   %D%/packages/check.scm			\
   %D%/packages/chemistry.scm			\
@@ -128,6 +130,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/cryptsetup.scm			\
   %D%/packages/cups.scm				\
   %D%/packages/curl.scm				\
+  %D%/packages/cvassistant.scm			\
   %D%/packages/cyrus-sasl.scm			\
   %D%/packages/databases.scm			\
   %D%/packages/datamash.scm			\
@@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/rdf.scm				\
   %D%/packages/re2c.scm				\
   %D%/packages/readline.scm			\
+  %D%/packages/rednotebook.scm			\
   %D%/packages/regex.scm				\
   %D%/packages/robotics.scm			\
   %D%/packages/rrdtool.scm			\
@@ -697,6 +701,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/avidemux-install-to-lib.patch		\
   %D%/packages/patches/awesome-reproducible-png.patch		\
   %D%/packages/patches/azr3.patch				\
+  %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch		\
   %D%/packages/patches/bash-completion-directories.patch	\
   %D%/packages/patches/bastet-change-source-of-unordered_set.patch	\
   %D%/packages/patches/bazaar-CVE-2017-14176.patch		\
@@ -1021,6 +1026,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/libexif-CVE-2016-6328.patch		\
   %D%/packages/patches/libexif-CVE-2017-7544.patch		\
   %D%/packages/patches/libexif-CVE-2018-20030.patch		\
+  %D%/packages/patches/libextractor-exiv2.patch			\
   %D%/packages/patches/libgit2-avoid-python.patch		\
   %D%/packages/patches/libgit2-mtime-0.patch			\
   %D%/packages/patches/libgnome-encoding.patch			\
@@ -1099,7 +1105,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/meson-for-build-rpath.patch		\
   %D%/packages/patches/metabat-fix-compilation.patch		\
   %D%/packages/patches/mhash-keygen-test-segfault.patch		\
-  %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch		\
+  %D%/packages/patches/mingw-w64-6.0.0-gcc.patch		\
   %D%/packages/patches/mpc123-initialize-ao.patch		\
   %D%/packages/patches/module-init-tools-moduledir.patch	\
   %D%/packages/patches/monero-use-system-miniupnpc.patch			\
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
index 0f9b4299c3..c085bfac2e 100644
--- a/gnu/packages/agda.scm
+++ b/gnu/packages/agda.scm
@@ -3,6 +3,8 @@
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,9 +26,11 @@
   #:use-module (gnu packages haskell-check)
   #:use-module (gnu packages haskell-web)
   #:use-module (guix build-system emacs)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages))
 
@@ -154,3 +158,45 @@ such as Coq, Epigram and NuPRL.")
     (synopsis "Emacs mode for Agda")
     (description "This Emacs mode enables interactive development with
 Agda.  It also aids the input of Unicode characters.")))
+
+(define-public agda-ial
+  (package
+    (name "agda-ial")
+    (version "1.5.0")
+    (home-page "https://github.com/cedille/ial")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference (url home-page)
+                                  (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0dlis6v6nzbscf713cmwlx8h9n2gxghci8y21qak3hp18gkxdp0g"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("agda" ,agda)))
+    (arguments
+     `(#:parallel-build? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'patch-dependencies
+           (lambda _ (patch-shebang "find-deps.sh") #t))
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out     (assoc-ref outputs "out"))
+                    (include (string-append out "/include/agda/ial")))
+               (for-each (lambda (file)
+                           (make-file-writable file)
+                           (install-file file include))
+                         (find-files "." "\\.agdai?(-lib)?$"))
+               #t))))))
+    (synopsis "The Iowa Agda Library")
+    (description
+     "The goal is to provide a concrete library focused on verification
+examples, as opposed to mathematics.  The library has a good number
+of theorems for booleans, natural numbers, and lists.  It also has
+trees, tries, vectors, and rudimentary IO.  A number of good ideas
+come from Agda's standard library.")
+    (license license:expat)))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 1160feb553..3aa608ae29 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -120,7 +120,7 @@ header.")
 (define-public gnuastro
   (package
     (name "gnuastro")
-    (version "0.9")
+    (version "0.10")
     (source
      (origin
        (method url-fetch)
@@ -128,7 +128,7 @@ header.")
                            version ".tar.lz"))
        (sha256
         (base32
-         "1c1894ixz3l8p1nmzkysgl9lz8vpqbfw1dd404kh6lvrpml7jzig"))))
+         "0gmhmh0yddb2aql4hd5ffrr0d4hrmh4pa3yln0n186hslqinp81b"))))
     (inputs
      `(("cfitsio" ,cfitsio)
        ("gsl" ,gsl)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index dec94dd6c5..341281c943 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3374,21 +3374,22 @@ on the ALSA software PCM plugin.")
 (define-public snd
   (package
     (name "snd")
-    (version "19.5")
+    (version "19.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
                                   "snd-" version ".tar.gz"))
               (sha256
                (base32
-                "0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y"))))
+                "0s2qv8sznvw6559bi39qj9p072azh9qcb2b86w6w8clz2azjaa76"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
        #:out-of-source? #f              ; for the 'install-doc' phase
        #:configure-flags
        (let* ((out (assoc-ref %outputs "out"))
-              (docdir (string-append out "/share/doc/snd")))
+              (docdir (string-append out "/share/doc/"
+                                     ,name "-" ,version)))
          (list "--with-alsa" "--with-jack" "--with-gmp"
                (string-append "--with-doc-dir=" docdir)))
        #:phases
@@ -3401,7 +3402,7 @@ on the ALSA software PCM plugin.")
                (for-each
                 (lambda (f)
                   (install-file f doc))
-                (find-files "." "\\.html$|COPYING"))
+                (find-files "." "\\.html$"))
                (copy-recursively "pix" (string-append doc "/pix"))
                #t))))))
     (native-inputs
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index b0893d9410..adb377f25f 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -131,7 +131,7 @@ DHT, µTP, PEX and Magnet Links.")
 (define-public libtorrent
   (package
     (name "libtorrent")
-    (version "0.13.6")
+    (version "0.13.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -139,7 +139,7 @@ DHT, µTP, PEX and Magnet Links.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "012s1nwcvz5m5r4d2z9klgy2n34kpgn9kgwgzxm97zgdjs6a0f18"))))
+                "10z9i1rc41cmmi7nx8k7k1agsx6afv09g9cl7g9zr35fyhl5l4gd"))))
     (build-system gnu-build-system)
     (inputs `(("openssl" ,openssl)
               ("zlib" ,zlib)))
@@ -156,7 +156,7 @@ speed and efficiency.")
 (define-public rtorrent
   (package
     (name "rtorrent")
-    (version "0.9.6")
+    (version "0.9.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -164,7 +164,7 @@ speed and efficiency.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "03jvzw9pi2mhcm913h8qg0qw9gwjqc6lhwynb1yz1y163x7w4s8y"))))
+                "1bs2fnf4q7mlhkhzp3i1v052v9xn8qa7g845pk9ia8hlpw207pwy"))))
     (build-system gnu-build-system)
     (inputs `(("libtorrent" ,libtorrent)
               ("ncurses" ,ncurses)
diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm
new file mode 100644
index 0000000000..36fa3ae17e
--- /dev/null
+++ b/gnu/packages/cedille.scm
@@ -0,0 +1,124 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
+;;;
+;;; 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 cedille)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages agda)
+  #:use-module (gnu packages emacs-xyz)
+  #:use-module (gnu packages haskell)
+  #:use-module (guix build-system emacs)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define-public cedille
+  (package
+    (name "cedille")
+    (version "1.1.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cedille/cedille")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "07kv9wncyipfjf5w4ax8h2p35g70zb1qw6zc4afd7c225xia55wp"))))
+    (inputs
+     `(("agda" ,agda)
+       ("agda-ial" ,agda-ial)
+       ("ghc" ,ghc-8.4)
+       ("ghc-alex" ,ghc-alex)
+       ("ghc-happy" ,ghc-happy)))
+    (build-system emacs-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-cedille-path-el
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "cedille-mode.el"
+                 (("/usr/share/emacs/site-lisp/cedille-mode")
+                  (string-append
+                   out "/share/emacs/site-lisp/guix.d/cedille-"
+                   ,version)))
+               #t)))
+         (add-after 'unpack 'copy-cedille-mode
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lisp
+                     (string-append
+                      out "/share/emacs/site-lisp/guix.d/cedille-"
+                      ,version "/")))
+               (mkdir-p (string-append lisp "cedille-mode"))
+               (copy-recursively
+                "cedille-mode"
+                (string-append lisp "cedille-mode"))
+               (mkdir-p (string-append lisp "se-mode"))
+               (copy-recursively
+                "se-mode"
+                (string-append lisp "se-mode"))
+               #t)))
+         ;; FIXME: Byte compilation fails
+         (delete 'build)
+         (replace 'check
+           (lambda _
+             (with-directory-excursion "cedille-tests"
+               (invoke "sh" "run-tests.sh"))))
+         (add-after 'unpack 'patch-libraries
+           (lambda _ (patch-shebang "create-libraries.sh") #t))
+         (add-after 'unpack 'copy-ial
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively
+              (string-append (assoc-ref inputs "agda-ial")
+                             "/include/agda/ial")
+              "ial")
+             ;; Ambiguous module if main is included from ial
+             (delete-file "ial/main.agda")
+             #t))
+         (add-after 'check 'build-cedille
+           ;; Agda has a hard time with parallel compilation
+           (lambda _
+             (invoke "touch" "src/Templates.hs")
+             (make-file-writable  "src/Templates.hs")
+             (invoke "touch" "src/templates.agda")
+             (make-file-writable  "src/templates.agda")
+             (invoke "make" "--jobs=1")))
+         (add-after 'install 'install-cedille
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (copy-recursively
+                "lib" (string-append out "/lib/cedille"))
+               (install-file "cedille" (string-append out "/bin"))
+               (install-file "core/cedille-core"
+                             (string-append out "/bin"))
+               #t))))))
+    (home-page "https://cedille.github.io/")
+    (synopsis
+     "Language based on Calculus of Dependent Lambda Eliminations")
+    (description
+     "Cedille is an interactive theorem-prover and dependently typed
+programming language, based on extrinsic (aka Curry-style) type theory.  This
+makes it rather different from type theories like Coq and Agda, which are
+intrinsic (aka Church-style).  In Cedille, terms are nothing more than
+annotated versions of terms of pure untyped lambda calculus.  In contrast, in
+Coq or Agda, the typing annotations are intrinsic parts of terms.  The typing
+annotations can only be erased as an optimization under certain conditions,
+not by virtue of the definition of the type theory.")
+    (license license:expat)))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 3b45c430ca..aad1fd9203 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -238,7 +238,7 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %chromium-version "76.0.3809.100")
+(define %chromium-version "76.0.3809.132")
 (define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3")
 (define %debian-revision "debian/76.0.3809.87-2")
 (define package-revision "0")
@@ -254,7 +254,7 @@ from forcing GEXP-PROMISE."
                         %chromium-version ".tar.xz"))
     (sha256
      (base32
-      "0vfjfxsqf8jrmd7y08ln1lpbilwi150875zn2bawwdq87vd3mncc"))))
+      "0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm"))))
 
 (define %ungoogled-origin
   (origin
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index d706e8d04b..608cd0af23 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -47,8 +47,8 @@
   #:use-module (guix build-system gnu))
 
 (define-public cuirass
-  (let ((commit "858b6b8c8f2ae7b1ddaf4ae363147121be1f1fe8")
-        (revision "22"))
+  (let ((commit "1cd2f9334dde13542732c22753c4ebde61bc95e0")
+        (revision "23"))
     (package
       (name "cuirass")
       (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -60,7 +60,7 @@
                 (file-name (string-append name "-" version))
                 (sha256
                  (base32
-                  "049hg0yaakmfp27950cn0yn43r0v7bqva75xi082n8cxzi6vadgc"))))
+                  "0r3x8gv0v89brjqi8r31p6c0mblbaf2kdk2fz99jiab4pir16w87"))))
       (build-system gnu-build-system)
       (arguments
        '(#:modules ((guix build utils)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index ae8e9c5a47..458b141f91 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -15097,3 +15097,42 @@ datasets, developed and maintained by the Macosko lab.  It relies on
 integrative non-negative matrix factorization to identify shared and
 dataset-specific factors.")
     (license license:gpl3)))
+
+(define-public r-harmony
+  ;; There are no tagged commits
+  (let ((commit "4d1653870d4dd70fff1807c182882db1fbf9af5a")
+        (revision "1"))
+    (package
+      (name "r-harmony")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/immunogenomics/harmony")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1gasdldr4aalr9h2q9kmm3y4i7azkgnhdn4bmvsszs7lg9xacw85"))))
+      (build-system r-build-system)
+      (propagated-inputs
+       `(("r-cowplot" ,r-cowplot)
+         ("r-dplyr" ,r-dplyr)
+         ("r-ggplot2" ,r-ggplot2)
+         ("r-irlba" ,r-irlba)
+         ("r-matrix" ,r-matrix)
+         ("r-rcpp" ,r-rcpp)
+         ("r-rcpparmadillo" ,r-rcpparmadillo)
+         ("r-rcppprogress" ,r-rcppprogress)
+         ("r-rlang" ,r-rlang)
+         ("r-tibble" ,r-tibble)
+         ("r-tidyr" ,r-tidyr)))
+      (home-page "https://github.com/immunogenomics/harmony")
+      (synopsis "Integration of single cell sequencing data")
+      (description
+       "This package provides an implementation of the Harmony algorithm for
+single cell integration, described in Korsunsky et al
+@url{doi.org/10.1101/461954}.  The package includes a standalone Harmony
+function and interfaces to external frameworks.")
+      (license license:gpl3))))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6500adb215..c3d2419f88 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,12 +22,58 @@
   #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (gnu packages pkg-config))
 
 ;;;
 ;;; Please: Try to add new module packages in alphabetic order.
 ;;;
 
+(define-public rust-antidote
+  (package
+    (name "rust-antidote")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "antidote" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/sfackler/rust-antidote")
+    (synopsis "Poison-free Mutex and RwLock types")
+    (description
+    "These types expose identical APIs to the standard library @code{Mutex} and
+@code{RwLock} except that they do not return @code{PoisonError}s.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-atty
+  (package
+    (name "rust-atty")
+    (version "0.2.13")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "atty" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc)
+        ("rust-winapi" ,rust-winapi))
+       #:tests? #f)) ; tests fail in our sandbox
+    (home-page "https://github.com/softprops/atty")
+    (synopsis "A simple interface for querying atty")
+    (description
+     "This package provides a simple interface for querying atty.")
+    (license license:expat)))
+
 (define-public rust-autocfg
   (package
     (name "rust-autocfg")
@@ -91,6 +138,50 @@ behave like a set of bitflags.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-blas-sys
+  (package
+    (name "rust-blas-sys")
+    (version "0.7.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "blas-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0h14zjycwc76v15h8qll9z1xiryvmpvsb5gam97pqpdjrrwv5c8k"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
+    (home-page "https://github.com/blas-lapack-rs/blas-sys")
+    (synopsis "Bindings to BLAS (Fortran)")
+    (description
+     "Ths package provides bindings to BLAS (Fortran).")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-cblas-sys
+  (package
+    (name "rust-cblas-sys")
+    (version "0.1.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cblas-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0rgsn3klhhh09d8qf3b87zl4rwk93l2g0qzh9hhb0lff5kcfrzmn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
+    (home-page "https://github.com/blas-lapack-rs/cblas-sys")
+    (synopsis "Bindings to CBLAS (C)")
+    (description
+     "The package provides bindings to CBLAS (C).")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-cfg-if
   (package
     (name "rust-cfg-if")
@@ -112,6 +203,127 @@ depending on a large number of #[cfg] parameters.  Structured like an
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-clicolors-control
+  (package
+    (name "rust-clicolors-control")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "clicolors-control" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1y80cgarxhrd1bz5yjm81r444v6flvy36aaxrrsac0yhfd6gvavk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-atty" ,rust-atty)
+        ("rust-lazy-static" ,rust-lazy-static)
+        ("rust-libc" ,rust-libc)
+        ("rust-winapi" ,rust-winapi))))
+    (home-page "https://github.com/mitsuhiko/clicolors-control")
+    (synopsis "Common utility library to control CLI colorization")
+    (description
+     "This package provides a common utility library to control CLI
+colorization.")
+    (license license:expat)))
+
+(define-public rust-cloudabi
+  (package
+    (name "rust-cloudabi")
+    (version "0.0.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "cloudabi" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags))))
+    (home-page "https://nuxi.nl/cloudabi/")
+    (synopsis "Low level interface to CloudABI")
+    (description
+     "Low level interface to CloudABI.  Contains all syscalls and related types.")
+    (license license:bsd-2)))
+
+(define-public rust-core-foundation-sys
+  (package
+    (name "rust-core-foundation-sys")
+    (version "0.6.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "core-foundation-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/servo/core-foundation-rs")
+    (synopsis "Bindings to Core Foundation for OS X")
+    (description
+     "Bindings to Core Foundation for OS X.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-data-encoding
+  (package
+    (name "rust-data-encoding")
+    (version "2.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "data-encoding" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/ia0/data-encoding")
+    (synopsis "Efficient and customizable data-encoding functions")
+    (description
+     "This library provides encodings for many different common cases, including
+hexadecimal, bas32, and base64.")
+    (license license:expat)))
+
+(define-public rust-defmac
+  (package
+    (name "rust-defmac")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "defmac" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bluss/defmac")
+    (synopsis "Macro to define lambda-like macros inline")
+    (description "A macro to define lambda-like macros inline.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-defmac-0.1
+  (package
+    (inherit rust-defmac)
+    (name "rust-defmac")
+    (version "0.1.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "defmac" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa"))))))
+
 (define-public rust-discard
   (package
     (name "rust-discard")
@@ -193,6 +405,50 @@ provides implementations for @code{HashMap} and @code{HashSet}.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-findshlibs
+  (package
+    (name "rust-findshlibs")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "findshlibs" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1n2vagn0q5yim32hxkwi1cjgp3yn1dm45p7z8nw6lapywihhs9mi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static)
+        ("rust-libc" ,rust-libc))))
+    (home-page "https://github.com/gimli-rs/findshlibs")
+    (synopsis "Find the set of shared libraries loaded in the current process")
+    (description
+     "Find the set of shared libraries loaded in the current process with a
+cross platform API.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-fixedbitset
+  (package
+    (name "rust-fixedbitset")
+    (version "0.1.9")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fixedbitset" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0czam11mi80dbyhf4rd4lz0ihcf7vkfchrdcrn45wbs0h40dxm46"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bluss/fixedbitset")
+    (synopsis "FixedBitSet is a simple bitset collection")
+    (description "FixedBitSet is a simple bitset collection.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-fnv
   (package
     (name "rust-fnv")
@@ -213,6 +469,26 @@ implementation that is more efficient for smaller hash keys.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-foreign-types-shared
+  (package
+    (name "rust-foreign-types-shared")
+    (version "0.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "foreign-types-shared" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0kanxlif1vp0ffh2r9l610jqbkmb3183yqykxq1z5w1vay2rn7y6"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/sfackler/foreign-types")
+    (synopsis "An internal crate used by foreign-types")
+    (description
+     "An internal crate used by foreign-types.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-fs-extra
   (package
     (name "rust-fs-extra")
@@ -233,6 +509,70 @@ implementation that is more efficient for smaller hash keys.")
 process and much more.")
     (license license:expat)))
 
+(define-public rust-fuchsia-cprng
+  (package
+    (name "rust-fuchsia-cprng")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fuchsia-cprng" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1fnkqrbz7ixxzsb04bsz9p0zzazanma8znfdqjvh39n14vapfvx0"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f)) ; tests require zircon
+    (home-page "https://fuchsia.googlesource.com/fuchsia/+/master/garnet/public/rust/fuchsia-cprng")
+    (synopsis "Fuchsia cryptographically secure pseudorandom number generator")
+    (description "Rust crate for the Fuchsia cryptographically secure
+pseudorandom number generator")
+    (license license:bsd-3)))
+
+(define-public rust-fuchsia-zircon
+  (package
+    (name "rust-fuchsia-zircon")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fuchsia-zircon" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "10jxc5ks1x06gpd0xg51kcjrxr35nj6qhx2zlc5n7bmskv3675rf"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-bitflags" ,rust-bitflags)
+        ("rust-fuchsia-zircon-sys" ,rust-fuchsia-zircon-sys))
+       #:tests? #f)) ; tests require zircon
+    (home-page "https://fuchsia.googlesource.com/garnet/")
+    (synopsis "Rust bindings for the Zircon kernel")
+    (description "Rust bindings for the Zircon kernel.")
+    (license license:bsd-3)))
+
+(define-public rust-fuchsia-zircon-sys
+  (package
+    (name "rust-fuchsia-zircon-sys")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "fuchsia-zircon-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "19zp2085qsyq2bh1gvcxq1lb8w6v6jj9kbdkhpdjrl95fypakjix"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:tests? #f)) ; tests require zircon
+    (home-page "https://fuchsia.googlesource.com/garnet/")
+    (synopsis "Low-level Rust bindings for the Zircon kernel")
+    (description "Low-level Rust bindings for the Zircon kernel.")
+    (license license:bsd-3)))
+
 (define-public rust-futures
   (package
     (name "rust-futures")
@@ -253,6 +593,77 @@ featuring zero allocations, composability, and iterator-like interfaces.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-futures-cpupool
+  (package
+    (name "rust-futures-cpupool")
+    (version "0.1.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "futures-cpupool" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1r32456gpblzfvnkf60545v8acqk7gh5zhyhi1jn669k9gicv45b"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-futures" ,rust-futures)
+        ("rust-num-cpus" ,rust-num-cpus))))
+    (home-page "https://github.com/alexcrichton/futures-rs")
+    (synopsis "Implementation of thread pools which hand out futures")
+    (description
+     "An implementation of thread pools which hand out futures to the results of
+the computation on the threads themselves.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-futures-io-preview
+  (package
+    (name "rust-futures-io-preview")
+    (version "0.3.0-alpha.17")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "futures-io-preview" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8"))))
+    (build-system cargo-build-system)
+    (home-page "https://rust-lang-nursery.github.io/futures-rs/")
+    (synopsis "Async read and write traits for the futures library")
+    (description "This crate provides the @code{AsyncRead} and
+@code{AsyncWrite} traits for the @code{futures-rs} library.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-heapsize
+  (package
+    (name "rust-heapsize")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "heapsize" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))
+       ;; Tests assume rust is built with jemalloc.
+       ;; https://github.com/servo/heapsize/issues/74
+       #:cargo-test-flags '("--features" "flexible-tests")))
+    (home-page "https://github.com/servo/heapsize")
+    (synopsis "Measure the total runtime size of an object on the heap")
+    (description
+     "Infrastructure for measuring the total runtime size of an object on the
+heap.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-hex
   (package
     (name "rust-hex")
@@ -273,6 +684,53 @@ hexadecimal representation.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-hostname
+  (package
+    (name "rust-hostname")
+    (version "0.1.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "hostname" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0kprf862qaa7lwdms6aw7f3275h0j2rwhs9nz5784pm8hdmb9ki1"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc)
+        ("rust-winutil" ,rust-winutil))))
+    (home-page "https://github.com/fengcen/hostname")
+    (synopsis "Get hostname for Rust")
+    (description
+     "Get hostname for Rust.")
+    (license license:expat)))
+
+(define-public rust-iovec
+  (package
+    (name "rust-iovec")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "iovec" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "025vi072m22299z3fg73qid188z2iip7k41ba6v5v5yhwwby9rnv"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc)
+        ("rust-winapi" ,rust-winapi-0.2))))
+    (home-page "https://github.com/carllerche/iovec")
+    (synopsis "Portable buffer type for scatter/gather I/O operations")
+    (description
+     "Portable buffer type for scatter/gather I/O operations.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-itoa
   (package
     (name "rust-itoa")
@@ -313,6 +771,94 @@ friction with idiomatic Rust structs to ease interopability.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-kernel32-sys
+  (package
+    (name "rust-kernel32-sys")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "kernel32-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1389av0601a9yz8dvx5zha9vmkd6ik7ax0idpb032d28555n41vm"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2)
+        ("rust-winapi-build" ,rust-winapi-build))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-Cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.* }") "}\n"))
+             #t)))))
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Function definitions for the Windows API library kernel32")
+    (description "Contains function definitions for the Windows API library
+kernel32.")
+    (license license:expat)))
+
+(define-public rust-lazy-static
+  (package
+    (name "rust-lazy-static")
+    (version "1.3.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "lazy_static" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "052ac27w189hrf1j3hz7sga46rp84zl2hqnzyihxv78mgzr2jmxw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-spin" ,rust-spin))))
+    (home-page  "https://github.com/rust-lang-nursery/lazy-static.rs")
+    (synopsis "Macro for declaring lazily evaluated statics in Rust")
+    (description
+     "This package provides a macro for declaring lazily evaluated statics in
+Rust.  Using this macro, it is possible to have @code{static}s that require code
+to be executed at runtime in order to be initialized.  This includes anything
+requiring heap allocations, like vectors or hash maps, as well as anything that
+requires non-const function calls to be computed.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-libc
+  (package
+    (name "rust-libc")
+    (version "0.2.62")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core))))
+    (home-page "https://github.com/rust-lang/libc")
+    (synopsis "Raw FFI bindings to platform libraries like libc")
+    (description
+     "libc provides all of the definitions necessary to easily
+interoperate with C code (or \"C-like\" code) on each of the platforms
+that Rust supports. This includes type definitions (e.g., c_int),
+constants (e.g., EINVAL) as well as function headers (e.g., malloc).
+
+This crate exports all underlying platform types, functions, and
+constants under the crate root, so all items are accessible as
+@samp{libc::foo}.  The types and values of all the exported APIs match
+the platform that libc is compiled for.")
+    (license (list license:expat
+                   license:asl2.0))))
+
 (define-public rust-maplit
   (package
     (name "rust-maplit")
@@ -371,6 +917,222 @@ whether an expression matches a pattern.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-mime
+  (package
+    (name "rust-mime")
+    (version "0.3.13")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "mime" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "09clbyvdkwflp8anwjhqdib0sw8191gphcchdp80nc8ayhhwl9ry"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-unicase" ,rust-unicase))))
+    (home-page "https://github.com/hyperium/mime")
+    (synopsis "Strongly Typed Mimes")
+    (description
+     "Support MIME (HTTP Media Types) as strong types in Rust.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-modifier
+  (package
+    (name "rust-modifier")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "modifier" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0n3fmgli1nsskl0whrfzm1gk0rmwwl6pw1q4nb9sqqmn5h8wkxa1"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-modifier")
+    (synopsis
+      "Chaining APIs for both self -> Self and &mut self methods.")
+    (description
+      "Chaining APIs for both self -> Self and &mut self methods.")
+    (license license:expat)))
+
+(define-public rust-net2
+  (package
+    (name "rust-net2")
+    (version "0.2.33")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "net2" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "126g3fgfxp06zimc1l9iyxnn9cif1hjsg7sd81nlls5nnyghsma2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-cfg-if" ,rust-cfg-if)
+        ("rust-libc" ,rust-libc)
+        ("rust-winapi" ,rust-winapi))))
+    (home-page "https://github.com/rust-lang-nursery/net2-rs")
+    (synopsis "Extensions to the standard library's networking types")
+    (description
+     "This library contains extensions to the standard library's networking
+types as proposed in RFC 1158.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-nodrop
+  (package
+    (name "rust-nodrop")
+    (version "0.1.13")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "nodrop" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0if9ifn6rvar5jirx4b3qh4sl5kjkmcifycvzhxa9j3crkfng5ig"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-nodrop-union" ,rust-nodrop-union))))
+    (home-page "https://github.com/bluss/arrayvec")
+    (synopsis "Wrapper type to inhibit drop (destructor)")
+    (description "This package provides a wrapper type to inhibit drop
+(destructor).  Use @code{std::mem::ManuallyDrop} instead!")
+    (license (list license:asl2.0
+                   license:expat))))
+
+;; This package requires features which are unavailable
+;; on the stable releases of Rust.
+(define-public rust-nodrop-union
+  (package
+    (name "rust-nodrop-union")
+    (version "0.1.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "nodrop-union" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0jsnkdn9l8jlmb9h4wssi76sxnyxwnyi00p6y1p2gdq7c1gdw2b7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bluss/arrayvec")
+    (synopsis "Wrapper type to inhibit drop (destructor)")
+    (description "This package provides a wrapper type to inhibit drop
+(destructor).  Implementation crate for nodrop, the untagged unions
+implementation (which is unstable / requires nightly).")
+    (properties '((hidden? . #t)))
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-num-cpus
+  (package
+    (name "rust-num-cpus")
+    (version "1.10.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "num_cpus" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0wrj3zvj6h3q26sqj9zxpd59frjb54n7jhjwf307clq31ic47vxw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment))))
+    (home-page "https://github.com/seanmonstar/num_cpus")
+    (synopsis "Get the number of CPUs on a machine")
+    (description
+     "Get the number of CPUs on a machine.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-num-integer
+  (package
+    (name "rust-num-integer")
+    (version "0.1.41")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-integer" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "02dwjjpfbi16c71fq689s4sw3ih52cvfzr5z5gs6qpr5z0g58pmq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-autocfg" ,rust-autocfg)
+        ("rust-num-traits" ,rust-num-traits))))
+    (home-page "https://github.com/rust-num/num-integer")
+    (synopsis "Integer traits and functions")
+    (description "Integer traits and functions.")
+    ;; Dual licensed.
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-num-iter
+  (package
+    (name "rust-num-iter")
+    (version "0.1.39")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "num-iter" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0bhk2qbr3261r6zvfc58lz4spfqjhvdripxgz5mks5rd85r55gbn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-integer" ,rust-num-integer)
+        ("rust-num-traits" ,rust-num-traits))
+       #:cargo-development-inputs
+       (("rust-autocfg" ,rust-autocfg))))
+    (home-page "https://github.com/rust-num/num-iter")
+    (synopsis "External iterators for generic mathematics")
+    (description
+     "This crate provides external iterators for generic mathematics.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-num-traits
+  (package
+    (name "rust-num-traits")
+    (version "0.2.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "num-traits" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0clvrm34rrqc8p6gq5ps5fcgws3kgq5knh7nlqxf2ayarwks9abb"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-autocfg" ,rust-autocfg))))
+    (home-page "https://github.com/rust-num/num-traits")
+    (synopsis "Numeric traits for generic mathematics")
+    (description "Numeric traits for generic mathematics.")
+    ;; Dual licensed.
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-peeking-take-while
   (package
     (name "rust-peeking-take-while")
@@ -413,6 +1175,28 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-permutohedron
+  (package
+    (name "rust-permutohedron")
+    (version "0.2.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "permutohedron" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0b1pzh48j86v46wxngch6k1kx9cdw3jr3lwa86gd6jd4bmxzz1xn"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bluss/permutohedron")
+    (synopsis "Generate permutations of sequences")
+    (description
+     "Generate permutations of sequences.  Either lexicographical order
+permutations, or a minimal swaps permutation sequence implemented using Heap's
+algorithm.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-pin-utils
   (package
     (name "rust-pin-utils")
@@ -432,6 +1216,32 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-pkg-config
+  (package
+    (name "rust-pkg-config")
+    (version "0.3.14")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "pkg-config" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "135ia995lqzr0gxpk85h0bjxf82kj6hbxdx924sh9jdln6r8wvk7"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-lazy-static" ,rust-lazy-static))))
+    (inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/alexcrichton/pkg-config-rs")
+    (synopsis "Library to run the pkg-config system tool")
+    (description
+     "A library to run the pkg-config system tool at build time in order to be
+used in Cargo build scripts.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-plain
   (package
     (name "rust-plain")
@@ -452,6 +1262,30 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}.
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-plugin
+  (package
+    (name "rust-plugin")
+    (version "0.2.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "plugin" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1q7nghkpvxxr168y2jnzh3w7qc9vfrby9n7ygy3xpj0bj71hsshs"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-typemap" ,rust-typemap))
+       #:cargo-development-inputs
+       (("rust-void" ,rust-void))))
+    (home-page "https://github.com/reem/rust-plugin")
+    (synopsis "Lazily evaluated, order-independent plugins for extensible types")
+    (description
+     "Lazily evaluated, order-independent plugins for extensible types.")
+    (license license:expat)))
+
 (define-public rust-pocket-resources
   (package
     (name "rust-pocket-resources")
@@ -558,6 +1392,107 @@ to write.")
     ;; Dual licensed.
     (license (list license:asl2.0 license:expat))))
 
+(define-public rust-rawpointer
+  (package
+    (name "rust-rawpointer")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "rawpointer" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "06ghpm9y7gacks78s3maakha07kbnwrxif5q37r2l7z1sali3b7b"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/bluss/rawpointer/")
+    (synopsis "Extra methods for raw pointers")
+    (description "Extra methods for raw pointers.  For example
+@code{.post_inc()} and @code{.pre_dec()} (c.f. @code{ptr++} and @code{--ptr})
+and @code{ptrdistance}.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-regex-syntax
+  (package
+    (name "rust-regex-syntax")
+    (version "0.6.10")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "regex-syntax" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0p47lf38yj2g2fnmvnraccqlxwk35zr76hlnqi8yva932nzqam6d"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-ucd-util" ,rust-ucd-util))))
+    (home-page "https://github.com/rust-lang/regex")
+    (synopsis "Regular expression parser")
+    (description
+     "This package provides a regular expression parser.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-remove-dir-all
+  (package
+    (name "rust-remove-dir-all")
+    (version "0.5.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "remove_dir_all" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0bkrlyg26mgizpiy1yb2hhpgscxcag8r5fnckqsvk25608vzm0sa"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-source
+           ;; The test phase expects there to be a README.md in the root directory.
+           (lambda _
+             (invoke "touch" "README.md"))))))
+    (home-page "https://github.com/XAMPPRocky/remove_dir_all.git")
+    (synopsis "Implementation of remove_dir_all for Windows")
+    (description
+     "This package provides a safe, reliable implementation of
+@code{remove_dir_all} for Windows")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-resolv-conf
+  (package
+    (name "rust-resolv-conf")
+    (version "0.6.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "resolv-conf" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1jvdsmksdf6yiipm3aqahyv8n1cjd7wqc8sa0p0gzsax3fmb8qxj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-quick-error" ,rust-quick-error)
+        ("rust-hostname" ,rust-hostname))
+       #:cargo-test-flags '("--release" "--lib" "--examples"))) ; doc tests fail
+    (home-page "https://github.com/tailhook/resolv-conf")
+    (synopsis "/etc/resolv.conf parser")
+    (description
+     "An /etc/resolv.conf parser crate for Rust.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-rustc-std-workspace-core
   (package
     (name "rust-rustc-std-workspace-core")
@@ -578,6 +1513,74 @@ rust-lang/rust integration.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-safemem
+  (package
+    (name "rust-safemem")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "safemem" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1l1ljkm4lpyryrv2ndaxi1f7z1f3v9bwy1rzl9f9mbhx04iq9c6j"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/abonander/safemem")
+    (synopsis "Safe wrappers for memory-accessing functions")
+    (description
+     "Safe wrappers for memory-accessing functions, like @code{std::ptr::copy()}.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-same-file
+  (package
+    (name "rust-same-file")
+    (version "1.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "same-file" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "08a4zy10pjindf2rah320s6shgswk13mqw7s61m8i1y1xpf8spjq"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+      (("rust-winapi-util" ,rust-winapi-util))))
+    (home-page "https://github.com/BurntSushi/same-file")
+    (synopsis "Determine whether two file paths point to the same file")
+    (description
+     "This package provides a simple crate for determining whether two file
+paths point to the same file.")
+    (license (list license:unlicense
+                   license:expat))))
+
+(define-public rust-schannel
+  (package
+    (name "rust-schannel")
+    (version "0.1.15")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "schannel" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0f9k4pm8yc3z0n1n8hazvnrvg52f0sfxjc91bhf3r76rb3rapxpj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static)
+        ("rust-winapi" ,rust-winapi))))
+    (home-page "https://github.com/steffengy/schannel-rs")
+    (synopsis "Rust bindings to the Windows SChannel APIs")
+    (description
+     "Rust bindings to the Windows SChannel APIs providing TLS client and
+server functionality.")
+    (license license:expat)))
+
 (define-public rust-scoped-tls
   (package
     (name "rust-scoped-tls")
@@ -599,6 +1602,20 @@ library's old @code{scoped_thread_local!} macro for providing scoped access to
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-scoped-tls-0.1
+  (package
+    (inherit rust-scoped-tls)
+    (name "rust-scoped-tls")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scoped-tls" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk"))))))
+
 (define-public rust-scopeguard
   (package
     (name "rust-scopeguard")
@@ -622,6 +1639,45 @@ with one of the implemented strategies.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-scopeguard-0.3
+  (package
+    (inherit rust-scopeguard)
+    (name "rust-scopeguard")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "scopeguard" version))
+        (file-name
+          (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl"))))))
+
+(define-public rust-security-framework-sys
+  (package
+    (name "rust-security-framework-sys")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "security-framework-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0mlsakq9kmqyc0fg2hcbgm6rjk55mb0rhjw2wid3hqdzkjcghdln"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-core-foundation-sys"
+         ,rust-core-foundation-sys))))
+    (home-page "https://lib.rs/crates/security-framework-sys")
+    (synopsis "Apple `Security.framework` low-level FFI bindings")
+    (description
+     "Apple `Security.framework` low-level FFI bindings.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-semver-parser
   (package
     (name "rust-semver-parser")
@@ -700,6 +1756,30 @@ spinning.  They may contain data, are usable without @code{std},and static
 initializers are available.")
     (license license:expat)))
 
+(define-public rust-stable-deref-trait
+  (package
+    (name "rust-stable-deref-trait")
+    (version "1.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "stable_deref_trait" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1j2lkgakksmz4vc5hfawcch2ipiskrhjs1sih0f3br7s7rys58fv"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/storyyeller/stable_deref_trait0")
+    (synopsis "Defines an unsafe marker trait, StableDeref")
+    (description
+      "This crate defines an unsafe marker trait, StableDeref, for container
+types which deref to a fixed address which is valid even when the containing
+type is moved.  For example, Box, Vec, Rc, Arc and String implement this trait.
+Additionally, it defines CloneStableDeref for types like Rc where clones deref
+to the same address.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-stdweb-internal-runtime
   (package
     (name "rust-stdweb-internal-runtime")
@@ -720,6 +1800,53 @@ crate.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-stdweb-internal-test-macro
+  (package
+    (name "rust-stdweb-internal-test-macro")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "stdweb-internal-test-macro" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "12rrm7p77xnm3xacgn3rgniiyyjb4gq7902wpbljsvbx045z69l2"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2)
+        ("rust-quote" ,rust-quote))))
+    (home-page "https://github.com/koute/stdweb")
+    (synopsis "Internal crate of the `stdweb` crate")
+    (description
+     "Internal crate of the @code{stdweb} crate.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-streaming-stats
+  (package
+    (name "rust-streaming-stats")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "streaming-stats" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0l7xz4g6709s80zqpvlhrg0qhgz64r94cwhmfsg8xhabgznbp2px"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-traits" ,rust-num-traits))))
+    (home-page "https://github.com/BurntSushi/rust-stats")
+    (synopsis "Compute basic statistics on streams")
+    (description
+     "Experimental crate for computing basic statistics on streams.")
+    (license (list license:unlicense
+                   license:expat))))
+
 (define-public rust-strsim
   (package
     (name "rust-strsim")
@@ -759,6 +1886,242 @@ and Jaro-Winkler.")
      "This package provides helper test traits for synstructure doctests.")
     (license license:expat)))
 
+(define-public rust-termcolor
+  (package
+    (name "rust-termcolor")
+    (version "1.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "termcolor" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0vjfsn1a8zvqhnrbygrz1id6yckwv1dncw3w4zj65qdx0f00kmln"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-wincolor" ,rust-wincolor))))
+    (home-page "https://github.com/BurntSushi/termcolor")
+    (synopsis "Library for writing colored text to a terminal")
+    (description "This package provides a simple cross platform library for
+writing colored text to a terminal.")
+    (license (list license:unlicense
+                   license:expat))))
+
+(define-public rust-termios
+  (package
+    (name "rust-termios")
+    (version "0.3.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "termios" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "09any1p4jp4bphvb5ikagnvwjc3xn2djchy96nkpa782xb2j1dkj"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-libc" ,rust-libc))))
+    (home-page  "https://github.com/dcuddeback/termios-rs")
+    (synopsis "Safe bindings for the termios library")
+    (description
+     "The termios crate provides safe bindings for the Rust programming language
+to the terminal I/O interface implemented by Unix operating systems.  The safe
+bindings are a small wrapper around the raw C functions, which converts integer
+return values to @code{std::io::Result} to indicate success or failure.")
+    (license license:expat)))
+
+(define-public rust-thread-local
+  (package
+    (name "rust-thread-local")
+    (version "0.3.6")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "thread_local" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "06rzik99p8c5js8238yhc8rk6np543ylb1dy9nrw5v80j0r3xdf6"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+      (("rust-lazy-static" ,rust-lazy-static))))
+    (home-page "https://github.com/Amanieu/thread_local-rs")
+    (synopsis "Per-object thread-local storage")
+    (description "Per-object thread-local storage")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-threadpool
+  (package
+    (name "rust-threadpool")
+    (version "1.7.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "threadpool" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0rd89n1q7vy47w4c32cnynibffv9kj3jy3dwr0536n9lbw5ckw72"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-num-cpus" ,rust-num-cpus))))
+    (home-page "https://github.com/rust-threadpool/rust-threadpool")
+    (synopsis "Thread pool for running jobs on a fixed set of worker threads")
+    (description
+     "This package provides a thread pool for running a number of jobs on a
+fixed set of worker threads.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-tokio-mock-task
+  (package
+    (name "rust-tokio-mock-task")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "tokio-mock-task" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1y7q83qfk9ljjfvs82b453pmz9x1v3d6kr4x55j8mal01s6790dw"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-futures" ,rust-futures))))
+    (home-page  "https://github.com/carllerche/tokio-mock-task")
+    (synopsis "Mock a Tokio task")
+    (description "Mock a Tokio task")
+    (license license:expat)))
+
+(define-public rust-tracing-core
+  (package
+    (name "rust-tracing-core")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "tracing-core" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "01fa73wzw2m5ybi3kkd52dgrw97mgc3i6inmhwys46ab28giwnxi"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-lazy-static" ,rust-lazy-static))))
+    (home-page "https://tokio.rs")
+    (synopsis "Core primitives for application-level tracing")
+    (description
+     "Core primitives for application-level tracing.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-traitobject
+  (package
+    (name "rust-traitobject")
+    (version "0.1.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "traitobject" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0yb0n8822mr59j200fyr2fxgzzgqljyxflx9y8bdy3rlaqngilgg"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-traitobject.git")
+    (synopsis "Unsafe helpers for dealing with raw trait objects")
+    (description "Unsafe helpers for dealing with raw trait objects.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-try-from
+  (package
+    (name "rust-try-from")
+    (version "0.3.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "try_from" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+      (("rust-cfg-if" ,rust-cfg-if))))
+    (home-page "https://github.com/derekjw/try_from")
+    (synopsis "TryFrom and TryInto traits for failable conversions")
+    (description
+      "TryFrom and TryInto traits for failable conversions that return a Result.")
+    (license license:expat)))
+
+(define-public rust-try-lock
+  (package
+    (name "rust-try-lock")
+    (version "0.2.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "try-lock" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "10p36rx6pqi9d0zr876xa8vksx2m66ha45myakl50rn08dxyn176"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/seanmonstar/try-lock")
+    (synopsis "Lightweight atomic lock")
+    (description
+     "This package provides a lightweight atomic lock.")
+    (license license:expat)))
+
+(define-public rust-typeable
+  (package
+    (name "rust-typeable")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "typeable" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "11w8dywgnm32hb291izjvh4zjd037ccnkk77ahk63l913zwzc40l"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-typeable")
+    (synopsis "Exposes Typeable, for getting TypeIds at runtime")
+    (description "Exposes Typeable, for getting TypeIds at runtime.")
+    (license license:expat)))
+
+(define-public rust-typemap
+  (package
+    (name "rust-typemap")
+    (version "0.3.3")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "typemap" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1xm1gbvz9qisj1l6d36hrl9pw8imr8ngs6qyanjnsad3h0yfcfv5"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-unsafe-any" ,rust-unsafe-any))))
+    (home-page "https://github.com/reem/rust-typemap")
+    (synopsis "Typesafe store for many value types")
+    (description
+     "A typesafe store for many value types.")
+    (license license:expat)))
+
 (define-public rust-typenum
   (package
     (name "rust-typenum")
@@ -781,6 +2144,29 @@ implementation is incomplete.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-ucd-trie
+  (package
+    (name "rust-ucd-trie")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ucd-trie" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1hh6kyzh5xygwy96wfmsf8v8czlzhps2lgbcyhj1xzy1w1xys04g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+      (("rust-lazy-static" ,rust-lazy-static))))
+    (home-page "https://github.com/BurntSushi/ucd-generate")
+    (synopsis "Trie for storing Unicode codepoint sets and maps")
+    (description
+     "This package provides a trie for storing Unicode codepoint sets and maps.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-ucd-util
   (package
     (name "rust-ucd-util")
@@ -801,6 +2187,28 @@ with the Unicode character database.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-unicase
+  (package
+    (name "rust-unicase")
+    (version "2.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unicase" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1xmpmkakhhblq7dzab1kwyv925kv7fqjkjsxjspg6ix9n88makm8"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-version-check" ,rust-version-check-0.1))))
+    (home-page "https://github.com/seanmonstar/unicase")
+    (synopsis "Case-insensitive wrapper around strings")
+    (description
+     "A case-insensitive wrapper around strings.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-unicode-width
   (package
     (name "rust-unicode-width")
@@ -863,6 +2271,151 @@ whitespace from a string.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-unsafe-any
+  (package
+    (name "rust-unsafe-any")
+    (version "0.4.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "unsafe-any" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0zwwphsqkw5qaiqmjwngnfpv9ym85qcsyj7adip9qplzjzbn00zk"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-traitobject" ,rust-traitobject))))
+    (home-page "https://tokio.rs")
+    (synopsis "Traits and implementations for unchecked downcasting")
+    (description
+     "Traits and implementations for unchecked downcasting.")
+    (license license:expat)))
+
+(define-public rust-untrusted
+  (package
+    (name "rust-untrusted")
+    (version "0.7.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "untrusted" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1kmfykcwif6ashkwg54gcnhxj03kpba2i9vc7z5rpr0xlgvrwdk0"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/briansmith/untrusted")
+    (synopsis "Zero-allocation parsing of untrusted inputs in Rust")
+    (description
+     "Safe, fast, zero-panic, zero-crashing, zero-allocation parsing of
+untrusted inputs in Rust.")
+    (license license:isc)))
+
+(define-public rust-version-check
+  (package
+    (name "rust-version-check")
+    (version "0.9.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "version_check" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/SergioBenitez/version_check")
+    (synopsis "Check that the installed rustc meets some version requirements")
+    (description
+     "This tiny crate checks that the running or installed rustc meets some
+version requirements.  The version is queried by calling the Rust compiler with
+@code{--version}.  The path to the compiler is determined first via the
+@code{RUSTC} environment variable.  If it is not set, then @code{rustc} is used.
+If that fails, no determination is made, and calls return None.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-version-check-0.1
+  (package
+    (inherit rust-version-check)
+    (name "rust-version-check")
+    (version "0.1.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "version_check" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
+
+(define-public rust-void
+  (package
+    (name "rust-void")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "void" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0zc8f0ksxvmhvgx4fdg0zyn6vdnbxd2xv9hfx4nhzg6kbs4f80ka"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/reem/rust-void.git")
+    (synopsis "Void type for use in statically impossible cases")
+    (description
+     "The uninhabited void type for use in statically impossible cases.")
+    (license license:expat)))
+
+(define-public rust-walkdir
+  (package
+    (name "rust-walkdir")
+    (version "2.2.9")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "walkdir" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "07ppalpvxkf8cnqr64np422792y4z5bs9m8b4nrflh5rm17wjn4n"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-same-file" ,rust-same-file)
+        ("rust-winapi" ,rust-winapi)
+        ("rust-winapi-util" ,rust-winapi-util))
+       #:cargo-development-inputs
+       (("rust-doc-comment" ,rust-doc-comment))))
+    (home-page  "https://github.com/BurntSushi/walkdir")
+    (synopsis "Recursively walk a directory")
+    (description "Recursively walk a directory.")
+    (license (list license:unlicense
+                   license:expat))))
+
+(define-public rust-wasi
+  (package
+    (name "rust-wasi")
+    (version "0.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "wasi" version))
+       (file-name
+        (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ir3pd4phdfml0cbziw9bqp7mnk0vfp9biy8bh25lln6raml4m7x"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/CraneStation/rust-wasi")
+    (synopsis "Experimental WASI API bindings for Rust")
+    (description "This package contains experimental WASI API bindings
+in Rust.")
+    (license license:asl2.0)))
+
 (define-public rust-wasm-bindgen-shared
   (package
     (name "rust-wasm-bindgen-shared")
@@ -883,10 +2436,59 @@ whitespace from a string.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-wasm-bindgen-test-macro
+  (package
+    (name "rust-wasm-bindgen-test-macro")
+    (version "0.2.48")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "wasm-bindgen-test-macro" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0n28mr6vncf1k1qr2b5bvfxq4jvqkjdzq0z0ab6w2f5d6v8q3q3l"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-proc-macro2" ,rust-proc-macro2)
+        ("rust-quote" ,rust-quote))))
+    (home-page "https://github.com/rustwasm/wasm-bindgen")
+    (synopsis "Internal testing macro for wasm-bindgen")
+    (description
+     "This library contains the internal testing macro for wasm-bindgen.")
+    (license (list license:asl2.0
+                   license:expat))))
+
+(define-public rust-widestring
+  (package
+    (name "rust-widestring")
+    (version "0.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "widestring" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1dhx6dndjsz1y7c9w06922412kdxyrrkqblvggm76mh8z17hxz7g"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-development-inputs
+       (("rust-winapi" ,rust-winapi))))
+    (home-page "https://github.com/starkat99/widestring-rs")
+    (synopsis "Wide string Rust FFI library")
+    (description
+     "A wide string Rust FFI library for converting to and from wide strings,
+such as those often used in Windows API or other FFI libaries.  Both UTF-16 and
+UTF-32 types are provided, including support for malformed encoding.")
+    (license (list license:asl2.0
+                   license:expat))))
+
 (define-public rust-winapi
   (package
     (name "rust-winapi")
-    (version "0.3.7")
+    (version "0.3.8")
     (source
       (origin
         (method url-fetch)
@@ -894,7 +2496,7 @@ whitespace from a string.")
         (file-name (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0w7pbhcl087lkggxdflfp2i92rq89ahsfdkjkv44fgmiy9m3h3pi"))))
+          "1ii9j9lzrhwri0902652awifzx9fpayimbp6hfhhc296xcg0k4w0"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -909,6 +2511,46 @@ whitespace from a string.")
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-winapi-0.2
+  (package
+    (inherit rust-winapi)
+    (name "rust-winapi")
+    (version "0.2.8")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0yh816lh6lf56dpsgxy189c2ai1z3j8mw9si6izqb6wsjkbcjz8n"))))
+    ;; We do not want to package 48 -sys crates for a package we do not want.
+    ;; They are all dev dependencies, so we skip building and testing.
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))))
+
+(define-public rust-winapi-build
+  (package
+    (name "rust-winapi-build")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi-build" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1g4rqsgjky0a7530qajn2bbfcrl2v0zb39idgdws9b1l7gp5wc9d"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Common code for build.rs in WinAPI -sys crates")
+    (description
+     "Common code for build.rs in WinAPI -sys crates.")
+    (license license:expat)))
+
 (define-public rust-winapi-i686-pc-windows-gnu
   (package
     (name "rust-winapi-i686-pc-windows-gnu")
@@ -930,6 +2572,29 @@ i686-pc-windows-gnu target.  Please don't use this crate directly, depend on
     (license (list license:asl2.0
                    license:expat))))
 
+(define-public rust-winapi-util
+  (package
+    (name "rust-winapi-util")
+    (version "0.1.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winapi-util" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs (("rust-winapi" ,rust-winapi))))
+    (home-page "https://github.com/BurntSushi/winapi-util")
+    (synopsis "Dumping ground for high level safe wrappers over winapi")
+    (description
+     "This package provides a dumping ground for high level safe wrappers over
+winapi.")
+    (license (list license:unlicense
+                   license:expat))))
+
 (define-public rust-winapi-x86-64-pc-windows-gnu
   (package
     (name "rust-winapi-x86-64-pc-windows-gnu")
@@ -950,3 +2615,106 @@ x86_64-pc-windows-gnu target.  Please don't use this crate directly, depend on
 @code{winapi} instead.")
     (license (list license:asl2.0
                    license:expat))))
+
+(define-public rust-wincolor
+  (package
+    (name "rust-wincolor")
+    (version "1.0.2")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "wincolor" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "1agaf3hcav113i86912ajnw6jxcy4rvkrgyf8gdj8kc031mh3xcn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi)
+        ("rust-winapi-util" ,rust-winapi-util))))
+    (home-page "https://github.com/BurntSushi/termcolor/tree/master/wincolor")
+    (synopsis "Windows API for controlling text color in a Windows console")
+    (description
+     "This package provides a simple Windows specific API for controlling text
+color in a Windows console.")
+    (license (list license:unlicense
+                   license:expat))))
+
+(define-public rust-winutil
+  (package
+    (name "rust-winutil")
+    (version "0.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "winutil" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0vkyl3fbbf05n5ph5yz8sfaccrk9x3qsr25560w6w68ldf5i7bvx"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi))
+       ;; This unmaintained crate cannot find winapi when built directly.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'build))))
+    (home-page "https://bitbucket.org/DaveLancaster/winutil")
+    (synopsis "Library wrapping a handful of useful winapi functions")
+    (description
+     "A simple library wrapping a handful of useful winapi functions.")
+    (license license:expat)))
+
+(define-public rust-ws2-32-sys
+  (package
+    (name "rust-ws2-32-sys")
+    (version "0.2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "ws2_32-sys" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0ppscg5qfqaw0gzwv2a4nhn5bn01ff9iwn6ysqnzm4n8s3myz76m"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-winapi" ,rust-winapi-0.2)
+        ("rust-winapi-build" ,rust-winapi-build))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-Cargo-toml
+           (lambda _
+             (substitute* "Cargo.toml"
+               ((", path =.* }") "}\n"))
+             #t)))))
+    (home-page "https://github.com/retep998/winapi-rs")
+    (synopsis "Function definitions for the Windows API library ws2_32")
+    (description
+     "Contains function definitions for the Windows API library ws2_32.")
+    (license license:expat)))
+
+(define-public rust-xdg
+  (package
+    (name "rust-xdg")
+    (version "2.2.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (crate-uri "xdg" version))
+        (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0mws8a0fr3cqk5nh7aq9lmkmhzghvasqy4mhw6nnza06l4d6i2fh"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/whitequark/rust-xdg")
+    (synopsis "Store and retrieve files according to XDG specification")
+    (description
+     "This package provides a library for storing and retrieving files according
+to XDG Base Directory specification")
+    (license (list license:asl2.0
+                   license:expat))))
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 467aa5d84c..22b87460ab 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -594,7 +594,7 @@ should only be used as part of the Guix cups-pk-helper service.")
               (method url-fetch)
               (uri (string-append
                     "http://www.openprinting.org/download/foomatic/"
-                    name "-" version ".tar.gz"))
+                    "foomatic-filters-" version ".tar.gz"))
               (sha256
                (base32
                 "1qrkgbm5jay2r7sh9qbyf0aiyrsl1mdc844hxf7fhw95a0zfbqm2"))
@@ -639,14 +639,14 @@ printer/driver specific, but spooler-independent PPD file.")
 (define-public foo2zjs
   (package
     (name "foo2zjs")
-    (version "20190413")
+    (version "20190517")
     (source (origin
               (method url-fetch)
               ;; XXX: This is an unversioned URL!
               (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
               (sha256
                (base32
-                "0djzp3ddslmzyxkjhzkhkg6qqqm02whjfnfvh5glprkshcskzlg9"))))
+                "13gzsd26nq4brx1xzpwmg1qnr4nk7ykgi94qr1hbjqfi561prki4"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/cvassistant.scm b/gnu/packages/cvassistant.scm
new file mode 100644
index 0000000000..f57806d734
--- /dev/null
+++ b/gnu/packages/cvassistant.scm
@@ -0,0 +1,90 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.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 packages cvassistant)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages compression))
+
+(define-public cvassistant
+  (package
+    (name "cvassistant")
+    (version "3.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/cvassistant/"
+                                  "cvassistant-" version "-src.tar.bz2"))
+              (sha256
+               (base32
+                "1y2680bazyiwm50gdhdd4982ckbjscrkbw2mngyk7yw708iadvr7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'remove-donation-banner
+           ;; Remove dialog box with a donation link, as suggested by
+           ;; the INSTALL file.
+           (lambda _
+             (substitute* "controllers/mainwindow.cpp"
+               (("//(#define NO_DONATION_PROMPT)" _ line) line))
+             #t))
+         (add-after 'unpack 'fix-quazip-directory
+           (lambda _
+             (substitute* "models/resumedocument.h"
+               (("quazip(/quazipfile\\.h)" _ suffix)
+                (string-append "quazip5" suffix)))
+             #t))
+         (add-after 'fix-quazip-directory 'fix-quazip-link
+           (lambda _
+             (substitute* "CVAssistant.pro"
+               (("lquazip-qt5")
+                "lquazip5"))
+             #t))
+         (add-after 'fix-quazip-directory 'fix-install-root
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (substitute* "CVAssistant.pro"
+                 (("/usr/(bin|share/)" _ suffix)
+                  (string-append out "/" suffix)))
+               #t)))
+         (replace 'configure
+           (lambda _ (invoke "qmake"))))))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("quazip" ,quazip)
+       ("zlib" ,zlib)))
+    (home-page "https://cvassistant.sourceforge.io/")
+    (synopsis "Job application organizer")
+    (description "Whether you're looking for a job or trying to help
+  a friend to find one, CVAssistant is a tool for you.  It helps you by
+  preparing resumes and cover letters and organizing your job
+  application process.  It:
+  @itemize
+  @item Stores all your skills and experiences.
+  @item Creates resumes tailored for each job you apply.
+  @item Creates cover letters summarized to match each job
+  advertisement.
+  @item Keeps a history of job applications so you are ready when you
+  receive a phone call.
+  @item Writes resumes in your language.  All languages are supported!
+  @end itemize")
+    (license license:gpl3+)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4194f1f607..a15ac62b8f 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2101,20 +2101,19 @@ for ODBC.")
 (define-public python-pyodbc
   (package
     (name "python-pyodbc")
-    (version "4.0.26")
+    (version "4.0.27")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pyodbc" version))
        (sha256
-        (base32 "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5"))
+        (base32 "1kd2i7hc1330cli72vawzby17c3039cqn1aba4i0zrjnpghjhmib"))
        (file-name (string-append name "-" version ".tar.gz"))))
     (build-system python-build-system)
     (inputs
      `(("unixodbc" ,unixodbc)))
     (arguments
-     `(;; No unit tests exist.
-       #:tests? #f))
+     `(#:tests? #f))                    ; no unit tests exist
     (home-page "https://github.com/mkleehammer/pyodbc")
     (synopsis "Python ODBC Library")
     (description "@code{python-pyodbc} provides a Python DB-API driver
@@ -2431,14 +2430,14 @@ You might also want to install the following optional dependencies:
 (define-public python-alembic
   (package
     (name "python-alembic")
-    (version "1.0.10")
+    (version "1.0.11")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "alembic" version))
        (sha256
         (base32
-         "1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2"))))
+         "1k5hag0vahd5vrf9abx8fdj2whrwaw2iq2yp736mmxnbsn5xkdyd"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-mock" ,python-mock)
@@ -2449,8 +2448,7 @@ You might also want to install the following optional dependencies:
        ("python-mako" ,python-mako)
        ("python-editor" ,python-editor)))
     (home-page "https://bitbucket.org/zzzeek/alembic")
-    (synopsis
-     "Database migration tool for SQLAlchemy")
+    (synopsis "Database migration tool for SQLAlchemy")
     (description
      "Alembic is a lightweight database migration tool for usage with the
 SQLAlchemy Database Toolkit for Python.")
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 187ef74b4e..cf53142533 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -760,7 +760,7 @@ LVM D-Bus API).")
 (define-public rmlint
   (package
     (name "rmlint")
-    (version "2.8.0")
+    (version "2.9.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -769,7 +769,7 @@ LVM D-Bus API).")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1gc7gbnh0qg1kl151cv1ld87vhpm1v3pnkn7prhscdcc21jrg8nz"))))
+                "1b5cziam14h80xrfb285fmfrzz2rligxcpsq1xsig14xf4l2875i"))))
     (build-system scons-build-system)
     (arguments
      `(#:scons ,scons-python2
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 70e7c8331b..58214747e7 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -481,3 +481,43 @@ use the computer and at the same time teach them a little math,
 letters of the alphabet, spelling, eye-hand coordination, etc.")
     (home-page "http://www.schoolsplay.org")
     (license license:gpl3+)))
+
+(define-public fet
+  (package
+    (name "fet")
+    (version "5.39.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
+                                  "fet-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "100bmggkychqs2cavqxy7015lr4icw6k99qb03im0v4jasqqmyix"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-hardcoded-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* (list "fet.pro"
+                                "src/src.pro"
+                                "src/src-cl.pro"
+                                "src/interface/fet.cpp")
+               (("/usr") (assoc-ref outputs "out")))
+             #t))
+         (replace 'configure
+           (lambda _ (invoke "qmake" "fet.pro"))))))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (home-page "https://www.lalescu.ro/liviu/fet/")
+    (synopsis "Timetabling software")
+    (description "FET is a program for automatically scheduling the
+timetable of a school, high-school or university.  It uses a fast and
+efficient timetabling algorithm.
+
+Usually, FET is able to solve a complicated timetable in maximum 5-20
+minutes.  For simpler timetables, it may take a shorter time, under
+5 minutes (in some cases, a matter of seconds).  For extremely
+difficult timetables, it may take a longer time, a matter of hours.")
+    (license license:agpl3+)))
+
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2862f7b975..06043dcdd3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -905,6 +905,35 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
 @code{skip-chars-backward}.")
     (license license:gpl3+)))
 
+(define-public emacs-ample-regexps
+  (let ((commit "cbe91e148cac1ee8e223874dc956ed4cf607f046")
+        (revision "1"))
+    (package
+      (name "emacs-ample-regexps")
+      (version (git-version "0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/immerrr/ample-regexps.el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1mm4icrwx4mscp7kbbmlc34995r164dhrfczn5ybkyxjzzf76jn1"))))
+      (build-system emacs-build-system)
+      (native-inputs
+       `(("ert-runner" ,emacs-ert-runner)))
+      (arguments
+       `(#:tests? #t
+         #:test-command '("ert-runner" "-l" "ample-regexps")))
+      (home-page "https://github.com/immerrr/ample-regexps.el")
+      (synopsis "Compose and reuse Emacs regexps")
+      (description
+       "This package allows common parts of regexps to be easily picked out
+and reused.")
+      (license license:gpl3+))))
+
 (define-public emacs-reformatter
   (package
     (name "emacs-reformatter")
@@ -3048,30 +3077,27 @@ for Flow files.")
       (license license:gpl3+))))
 
 (define-public emacs-elisp-demos
-  (let ((commit "4c1fbc392668662890b685ab297e950259227e06")
-        (version "0.1")
-        (revision "1"))
-    (package
-      (name "emacs-elisp-demos")
-      (version (git-version version revision commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/xuchunyang/elisp-demos")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "01cbkmjgmzxdf02w9xgbf4bhnx1mh53vvpkri13yxfksym5zizp4"))))
-      (build-system emacs-build-system)
-      (arguments '(#:include '("\\.el$" "\\.org$")))
-      (home-page "https://github.com/xuchunyang/elisp-demos/")
-      (synopsis "Enhance @code{*Help*} buffers with additional examples")
-      (description
-       "This package injects example uses of Elisp functions into their
+  (package
+    (name "emacs-elisp-demos")
+    (version "2019.08.16")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/xuchunyang/elisp-demos")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0lybadq66bl4snkwph9i1y0qxln29wyfjn222ii3nfwany28cj66"))))
+    (build-system emacs-build-system)
+    (arguments '(#:include '("\\.el$" "\\.org$")))
+    (home-page "https://github.com/xuchunyang/elisp-demos/")
+    (synopsis "Enhance @code{*Help*} buffers with additional examples")
+    (description
+     "This package injects example uses of Elisp functions into their
 respective @code{*Help*} buffers.")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-docker-compose-mode
   (package
@@ -3876,7 +3902,7 @@ in @code{html-mode}.")
 (define-public emacs-slime
   (package
     (name "emacs-slime")
-    (version "2.23")
+    (version "2.24")
     (source
      (origin
        (method git-fetch)
@@ -3885,7 +3911,7 @@ in @code{html-mode}.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0i637n0ragpbj39hqx65nx5k99xf0464c4w6w1qpzykm6z42grky"))))
+        (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
     (build-system emacs-build-system)
     (native-inputs
      `(("texinfo" ,texinfo)))
@@ -6246,20 +6272,20 @@ not tied in the trap of backward compatibility.")
 (define-public emacs-helm-swoop
   (package
     (name "emacs-helm-swoop")
-    (version "1.7.4")
+    (version "2.0.0")
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/ShingoFukuyama/helm-swoop.git")
+             (url "https://github.com/emacsorphanage/helm-swoop.git")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0b23j1bkpg4pm310hqdhgnl4mxsj05gpl08b6kb2ja4fzrg6adsk"))))
+        (base32 "0k0ns92g45x8dbymqpl6ylk5mj3wiw2h03f48q5cy1z8in0c4rjd"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-helm" ,emacs-helm)))
-    (home-page "https://github.com/ShingoFukuyama/helm-swoop")
+    (home-page "https://github.com/emacsorphanage/helm-swoop")
     (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
     (description
      "This package builds on the Helm interface to provide several commands
@@ -6555,8 +6581,8 @@ end of a line and increment or decrement it.")
       (license license:gpl3+))))
 
 (define-public emacs-evil-owl
-  (let ((commit "36a5fe057f44d48e377e3ef4f04b4eb30e1af309")
-        (revision "1"))
+  (let ((commit "e8fe5b2f745e36db04cb71eb689bf91c5409614f")
+        (revision "2"))
     (package
       (name "emacs-evil-owl")
       (version (git-version "0.0.1" revision commit))
@@ -6569,11 +6595,10 @@ end of a line and increment or decrement it.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "07a6n0gqss1qx9a50dqzqqq0gj6n7a4ykbcv1a0c9qd4fnfnm90m"))))
+           "1g7kplna62f271135mnjdbvxk2ayx7m4gvd6l86d2394alx16nhq"))))
       (build-system emacs-build-system)
       (propagated-inputs
-       `(("emacs-evil" ,emacs-evil)
-         ("emacs-posframe" ,emacs-posframe)))
+       `(("emacs-evil" ,emacs-evil)))
       (home-page "https://github.com/mamapanda/evil-owl")
       (synopsis "Preview candidates when using Evil registers and marks")
       (description
@@ -13617,6 +13642,32 @@ integrating @code{iedit-mode} into Evil mode with an attempt at sensible
 defaults.")
     (license license:gpl3+)))
 
+(define-public emacs-evil-mc
+  (let ((commit "5205fe671803465149e578849bbbe803c23a8e4e")
+        (revision "1"))
+    (package
+      (name "emacs-evil-mc")
+      (version (git-version "0.0.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gabesoft/evil-mc.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "03pxpjjxbai4dwp84bgxh52ahh0f6ac58xi2mds1kl4v93nm7v42"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-evil" ,emacs-evil)))
+      (native-inputs
+       `(("emacs-espuds" ,emacs-espuds)))
+      (home-page "https://github.com/gabesoft/evil-mc")
+      (synopsis "Interactive search compatible with @code{multiple-cursors}")
+      (description "This package can be used with @code{multiple-cursors} to
+provide an incremental search that moves all fake cursors in sync.")
+      (license license:expat))))
+
 (define-public emacs-evil-org
   (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
     (package
@@ -16129,12 +16180,11 @@ packages with a consistent way to use them.")
       (license license:gpl3+))))
 
 (define-public emacs-undo-propose-el
-  (let ((commit "5f1fa99a04369a959aad01b476fe4f34229f28cd")
-        (version "1.0.0")
+  (let ((commit "21a5cdc8ebfe8113f7039867c4abb0197c0fe71c")
         (revision "1"))
     (package
       (name "emacs-undo-propose-el")
-      (version (git-version version revision commit))
+      (version (git-version "3.0.0" revision commit))
       (source
        (origin
          (method git-fetch)
@@ -16144,7 +16194,7 @@ packages with a consistent way to use them.")
          (file-name (git-file-name name version))
          (sha256
           (base32
-           "1p9h1fqmva07mcs46rqrg9vqn537b615as84s9b7xh76k1r8h1c0"))))
+           "035hav4lfxwgikg3zpb4cz1nf08qfp27awl87dqbm2ly6d74lpny"))))
       (build-system emacs-build-system)
       (home-page "https://github.com/jackkamm/undo-propose-el")
       (synopsis "Simple and safe navigation of @code{undo} history")
@@ -17364,7 +17414,8 @@ connections using TLS encryption.")
          "0nnlxzsmhsbszqigcyxak9i1a0digrd13gv6v18ck4h760mihh1m"))))
     (build-system emacs-build-system)
     (propagated-inputs
-     `(("emacs-all-the-icons" ,emacs-all-the-icons)))
+     `(("emacs-flycheck" ,emacs-flycheck)
+       ("emacs-all-the-icons" ,emacs-all-the-icons)))
     (home-page
      "https://gitlab.petton.fr/nico/zerodark-theme")
     (synopsis
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index f581b2a38a..89649748e8 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -479,16 +479,17 @@ and Game Boy Color games.")
          (delete 'configure)
          ;; Makefile is in a subdirectory.
          (add-before
-          'build 'cd-to-project-dir
+          'build 'chdir-to-project-directory
           (lambda _
-            (chdir "projects/unix"))))
+            (chdir "projects/unix")
+            #t)))
        #:make-flags (let ((out (assoc-ref %outputs "out")))
                       (list "all" (string-append "PREFIX=" out)))
        ;; There are no tests.
        #:tests? #f))
     ;; As per the Makefile (in projects/unix/Makefile):
     (supported-systems '("i686-linux" "x86_64-linux"))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Nintendo 64 emulator core library")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -534,7 +535,7 @@ core library.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus SDL input plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -579,7 +580,7 @@ SDL audio plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus SDL input plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -621,7 +622,7 @@ SDL input plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus SDL input plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -663,7 +664,7 @@ high-level emulation (HLE) RSP processor plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus SDL input plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -709,7 +710,7 @@ Z64 RSP processor plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus Rice Video plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -763,7 +764,7 @@ Arachnoid video plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus Rice Video plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -813,7 +814,7 @@ Glide64 video plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus Rice Video plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -861,7 +862,7 @@ Glide64MK2 video plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus Rice Video plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -916,7 +917,7 @@ Rice Video plugin.")
                (string-append "APIDIR=" m64p "/include/mupen64plus")))
        ;; There are no tests.
        #:tests? #f))
-    (home-page "http://www.mupen64plus.org/")
+    (home-page "https://www.mupen64plus.org/")
     (synopsis "Mupen64Plus Z64 video plugin")
     (description
      "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
@@ -1043,7 +1044,7 @@ emulation community.  It provides highly accurate emulation.")
 (define-public retroarch
   (package
     (name "retroarch")
-    (version "1.7.7")
+    (version "1.7.8")
     (source
      (origin
        (method git-fetch)
@@ -1052,7 +1053,7 @@ emulation community.  It provides highly accurate emulation.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "026720z0vpiwr4da7l2x2yinns09fmg6yxsib203xwnixj399azi"))))
+        (base32 "0xxd9nhqiclpkdd9crymvba37fl0xs5mikwhya68nfzcgar7w480"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
@@ -1074,8 +1075,7 @@ emulation community.  It provides highly accurate emulation.")
                  (("/bin/true") (which "true")))
                ;; Use shared zlib.
                (substitute* '("libretro-common/file/archive_file_zlib.c"
-                              "libretro-common/streams/trans_stream_zlib.c"
-                              "network/httpserver/httpserver.c")
+                              "libretro-common/streams/trans_stream_zlib.c")
                  (("<compat/zlib.h>") "<zlib.h>"))
                ;; The configure script does not yet accept the extra arguments
                ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 90aa48c23c..5e62f5e3da 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -65,7 +65,7 @@
 (define-public efl
   (package
     (name "efl")
-    (version "1.22.2")
+    (version "1.22.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -73,7 +73,7 @@
                     version ".tar.xz"))
               (sha256
                (base32
-                "1l0wdgzxqm2y919277b1p9d37xzg808zwxxaw0nn44arh8gqk68n"))))
+                "1j1i8cwq4ym9z34ikv35mdmv5q7q69hdp494mc6l03g9n6cl2yky"))))
     (outputs '("out"       ; 53 MB
                "include")) ; 21 MB
     (build-system gnu-build-system)
@@ -242,7 +242,7 @@ contents and more.")
 (define-public rage
   (package
     (name "rage")
-    (version "0.3.0")
+    (version "0.3.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -251,7 +251,7 @@ contents and more.")
                 version ".tar.xz"))
               (sha256
                (base32
-                "0gfzdd4jg78bkmj61yg49w7bzspl5m1nh6agqgs8k7qrq9q26xqy"))))
+                "04fdk23bbgvni212zrfy4ndg7vmshbsjgicrhckdvhay87pk9i75"))))
     (build-system meson-build-system)
     (arguments
      '(#:phases
@@ -273,20 +273,22 @@ Libraries with some extra bells and whistles.")
 (define-public enlightenment
   (package
     (name "enlightenment")
-    (version "0.22.4")
+    (version "0.23.0")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://download.enlightenment.org/rel/apps/"
-                              name "/" name "-" version ".tar.xz"))
+                              "enlightenment/enlightenment-" version ".tar.xz"))
               (sha256
                (base32
-                "0ygy891rrw5c7lhk539nhif77j88phvz2h0fhx172iaridy9kx2r"))
+                "1y7x594gvyvl5zbb1rnf3clj2pm6j97n8wl5mp9x6xjmhx0d1idq"))
               (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:phases
+     `(#:configure-flags '("-Dsystemd=false")
+       #:phases
        (modify-phases %standard-phases
+         (delete 'bootstrap) ; We don't want to run the autogen script.
          (add-before 'configure 'set-system-actions
            (lambda* (#:key inputs #:allow-other-keys)
             (setenv "HOME" "/tmp")
@@ -294,6 +296,7 @@ Libraries with some extra bells and whistles.")
                    (setxkbmap (assoc-ref inputs "setxkbmap"))
                    (utils     (assoc-ref inputs "util-linux"))
                    (libc      (assoc-ref inputs "libc"))
+                   (bluez     (assoc-ref inputs "bluez"))
                    (efl       (assoc-ref inputs "efl")))
                ;; We need to patch the path to 'base.lst' to be able
                ;; to switch the keyboard layout in E.
@@ -314,12 +317,14 @@ Libraries with some extra bells and whistles.")
                   (string-append efl "/bin/edje_cc -v %s %s %s\"")))
                (substitute* "src/modules/everything/evry_plug_apps.c"
                  (("/usr/bin/") ""))
-               (substitute* "configure"
+               (substitute* "data/etc/meson.build"
                  (("/bin/mount") (string-append utils "/bin/mount"))
                  (("/bin/umount") (string-append utils "/bin/umount"))
                  (("/usr/bin/eject") (string-append utils "/bin/eject"))
-                 (("/etc/acpi/sleep.sh force") "/run/current-system/profile/bin/loginctl suspend")
-                 (("/etc/acpi/hibernate.sh force") "/run/current-system/profile/bin/loginctl hibernate")
+                 (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling"))
+                 (("/bin/rfkill") (string-append utils "/sbin/rfkill"))
+                 (("SUSPEND   = ''") "SUSPEND   = '/run/current-system/profile/bin/loginctl suspend'")
+                 (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'")
                  (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
                  (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
                #t))))))
@@ -329,12 +334,14 @@ Libraries with some extra bells and whistles.")
        ("util-linux" ,util-linux)))
     (inputs
      `(("alsa-lib" ,alsa-lib)
+       ("bluez" ,bluez)
        ("dbus" ,dbus)
        ("efl" ,efl)
        ("freetype" ,freetype)
        ("libxcb" ,libxcb)
        ("libxext" ,libxext)
        ("linux-pam" ,linux-pam)
+       ("puleseaudio" ,pulseaudio)
        ("setxkbmap" ,setxkbmap)
        ("xcb-util-keysyms" ,xcb-util-keysyms)
        ("xkeyboard-config" ,xkeyboard-config)))
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 7b661d39ac..b4f259bf3a 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -85,20 +85,20 @@ formal verification.")
 (define-public iverilog
   (package
     (name "iverilog")
-    (version "10.2")
+    (version "10.3")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "ftp://ftp.icarus.com/pub/eda/verilog/v10/"
                               "verilog-" version ".tar.gz"))
               (sha256
-                (base32
-                   "0075x5nsxwkrgn7b3635il9kw7mslckaji518pdmwdrdn7fxppln"))))
+               (base32
+                "1vv88ckvfwq7mrysyjnilsrcrzm9d173kp9w5ivwh6rdw7klbgc6"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("flex" ,flex)
        ("bison" ,bison)
-       ("ghostscript" ,ghostscript))) ; ps2pdf
+       ("ghostscript" ,ghostscript)))   ; ps2pdf
     (home-page "http://iverilog.icarus.com/")
     (synopsis "FPGA Verilog simulation and synthesis tool")
     (description "Icarus Verilog is a Verilog simulation and synthesis tool.
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 817104cde1..3239ab4fd5 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
@@ -138,6 +138,12 @@ printing, and psresize, for adjusting page sizes.")
   (package
     (name "ghostscript")
     (version "9.27")
+
+    ;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related,
+    ;; but they have a significant impact on usability, hence this graft.
+    ;; TODO: Ungraft on next update cycle.
+    (replacement ghostscript/fixed)
+
     (source
       (origin
         (method url-fetch)
@@ -269,6 +275,25 @@ output file formats and printers.")
     (home-page "https://www.ghostscript.com/")
     (license license:agpl3+)))
 
+(define-public ghostscript/fixed
+  ;; This adds the Freetype dependency (among other things), which fixes the
+  ;; rendering issues described in <https://issues.guix.gnu.org/issue/34877>.
+  (package/inherit
+   ghostscript
+   (arguments
+    (substitute-keyword-arguments (package-arguments ghostscript)
+      ((#:configure-flags flags ''())
+       `(append (list "--disable-compile-inits"
+                      (string-append "--with-fontpath="
+                                     (assoc-ref %build-inputs "gs-fonts")
+                                     "/share/fonts/type1/ghostscript"))
+                ,flags))))
+   (native-inputs `(("pkg-config" ,pkg-config)    ;needed for freetype
+                    ,@(package-native-inputs ghostscript)))
+   (inputs `(("gs-fonts" ,gs-fonts)
+             ("fontconfig" ,fontconfig)
+             ,@(package-inputs ghostscript)))))
+
 (define-public ghostscript/x
   (package/inherit ghostscript
     (name (string-append (package-name ghostscript) "-with-x"))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 3e17330447..3a50347f86 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -925,3 +926,40 @@ main loop, simply get a connection to the bus via the methods in
 @code{Net::DBus::GLib} rather than the usual @code{Net::DBus} module.  Every
 other API remains the same.")
     (license license:gpl2+)))
+
+(define-public template-glib
+  (package
+    (name "template-glib")
+    (version "3.32.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "1g0zx0sxpw8kqp7p3sgl9kngaqrg9xl6cir24nrahks0vgsk98rr"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:configure-flags '("-D" "enable_gtk_doc=true")))
+    (inputs
+     `(("gettext" ,gettext-minimal)
+       ("glib" ,glib)
+       ("gobject-introspection" ,gobject-introspection)))
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)
+       ("glib:bin" ,glib "bin") ;; For glib-mkenums
+       ("gtk-doc" ,gtk-doc)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
+    (home-page "https://gitlab.gnome.org/GNOME/template-glib")
+    (synopsis "Library for template expansion")
+    (description
+     "Template-GLib is a library to help you generate text based on a template and
+user defined state.  Template-GLib does not use a language runtime, so it is
+safe to use from any GObject-Introspectable language.
+
+Template-GLib allows you to access properties on GObjects as well as call
+simple methods via GObject-Introspection.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ca00bb0ffd..e37c2a4070 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -8053,7 +8053,7 @@ hexadecimal or ASCII.  It is useful for editing binary files in general.")
 (define-public libdazzle
   (package
     (name "libdazzle")
-    (version "3.30.2")
+    (version "3.33.90")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libdazzle/"
@@ -8061,17 +8061,11 @@ hexadecimal or ASCII.  It is useful for editing binary files in general.")
                                   "libdazzle-" version ".tar.xz"))
               (sha256
                (base32
-                "1m9n1gcxndly24rjkxzvmx02a2rkb6ad4cy7p6ncanm1kyp0wxvq"))))
+                "189m7q88d1a7bq0yyal9f3yhm9kz46lb61379nn4wsnnhpa1d0qs"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'disable-failing-test
-           (lambda _
-             ;; Disable failing test.
-             (substitute* "tests/meson.build"
-               (("test\\('test-application") "#"))
-             #t))
          (add-before 'check 'pre-check
            (lambda _
              ;; Tests require a running X server.
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 2653645c5d..e07702f994 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -75,7 +75,8 @@
                                 version ".tar.gz"))
             (sha256
              (base32
-              "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh"))))
+              "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh"))
+            (patches (search-patches "libextractor-exiv2.patch"))))
    (build-system gnu-build-system)
    ;; WARNING: Checks require /dev/shm to be in the build chroot, especially
    ;; not to be a symbolic link to /run/shm.
@@ -146,14 +147,14 @@ tool to extract metadata from a file and print the results.")
 (define-public libmicrohttpd
   (package
    (name "libmicrohttpd")
-   (version "0.9.65")
+   (version "0.9.66")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "1jdk6wigvnkh5bi9if4rik8i9sbvdql61lm8ipgpypyxqmcpjipj"))))
+              "06xblz77bnn29y7sl43avxbcrjbw486x3416plpr3x3l2pdx8rjf"))))
    (build-system gnu-build-system)
    (inputs
     `(("curl" ,curl)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a0a1baa9a2..20f5462528 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -15,6 +15,7 @@
 ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
 ;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3636,3 +3637,26 @@ stack traces.  It simplifies the traces to make salient information more visible
 and aid debugging.")
     (home-page "https://github.com/maruel/panicparse")
     (license license:asl2.0)))
+
+(define-public go-github-com-robfig-cron
+  (package
+    (name "go-github-com-robfig-cron")
+    (version "3.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/robfig/cron")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0bvq5gxkhyj21lq32nma23i4dpwp7bswnp2yks6372ilkcyisx2z"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/robfig/cron"))
+    (home-page "https://godoc.org/github.com/robfig/cron")
+    (synopsis "Cron library for Go")
+    (description "This package provides a cron library for Go.  It implements
+a cron spec parser and job runner.")
+    (license license:expat)))
diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm
index 9296f3d80f..c1a0360b0e 100644
--- a/gnu/packages/gsasl.scm
+++ b/gnu/packages/gsasl.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b80a0f799a..34f9ca3844 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
+;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1597,7 +1598,8 @@ glass artworks done by Venicians glass blowers.")
     (build-system gnu-build-system)
     (native-inputs
      `(("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)))
     (inputs
      `(("gobject-introspection" ,gobject-introspection)
        ("gtk+" ,gtk+)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 16e30b9de7..7dff0c6269 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
+;;; Copyright © 2019 Amar Singh <nly@disroot.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,6 +56,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -70,6 +72,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
   #:use-module (gnu packages noweb)
+  #:use-module (gnu packages password-utils)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -2350,22 +2353,52 @@ more expressive and flexible than the traditional @code{format} procedure.")
        ("pkg-config" ,pkg-config)
        ("texinfo" ,texinfo)
        ("texlive" ,(texlive-union (list texlive-generic-epsf)))))
-    (propagated-inputs
+    (inputs
      `(("dbus-glib" ,dbus-glib)
        ("guile" ,guile-2.2)
        ("guile-lib" ,guile-lib)
        ("guile-readline" ,guile-readline)
-       ("glib-networking" ,glib-networking)
        ("freeglut" ,freeglut)
-       ("gssettings-desktop-schemas" ,gsettings-desktop-schemas)
        ("webkitgtk" ,webkitgtk)))
+    (propagated-inputs
+     `(("glib-networking" ,glib-networking)
+       ("gssettings-desktop-schemas" ,gsettings-desktop-schemas)))
     (arguments
-     `(#:phases
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 popen)
+                  (ice-9 rdelim)
+                  (ice-9 regex)
+                  (ice-9 ftw)
+                  (srfi srfi-26))
+       #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'setenv
            (lambda _
              (setenv "GUILE_AUTO_COMPILE" "0")
-             #t)))))
+             #t))
+         (add-after 'install 'wrap-binaries
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (effective (read-line
+                                (open-pipe* OPEN_READ
+                                            "guile" "-c"
+                                            "(display (effective-version))")))
+                    (deps (map (cut assoc-ref inputs <>)
+                               '("guile-lib" "guile-readline")))
+                    (scm-path (map (cut string-append <> "/share/guile/site/"
+                                        effective) `(,out ,@deps)))
+                    (go-path (map (cut string-append <> "/lib/guile/" effective
+                                       "/site-ccache/") `(,out ,@deps)))
+                    (examples (filter (cut string-match "emacsy" <>)
+                                      (scandir (string-append out "/bin/"))))
+                    (progs (map (cut string-append out "/bin/" <>)
+                                examples)))
+               (map (cut wrap-program <>
+                         `("GUILE_LOAD_PATH" ":" prefix ,scm-path)
+                         `("GUILE_LOAD_COMPILED_PATH" ":" prefix ,go-path))
+                    progs)
+               #t))))))
     (home-page "https://savannah.nongnu.org/projects/emacsy")
     (synopsis "Embeddable GNU Emacs-like library using Guile")
     (description
@@ -2377,6 +2410,36 @@ comes with a simple counter example using FreeGLUT and browser examples
 in C using Gtk+-3 and WebKitGtk.")
     (license license:gpl3+)))
 
+(define-public emacsy-minimal
+  (let ((commit "f3bf0dbd803d7805b6ae8303253507ad13922293"))
+    (package
+      (inherit emacsy)
+      (name "emacsy-minimal")
+      (version (git-version "v0.4.1" "19" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/git/emacsy.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0ivy28km1p7nlrf63xx3hvrpxf5ld5amk1wcan3k7sqv1kq9mqdb"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("guile" ,guile-2.2)
+         ("guile-lib" ,guile-lib)
+         ("guile-readline" ,guile-readline)))
+      (propagated-inputs '())
+      (arguments
+       `(#:configure-flags '("--without-examples")
+         #:phases
+         (modify-phases %standard-phases
+         (add-before 'configure 'setenv
+           (lambda _
+             (setenv "GUILE_AUTO_COMPILE" "0")
+             #t))))))))
+
 (define-public guile-jpeg
   (let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046")
         (revision "0"))
@@ -2410,3 +2473,95 @@ in C using Gtk+-3 and WebKitGtk.")
        "Guile-JPEG is a Scheme library to parse JPEG image files and to
 perform geometrical transforms on JPEG images.")
       (license license:gpl3+))))
+
+(define-public nomad
+  (package
+    (name "nomad")
+    (version "0.1.1-alpha")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.savannah.gnu.org/git/nomad.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0abz07hl5dh802ciy71xzkvkhyryypq1i94wna40a2wndbd73f7z"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bash" ,bash)
+       ("pkg-config" ,pkg-config)
+       ("libtool" ,libtool)
+       ("guile" ,guile-2.2)
+       ("glib:bin" ,glib "bin")))
+    (inputs
+     `(("guile" ,guile-2.2)
+       ("guile-lib" ,guile-lib)
+       ("guile-gcrypt" ,guile-gcrypt)
+       ("guile-readline" ,guile-readline)
+       ("gnutls" ,gnutls)
+       ("shroud" ,shroud)
+       ("emacsy" ,emacsy-minimal)
+       ("glib" ,glib)
+       ("dbus-glib" ,dbus-glib)
+       ("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("webkitgtk" ,webkitgtk)
+       ("xorg-server" ,xorg-server)))
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("glib-networking" ,glib-networking)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 popen)
+                  (ice-9 rdelim)
+                  (srfi srfi-26))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'start-xorg-server
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; The test suite requires a running X server.
+             (system (format #f "~a/bin/Xvfb :1 &"
+                             (assoc-ref inputs "xorg-server")))
+             (setenv "DISPLAY" ":1")
+             #t))
+         (add-after 'install 'wrap-binaries
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (gio-deps (map (cut assoc-ref inputs <>) '("glib-networking"
+                                                               "glib")))
+                    (gio-mod-path (map (cut string-append <> "/lib/gio/modules")
+                                       gio-deps))
+                    (effective (read-line (open-pipe*
+                                           OPEN_READ
+                                           "guile" "-c"
+                                           "(display (effective-version))")))
+                    (deps (map (cut assoc-ref inputs <>)
+                               '("emacsy" "guile-lib" "guile-readline"
+                                 "shroud")))
+                    (scm-path (map (cut string-append <>
+                                        "/share/guile/site/" effective)
+                                   `(,out ,@deps)))
+                    (go-path (map (cut string-append <>
+                                       "/lib/guile/" effective "/site-ccache")
+                                  `(,out ,@deps)))
+                    (progs (map (cut string-append out "/bin/" <>)
+                                '("nomad"))))
+               (map (cut wrap-program <>
+                         `("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-path)
+                         `("GUILE_LOAD_PATH" ":" prefix ,scm-path)
+                         `("GUILE_LOAD_COMPILED_PATH" ":"
+                           prefix ,go-path))
+                    progs)
+               #t))))))
+    (home-page "https://savannah.nongnu.org/projects/nomad/")
+    (synopsis "Extensible Web Browser in Guile Scheme")
+    (description "Nomad is an Emacs-like Web Browser built using Webkitgtk and
+Emacsy.  It has a small C layer and most browser features are fully
+programmable in Guile.  It has hooks, keymaps, and self documentation
+features.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index b07a570654..475a6c5ef0 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -264,14 +264,14 @@ without requiring the source code to be rewritten.")
   (package
     (inherit guile-2.2)
     (name "guile-next")
-    (version "2.9.3")
+    (version "2.9.4")
     (source (origin
               (inherit (package-source guile-2.2))
               (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "14990wcpysgw58kij03wbgiggmi5z94jmy7wdcqnn6ny7cimkkgr"))))
+                "1milviqhipyfx400pqhngxpxyajalzwmp597dxn5514pkk0g7v0p"))))
     (native-search-paths
      (list (search-path-specification
             (variable "GUILE_LOAD_PATH")
@@ -541,7 +541,7 @@ Guile's foreign function interface.")
 (define-public guile-bytestructures
   (package
     (name "guile-bytestructures")
-    (version "1.0.5")
+    (version "1.0.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/TaylanUB/scheme-bytestructures"
@@ -549,7 +549,7 @@ Guile's foreign function interface.")
                                   "/bytestructures-" version ".tar.gz"))
               (sha256
                (base32
-                "0ibk7fjwpb450lnrva4bx45sgln3pbyb645az4ansvh1spgani43"))))
+                "07dffrmc6cnw9mmw0pdrqlkbhzzpz0hm8p26z738l2j5i84dypnk"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -563,7 +563,8 @@ of the C programming language, to be used on bytevectors.  C's type
 system works on raw memory, and Guile works on bytevectors which are
 an abstraction over raw memory.  It's also more powerful than the C
 type system, elevating types to first-class status.")
-    (license license:gpl3+)))
+    (license license:gpl3+)
+    (properties '((upstream-name . "bytestructures")))))
 
 (define-public guile2.0-bytestructures
   (package-for-guile-2.0 guile-bytestructures))
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 4f61f2ba66..2dd2097075 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -219,7 +219,7 @@ written in Go.")
 (define-public go-ipfs
   (package
     (name "go-ipfs")
-    (version "0.4.19")
+    (version "0.4.22")
     (source
      (origin
        (method url-fetch/tarbomb)
@@ -227,7 +227,7 @@ written in Go.")
              "https://dist.ipfs.io/go-ipfs/v" version
              "/go-ipfs-source.tar.gz"))
        (sha256
-        (base32 "0s04ap14p6hnipjm27nm5k8s28zv9k5g9mziyh3ibgwn7dzb1kpx"))
+        (base32 "1gyz9yqb4y7p6vdjbcm66nvm6gjs4mdrjygdn79z3misv1pb5nkg"))
        (file-name (string-append name "-" version "-source"))))
     (build-system go-build-system)
     (arguments
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index f15715ee40..e03d30cb03 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -181,31 +181,31 @@ defconfig.  Return the appropriate make target if applicable, otherwise return
 
 (define deblob-scripts-5.2
   (linux-libre-deblob-scripts
-   "5.2.3"
+   "5.2.10"
    (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa")
    (base32 "0d3pp1bqchqc7vnxr1a56km5r0hzjiiipzz2xc3wgjwfi51k9kxc")))
 
 (define deblob-scripts-4.19
   (linux-libre-deblob-scripts
-   "4.19.61"
+   "4.19.68"
    (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
    (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za")))
 
 (define deblob-scripts-4.14
   (linux-libre-deblob-scripts
-   "4.14.134"
+   "4.14.140"
    (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
    (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n")))
 
 (define deblob-scripts-4.9
   (linux-libre-deblob-scripts
-   "4.9.186"
+   "4.9.190"
    (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
-   (base32 "1gmjn5cwxydg6qb47wcmahwkv37npsjx4papynzkkdxyidmrccya")))
+   (base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w")))
 
 (define deblob-scripts-4.4
   (linux-libre-deblob-scripts
-   "4.4.186"
+   "4.4.190"
    (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
    (base32 "1x40lbiaizksy8z38ax7wpqr9ldgq7qvkxbb0ca98vd1axpklb10")))
 
@@ -349,42 +349,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                         "linux-" version ".tar.xz"))
     (sha256 hash)))
 
-(define-public linux-libre-5.2-version "5.2.9")
+(define-public linux-libre-5.2-version "5.2.11")
 (define-public linux-libre-5.2-pristine-source
   (let ((version linux-libre-5.2-version)
-        (hash (base32 "1rnlnphw9rih4qhdld9ic5lnj5jh4vy5nqbj9lqwv9bc615jmw5n")))
+        (hash (base32 "1y9kn1zny3xpmbi5an3g7hbzywnycys8chfaw6laij1xk4gq6ahc")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.2)))
 
-(define-public linux-libre-4.19-version "4.19.67")
+(define-public linux-libre-4.19-version "4.19.69")
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-        (hash (base32 "00m5k0nfcvgff70686rbhn3w8c9wc3jxqvyddw40lylaqdh3s72s")))
+        (hash (base32 "11yrw8ixd5ni9rlpndqsz2ihx6k8qaf35a1lf164lkhaa85pd4f0")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.139")
+(define-public linux-libre-4.14-version "4.14.141")
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "0hkhwcbxg6bry13w9kspx48b10274w6pgv200wh91fjd8jax8qlc")))
+        (hash (base32 "05rs411rw10hhnfzvaxmcik3pq20i1i05shvvra4bv164f0z1f8b")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.189")
+(define-public linux-libre-4.9-version "4.9.190")
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "1cyhwnxkjd0qa5d48657yppjnzbi830q0p25jjv2dxs629k4bnck")))
+        (hash (base32 "05ha3snfk0vdqk9i27icwpq2if0h2jvshavn69ldwqm4h2h1r2py")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
 
-(define-public linux-libre-4.4-version "4.4.189")
+(define-public linux-libre-4.4-version "4.4.190")
 (define-public linux-libre-4.4-pristine-source
   (let ((version linux-libre-4.4-version)
-        (hash (base32 "0nc8v62gw89m3ykqg6nqf749fzm8y1n481ns8vny4gbinyikjhlp")))
+        (hash (base32 "1rf28cjrrmj7mm8xqlfld6k20ddk15j4mmyarqibjx9pk9acij7y")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.4)))
@@ -4854,14 +4854,14 @@ running boot option, and more.")
 (define-public sysstat
   (package
     (name "sysstat")
-    (version "11.4.3")
+    (version "12.1.6")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://perso.orange.fr/sebastien.godard/"
+              (uri (string-append "http://pagesperso-orange.fr/sebastien.godard/"
                                   "sysstat-" version ".tar.xz"))
               (sha256
                (base32
-                "1ryf9myjzpa2279i3rvsh6fr5psm6qvr5r9kbm1sxyspapxcms82"))))
+                "0agi17n82k363mf9f7cky3isq195hw112vs98v26yfhm0v2g6lpp"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; No test suite.
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index a42369ba06..34edea41de 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -327,14 +327,14 @@ an interpreter, a compiler, a debugger, and much more.")
 (define-public sbcl
   (package
     (name "sbcl")
-    (version "1.5.1")
+    (version "1.5.5")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
                            version "-source.tar.bz2"))
        (sha256
-        (base32 "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph"))
+        (base32 "1qmapk2hyxxqd3ajiqacz4isij0ibx7gn10n8dbmq33gm3kgliyb"))
        (modules '((guix build utils)))
        (snippet
         ;; Add sbcl-bundle-systems to 'default-system-source-registry'.
@@ -364,7 +364,8 @@ an interpreter, a compiler, a debugger, and much more.")
        ("inetutils" ,inetutils)         ;for hostname(1)
        ("ed" ,ed)
        ("texlive" ,(texlive-union (list texlive-tex-texinfo)))
-       ("texinfo" ,texinfo)))
+       ("texinfo" ,texinfo)
+       ("zlib" ,zlib)))
     (arguments
      `(#:modules ((guix build gnu-build-system)
                   (guix build utils)
@@ -431,7 +432,9 @@ an interpreter, a compiler, a debugger, and much more.")
                                         (_
                                          `("clisp")))
                      (string-append "--prefix="
-                                    (assoc-ref outputs "out")))))
+                                    (assoc-ref outputs "out"))
+                     "--with-sb-core-compression"
+                     "--with-sb-xref-for-internals")))
          (replace 'install
            (lambda _
              (invoke "sh" "install.sh")))
@@ -440,6 +443,21 @@ an interpreter, a compiler, a debugger, and much more.")
              (with-directory-excursion "doc/manual"
                (and  (invoke "make" "info")
                      (invoke "make" "dist")))))
+         (add-after 'build 'build-source
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (rc (string-append out "/lib/sbcl/sbclrc"))
+                    (source-dir (string-append out "/share/sbcl")))
+               (for-each (lambda (p)
+                           (copy-recursively p (string-append source-dir "/" p)))
+                         '("src" "contrib"))
+               (mkdir-p (dirname rc))
+               (with-output-to-file rc
+                 (lambda ()
+                   (display
+                    (string-append "(sb-ext:set-sbcl-source-location \""
+                                   source-dir "\")") )))
+               #t)))
          (add-after 'install 'install-doc
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -6650,3 +6668,75 @@ discoverable library instead of many; consistency and composability, where
 @code{s} is always the last argument, which makes it easier to feed pipes and
 arrows.")
       (license license:expat))))
+
+(define-public sbcl-cl-xmlspam
+  (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a"))
+    (package
+      (name "sbcl-cl-xmlspam")
+      (build-system asdf-build-system/sbcl)
+      (version (git-version "0.0.0" "1" commit))
+      (home-page "https://github.com/rogpeppe/cl-xmlspam")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (string-append name "-" version))
+         (sha256
+          (base32
+           "0w4rqvrgdgk3fwfq3kx4r7wwdr2bv3b6n3bdqwsiriw9psqzpz2s"))))
+      (inputs
+       `(("cxml" ,sbcl-cxml)
+         ("cl-ppcre" ,sbcl-cl-ppcre)))
+      (synopsis "Concise, regexp-like pattern matching on streaming XML for Common Lisp")
+      (description "CXML does an excellent job at parsing XML elements, but what
+do you do when you have a XML file that's larger than you want to fit in
+memory, and you want to extract some information from it?  Writing code to deal
+with SAX events, or even using Klacks, quickly becomes tedious.
+@code{cl-xmlspam} (for XML Stream PAttern Matcher) is designed to make it easy
+to write code that mirrors the structure of the XML that it's parsing.  It
+also makes it easy to shift paradigms when necessary - the usual Lisp control
+constructs can be used interchangeably with pattern matching, and the full
+power of CXML is available when necessary.")
+      (license license:bsd-3))))
+
+;; TODO: dbus uses ASDF's package-inferred-system which is not supported by
+;; asdf-build-system/sbcl as of 2019-08-02.  We should fix
+;; asdf-build-system/sbcl.
+(define-public cl-dbus
+  (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a")
+        (revision "1"))
+    (package
+      (name "cl-dbus")
+      (build-system asdf-build-system/source)
+      (version (git-version "20190408" revision commit))
+      (home-page "https://github.com/death/dbus")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5"))))
+      ;; Inputs must be propagated or else packages depending on this won't have the necessary packages.
+      (propagated-inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ("babel" ,sbcl-babel)
+         ("iolib" ,sbcl-iolib)
+         ("iolib+multiplex" ,(@@ (gnu packages lisp) sbcl-iolib+multiplex))
+         ("iolib+syscalls" ,(@@ (gnu packages lisp) sbcl-iolib+syscalls))
+         ("iolib+streams" ,(@@ (gnu packages lisp) sbcl-iolib+streams))
+         ("iolib+sockets" ,(@@ (gnu packages lisp) sbcl-iolib+sockets))
+         ("ieee-floats" ,sbcl-ieee-floats)
+         ("flexi-streams" ,sbcl-flexi-streams)
+         ("cl-xmlspam" ,sbcl-cl-xmlspam)
+         ("ironclad" ,sbcl-ironclad)))
+      (synopsis "D-Bus client library for Common Lisp")
+      (description "This is a Common Lisp library that allows to publish D-Bus
+objects as well as send and notify other objects connected to a bus.")
+      (license license:bsd-2))))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index bb3bf2bfb5..30ce5cd70c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1285,7 +1285,7 @@ facilities for checking incoming mail.")
 (define-public dovecot
   (package
     (name "dovecot")
-    (version "2.3.6")
+    (version "2.3.7.2")
     (source
      (origin
        (method url-fetch)
@@ -1293,7 +1293,8 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            "dovecot-" version ".tar.gz"))
        (sha256
-        (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd"))))
+        (base32
+         "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 2163b646f6..4594e2fe36 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -2,8 +2,8 @@
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -158,6 +158,15 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                 (current-source-location)
                                 #:native-inputs native-inputs))
 
+(define static-bash-for-bootstrap
+  (package
+    (inherit static-bash)
+    (source (origin
+              (inherit (package-source static-bash))
+              (patches
+               (cons (search-patch "bash-4.4-linux-pgrp-pipe.patch")
+                     (origin-patches (package-source static-bash))))))))
+
 (define %static-inputs
   ;; Packages that are to be used as %BOOTSTRAP-INPUTS.
   (let ((coreutils (package (inherit coreutils)
@@ -234,7 +243,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                  (("-Wl,-export-dynamic") ""))
                                #t)))))))
                 (inputs (if (%current-target-system)
-                            `(("bash" ,static-bash))
+                            `(("bash" ,static-bash-for-bootstrap))
                             '()))))
 	(tar (package (inherit tar)
 	       (arguments
@@ -280,7 +289,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                ("sed" ,sed)
                ("grep" ,grep)
                ("gawk" ,gawk)))
-      ("bash" ,static-bash))))
+      ("bash" ,static-bash-for-bootstrap))))
 
 (define %static-binaries
   (package
@@ -585,8 +594,32 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            #t))))
     (inputs `(("gcc" ,%gcc-static)))))
 
+;; One package: build + remove store references
+;; (define %mescc-tools-static-stripped
+;;   ;; A statically linked Mescc Tools with store references removed, for
+;;   ;; bootstrap.
+;;   (package
+;;     (inherit mescc-tools)
+;;     (name "mescc-tools-static-stripped")
+;;     (arguments
+;;      `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+;;                           "CC=gcc -static")
+;;        #:test-target "test"
+;;        #:phases (modify-phases %standard-phases
+;;                   (delete 'configure)
+;;                   (add-after 'install 'strip-store-references
+;;                     (lambda _
+;;                       (let* ((out (assoc-ref %outputs "out"))
+;;                              (bin (string-append out "/bin")))
+;;                         (for-each (lambda (file)
+;;                                  (let ((target (string-append bin "/" file)))
+;;                                    (format #t "strippingg `~a'...~%" target)
+;;                                    (remove-store-references target)))
+;;                                   '( "M1" "blood-elf" "hex2"))))))))))
+
+;; Two packages: first build static, bare minimum content.
 (define %mescc-tools-static
-  ;; A statically linked MesCC Tools for bootstrap.
+  ;; A statically linked MesCC Tools.
   (package
     (inherit mescc-tools)
     (name "mescc-tools-static")
@@ -596,12 +629,73 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            ((#:make-flags flags)
             `(cons "CC=gcc -static" ,flags)))))))
 
-(define-public %mes-minimal-stripped
-  ;; A minimal Mes without documentation dependencies, for bootstrap.
+;; ... next remove store references.
+(define %mescc-tools-static-stripped
+  ;; A statically linked Mescc Tools with store references removed, for
+  ;; bootstrap.
+  (package
+    (inherit %mescc-tools-static)
+    (name (string-append (package-name %mescc-tools-static) "-stripped"))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((in  (assoc-ref %build-inputs "mescc-tools"))
+                (out (assoc-ref %outputs "out"))
+                (bin (string-append out "/bin")))
+           (mkdir-p bin)
+           (for-each (lambda (file)
+                       (let ((target (string-append bin "/" file)))
+                         (format #t "copying `~a'...~%" file)
+                         (copy-file (string-append in "/bin/" file)
+                                    target)
+                         (remove-store-references target)))
+                     '( "M1" "blood-elf" "hex2"))
+           #t))))
+    (inputs `(("mescc-tools" ,%mescc-tools-static)))))
+
+;; (define-public %mes-minimal-stripped
+;;   ;; A minimal Mes without documentation dependencies, for bootstrap.
+;;   (let ((triplet "i686-unknown-linux-gnu"))
+;;     (package
+;;       (inherit mes)
+;;       (name "mes-minimal-stripped")
+;;       (native-inputs
+;;        `(("guile" ,guile-2.2)))
+;;       (arguments
+;;        `(#:system "i686-linux"
+;;          #:strip-binaries? #f
+;;          #:configure-flags '("--mes")
+;;          #:phases
+;;          (modify-phases %standard-phases
+;;            (delete 'patch-shebangs)
+;;            (add-after 'install 'strip-install
+;;              (lambda _
+;;                (let* ((out (assoc-ref %outputs "out"))
+;;                       (share (string-append out "/share")))
+;;                  (delete-file-recursively (string-append out "/lib/guile"))
+;;                  (delete-file-recursively (string-append share "/guile"))
+;;                  (delete-file-recursively (string-append share "/mes/scaffold"))
+
+;;                  (for-each delete-file
+;;                            (find-files
+;;                             (string-append share "/mes/lib") "\\.(h|c)"))
+
+;;                  (for-each (lambda (dir)
+;;                              (for-each remove-store-references
+;;                                        (find-files (string-append out "/" dir)
+;;                                                    ".*")))
+;;                            '("bin" "share/mes")))))))))))
+
+;; Two packages: first build static, bare minimum content.
+(define-public %mes-minimal
+  ;; A minimal Mes without documentation.
   (let ((triplet "i686-unknown-linux-gnu"))
     (package
       (inherit mes)
-      (name "mes-minimal-stripped")
+      (name "mes-minimal")
       (native-inputs
        `(("guile" ,guile-2.2)))
       (arguments
@@ -610,6 +704,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
          #:configure-flags '("--mes")
          #:phases
          (modify-phases %standard-phases
+           (delete 'patch-shebangs)
            (add-after 'install 'strip-install
              (lambda _
                (let* ((out (assoc-ref %outputs "out"))
@@ -617,10 +712,35 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                  (delete-file-recursively (string-append out "/lib/guile"))
                  (delete-file-recursively (string-append share "/guile"))
                  (delete-file-recursively (string-append share "/mes/scaffold"))
-                 (for-each
-                  delete-file
-                  (find-files (string-append share  "/mes/lib")
-                              "\\.(h|c)")))))))))))
+
+                 (for-each delete-file
+                           (find-files
+                            (string-append share "/mes/lib")
+                            "\\.(h|c)")))))))))))
+
+;; next remove store references.
+(define %mes-minimal-stripped
+  ;; A minimal Mes with store references removed, for bootstrap.
+  (package
+    (inherit %mes-minimal)
+    (name (string-append (package-name %mes-minimal) "-stripped"))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((in  (assoc-ref %build-inputs "mes"))
+               (out (assoc-ref %outputs "out")))
+
+           (copy-recursively in out)
+           (for-each (lambda (dir)
+                       (for-each remove-store-references
+                                 (find-files (string-append out "/" dir)
+                                             ".*")))
+                     '("bin" "share/mes"))
+           #t))))
+    (inputs `(("mes" ,%mes-minimal)))))
 
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
@@ -680,6 +800,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                      ((#:tests? _ #f)
                       ;; There are uses of `dynamic-link' in
                       ;; {foreign,coverage}.test that don't fly here.
+                      #f)
+                     ((#:parallel-build? _ #f)
+                      ;; Work around the fact that the Guile build system is
+                      ;; not deterministic when parallel-build is enabled.
                       #f))))))
     (package-with-relocatable-glibc (static-package guile))))
 
@@ -790,11 +914,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
   (tarball-package %guile-static-stripped))
 
 (define %mescc-tools-bootstrap-tarball
-  ;; A tarball with MesCC binary seed.
-  (tarball-package %mescc-tools-static))
+  ;; A tarball with statically-linked MesCC binary seed.
+  (tarball-package %mescc-tools-static-stripped))
 
 (define %mes-bootstrap-tarball
-  ;; A tarball with Mes ASCII Seed and binary Mes C Library.
+  ;; A tarball with Mes binary seed.
   (tarball-package %mes-minimal-stripped))
 
 (define %bootstrap-tarballs
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7a04aa979e..38bb81242f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -246,7 +246,7 @@ triangulations.")
 (define-public python-cvxopt
   (package
     (name "python-cvxopt")
-    (version "1.2.1")
+    (version "1.2.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -255,7 +255,7 @@ triangulations.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "05mnjil9palaa48xafdfh4f5pr4z7aqjr995rwl08qfyxs8y0crf"))))
+                "1kiy2m62xgs2d5id6dnnwy4vap85cd70p7pgkb9nh23qf9xnak7b"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 017f9453ab..fe51780fa3 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -36,15 +36,15 @@
   (let ((triplet (string-append machine "-" "w64-mingw32")))
     (package
       (name (string-append "mingw-w64" "-" machine))
-      (version "5.0.4")
+      (version "6.0.0")
       (source (origin
                 (method url-fetch)
                 (uri (string-append
                       "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/"
                       "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
                 (sha256
-                 (base32 "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm"))
-                (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch"))))
+                 (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
+                (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
       (native-inputs `(("xgcc-core" ,(cross-gcc triplet))
                        ("xbinutils" ,(cross-binutils triplet))))
       (build-system gnu-build-system)
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index 6f79dd49fc..8a3cef3377 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -30,13 +30,13 @@
 (define-public nano
   (package
     (name "nano")
-    (version "4.3")
+    (version "4.4")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
       (sha256
-       (base32 "108dzj6azqmini9bvgl26r0q1y59s3nnrw75hfzv91bs50davlq0"))))
+       (base32 "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia"))))
     (build-system gnu-build-system)
     (inputs
      `(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index fce0d0f84d..49ac949b06 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -465,32 +465,17 @@ sub-directory.")
 (define-public stow
   (package
     (name "stow")
-    (version "2.3.0")
+    (version "2.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/stow/stow-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0h8qr2rxsrkg6d8jxjk68r23jgn1dxdxyp4bnzzinpa8sjhfl905"))))
+                "0jrxy12ywn7smdzdnvwzjw77l6knx6jkj2rckgykg1dpf6bdkm89"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-stow
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/stow")
-                 `("PERL5LIB" ":" prefix
-                   ,(map (lambda (i) (string-append (assoc-ref inputs i)
-                                                    "/lib/perl5/site_perl"))
-                         '("perl-clone-choose" "perl-clone" "perl-hash-merge"))))
-               #t))))))
     (inputs
-     `(("perl" ,perl)
-       ("perl-clone" ,perl-clone)
-       ("perl-clone-choose" ,perl-clone-choose)
-       ("perl-hash-merge" ,perl-hash-merge)))
+     `(("perl" ,perl)))
     (native-inputs
      `(("perl-test-simple" ,perl-test-simple)
        ("perl-test-output" ,perl-test-output)
@@ -559,75 +544,83 @@ transactions from C or Python.")
     (license license:gpl2+)))
 
 (define-public diffoscope
-  (package
-    (name "diffoscope")
-    (version "120")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://salsa.debian.org/reproducible-builds/diffoscope.git")
-                    (commit "120")))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "07z9yclvfkw4326739l2ywzzihax5vdijiaqqpfix9rz1rb923aa"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  ;; setup.py mistakenly requires python-magic from PyPi, even
-                  ;; though the Python bindings of `file` are sufficient.
-                  ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
-                  (add-after 'unpack 'dependency-on-python-magic
-                    (lambda _
-                      (substitute* "setup.py"
-                        (("'python-magic',") ""))))
-                  ;; This test is broken because our `file` package has a
-                  ;; bug in berkeley-db file type detection.
-                  (add-after 'unpack 'remove-berkeley-test
-                    (lambda _
-                      (delete-file "tests/comparators/test_berkeley_db.py")
-                      #t))
-                  (add-after 'unpack 'embed-tool-references
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (substitute* "diffoscope/comparators/utils/compare.py"
-                        (("\\['xxd',")
-                         (string-append "['" (which "xxd") "',")))
-                      (substitute* "diffoscope/comparators/elf.py"
-                        (("@tool_required\\('readelf'\\)") "")
-                        (("get_tool_name\\('readelf'\\)")
-                         (string-append "'" (which "readelf") "'")))
-                      (substitute* "diffoscope/comparators/directory.py"
-                        (("@tool_required\\('stat'\\)") "")
-                        (("@tool_required\\('getfacl'\\)") "")
-                        (("\\['stat',")
-                         (string-append "['" (which "stat") "',"))
-                        (("\\['getfacl',")
-                         (string-append "['" (which "getfacl") "',")))
-                      #t))
-                  (add-before 'check 'delete-failing-test
-                    (lambda _
-                      ;; this requires /sbin to be on the path
-                      (delete-file "tests/test_tools.py")
-                      #t)))))
-    (inputs `(("rpm" ,rpm)                        ;for rpm-python
-              ("python-file" ,python-file)
-              ("python-debian" ,python-debian)
-              ("python-libarchive-c" ,python-libarchive-c)
-              ("python-tlsh" ,python-tlsh)
-              ("acl" ,acl)                        ;for getfacl
-              ("colordiff" ,colordiff)
-              ("xxd" ,xxd)))
-    ;; Below are modules used for tests.
-    (native-inputs `(("python-pytest" ,python-pytest)
-                     ("python-chardet" ,python-chardet)))
-    (home-page "https://diffoscope.org/")
-    (synopsis "Compare files, archives, and directories in depth")
-    (description
-     "Diffoscope tries to get to the bottom of what makes files or directories
+  (let ((version "121"))
+    (package
+      (name "diffoscope")
+      (version version)
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://salsa.debian.org/reproducible-builds/diffoscope.git")
+                      (commit version)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1bw7s8qs1vnr93vhifl6pj6h6w6r6nrpc5anzhh9wx2gcaipkb3m"))))
+      (build-system python-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    ;; setup.py mistakenly requires python-magic from PyPi, even
+                    ;; though the Python bindings of `file` are sufficient.
+                    ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
+                    (add-after 'unpack 'dependency-on-python-magic
+                      (lambda _
+                        (substitute* "setup.py"
+                          (("'python-magic',") ""))))
+                    ;; This test is broken because our `file` package has a
+                    ;; bug in berkeley-db file type detection.
+                    (add-after 'unpack 'remove-berkeley-test
+                      (lambda _
+                        (delete-file "tests/comparators/test_berkeley_db.py")
+                        #t))
+                    (add-after 'unpack 'embed-tool-references
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (substitute* "diffoscope/comparators/utils/compare.py"
+                          (("\\['xxd',")
+                           (string-append "['" (which "xxd") "',")))
+                        (substitute* "diffoscope/comparators/elf.py"
+                          (("@tool_required\\('readelf'\\)") "")
+                          (("get_tool_name\\('readelf'\\)")
+                           (string-append "'" (which "readelf") "'")))
+                        (substitute* "diffoscope/comparators/directory.py"
+                          (("@tool_required\\('stat'\\)") "")
+                          (("@tool_required\\('getfacl'\\)") "")
+                          (("\\['stat',")
+                           (string-append "['" (which "stat") "',"))
+                          (("\\['getfacl',")
+                           (string-append "['" (which "getfacl") "',")))
+                        #t))
+                    (add-before 'check 'writable-test-data
+                      (lambda _
+                        ;; tests/comparators/test_elf.py needs write access to
+                        ;; test data
+                        (make-file-writable
+                         "tests/data/ignore_readelf_errors_expected_diff")
+                        #t))
+                    (add-before 'check 'delete-failing-test
+                      (lambda _
+                        ;; this requires /sbin to be on the path
+                        (delete-file "tests/test_tools.py")
+                        #t)))))
+      (inputs `(("rpm" ,rpm)                        ;for rpm-python
+                ("python-file" ,python-file)
+                ("python-debian" ,python-debian)
+                ("python-libarchive-c" ,python-libarchive-c)
+                ("python-tlsh" ,python-tlsh)
+                ("acl" ,acl)                        ;for getfacl
+                ("colordiff" ,colordiff)
+                ("xxd" ,xxd)))
+      ;; Below are modules used for tests.
+      (native-inputs `(("python-pytest" ,python-pytest)
+                       ("python-chardet" ,python-chardet)))
+      (home-page "https://diffoscope.org/")
+      (synopsis "Compare files, archives, and directories in depth")
+      (description
+       "Diffoscope tries to get to the bottom of what makes files or directories
 different.  It recursively unpacks archives of many kinds and transforms
 various binary formats into more human readable forms to compare them.  It can
 compare two tarballs, ISO images, or PDFs just as easily.")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
 
 (define-public trydiffoscope
  (package
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index cdc35b4703..3b7ce4c150 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -52,14 +52,14 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20190522")
+    (version "20190822")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/parallel/parallel-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "0y3z9wybs3gak3zwgsby8r5gg6dwd3qlrkch0q4fn0i1j1jhmijv"))))
+       (base32 "1mi3a18fdwcx50jg51pw1ks1fkmc2slyinff0yb3xhihi2szbskp"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 8b1bca37e1..ff13be24db 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -236,28 +236,40 @@ platforms.")
 (define-public shroud
   (package
     (name "shroud")
-    (version "0.1.1")
+    (version "0.1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://files.dthompson.us/shroud/shroud-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1y43yhgy2zbrk5bqj3qyx9rkcz2bma9sinlrg7dip3jqms9gq4lr"))))
+                "1l2shrhvcwfzkar9qiwb75nhcqmx25iz55lzmz0c187nbjhqzi9p"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (arguments
-     '(#:phases
+     `(#:modules ((guix build gnu-build-system)
+                    (guix build utils)
+                    (ice-9 popen)
+                    (ice-9 rdelim))
+       #:phases
        (modify-phases %standard-phases
          (add-after 'install 'wrap-shroud
-           (lambda* (#:key outputs #:allow-other-keys)
+           (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out       (assoc-ref outputs "out"))
-                    (ccachedir (string-append out "/lib/guile/2.0/ccache"))
+                    (guile (assoc-ref inputs "guile"))
+                    (effective (read-line
+                                (open-pipe* OPEN_READ
+                                            (string-append guile "/bin/guile")
+                                            "-c" "(display (effective-version))")))
+                    (ccachedir (string-append out
+                                             "/lib/guile/" effective "/site-ccache"))
                     (prog      (string-append out "/bin/shroud")))
                (wrap-program prog
                  `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,ccachedir)))
                #t))))))
     (inputs
-     `(("guile" ,guile-2.0)
+     `(("guile" ,guile-2.2)
        ("gnupg" ,gnupg)
        ("xclip" ,xclip)))
     (synopsis "GnuPG-based secret manager")
diff --git a/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
new file mode 100644
index 0000000000..0d03d7ce37
--- /dev/null
+++ b/gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch
@@ -0,0 +1,30 @@
+Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
+the kernel version in use on the build machine.
+
+--- configure.ac.orig	1969-12-31 19:00:00.000000000 -0500
++++ configure.ac	2019-08-11 22:28:26.038841961 -0400
+@@ -1092,9 +1092,7 @@
+ solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
+-		case "`uname -r`" in
+-		2.[[456789]]*|[[34]]*)	AC_DEFINE(PGRP_PIPE) ;;
+-		esac ;;
++		AC_DEFINE(PGRP_PIPE) ;;
+ *qnx6*)		LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+ *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+ powerux*)	LOCAL_LIBS="-lgen" ;;
+--- configure.orig	1969-12-31 19:00:00.000000000 -0500
++++ configure	2019-08-11 22:28:10.166763255 -0400
+@@ -16064,10 +16064,7 @@
+ solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
+-		case "`uname -r`" in
+-		2.[456789]*|[34]*)	$as_echo "#define PGRP_PIPE 1" >>confdefs.h
+- ;;
+-		esac ;;
++		$as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
+ *qnx6*)		LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+ *qnx*)		LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+ powerux*)	LOCAL_LIBS="-lgen" ;;
diff --git a/gnu/packages/patches/enlightenment-fix-setuid-path.patch b/gnu/packages/patches/enlightenment-fix-setuid-path.patch
index 90e16d3e67..c48f18c8ec 100644
--- a/gnu/packages/patches/enlightenment-fix-setuid-path.patch
+++ b/gnu/packages/patches/enlightenment-fix-setuid-path.patch
@@ -28,7 +28,7 @@ index 2bced6766..208e583ba 100644
  }
  #endif  // HAVE_EEZE || __FreeBSD_kernel__
 diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c
-index b7d9e3eba..d8a9eb82c 100644
+index 0fcffa249..c1921121d 100644
 --- a/src/bin/e_fm/e_fm_main_eeze.c
 +++ b/src/bin/e_fm/e_fm_main_eeze.c
 @@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v)
@@ -59,10 +59,10 @@ index b7d9e3eba..d8a9eb82c 100644
       }
     v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v);
 diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
-index 6781a9b5a..8cd140f1b 100644
+index 671fbcd9a..90ee04cf1 100644
 --- a/src/bin/e_sys.c
 +++ b/src/bin/e_sys.c
-@@ -653,20 +653,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED)
+@@ -702,20 +702,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED)
  
     e_init_status_set(_("Checking System Permissions"));
     snprintf(buf, sizeof(buf),
@@ -87,9 +87,9 @@ index 6781a9b5a..8cd140f1b 100644
     _e_sys_hibernate_check_exe = ecore_exe_run(buf, NULL);
     return ECORE_CALLBACK_CANCEL;
  }
-@@ -1079,8 +1075,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
-         /* shutdown -h now */
+@@ -1134,8 +1130,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
          if (e_util_immortal_check()) return 0;
+         e_fm2_die();
          snprintf(buf, sizeof(buf),
 -                 "%s/enlightenment/utils/enlightenment_sys halt",
 -                 e_prefix_lib_get());
@@ -97,9 +97,9 @@ index 6781a9b5a..8cd140f1b 100644
          if (_e_sys_exe)
            {
               if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
-@@ -1114,8 +1109,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
-         /* shutdown -r now */
+@@ -1170,8 +1165,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
          if (e_util_immortal_check()) return 0;
+         e_fm2_die();
          snprintf(buf, sizeof(buf),
 -                 "%s/enlightenment/utils/enlightenment_sys reboot",
 -                 e_prefix_lib_get());
@@ -107,7 +107,7 @@ index 6781a9b5a..8cd140f1b 100644
          if (_e_sys_exe)
            {
               if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
-@@ -1148,8 +1142,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
+@@ -1204,8 +1198,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
        case E_SYS_SUSPEND:
          /* /etc/acpi/sleep.sh force */
          snprintf(buf, sizeof(buf),
@@ -117,7 +117,7 @@ index 6781a9b5a..8cd140f1b 100644
          if (_e_sys_exe)
            {
               if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
-@@ -1208,8 +1201,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
+@@ -1265,8 +1258,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
        case E_SYS_HIBERNATE:
          /* /etc/acpi/hibernate.sh force */
          snprintf(buf, sizeof(buf),
@@ -152,11 +152,26 @@ index 4b5148634..47d34b07f 100644
     autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
     eina_strbuf_free(buf);
  
+diff --git a/src/modules/bluez5/e_mod_main.c b/src/modules/bluez5/e_mod_main.c
+index a581c466c..095d8f360 100644
+--- a/src/modules/bluez5/e_mod_main.c
++++ b/src/modules/bluez5/e_mod_main.c
+@@ -321,8 +321,8 @@ ebluez5_rfkill_unblock(const char *name)
+    if (buf)
+      {
+         eina_strbuf_append_printf
+-          (buf, "%s/enlightenment/utils/enlightenment_sys rfkill-unblock %s",
+-           e_prefix_lib_get(), name);
++          (buf, "/run/setuid-programs/enlightenment_sys rfkill-unblock %s",
++           name);
+         _rfkill_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
+         eina_strbuf_free(buf);
+      }
 diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
-index f4ba259b6..ae228bae3 100644
+index b66b365d8..bab0802cc 100644
 --- a/src/modules/cpufreq/e_mod_main.c
 +++ b/src/modules/cpufreq/e_mod_main.c
-@@ -1450,8 +1450,7 @@ e_modapi_init(E_Module *m)
+@@ -1452,8 +1452,7 @@ e_modapi_init(E_Module *m)
       }
     E_CONFIG_LIMIT(cpufreq_config->poll_interval, 1, 1024);
  
@@ -166,3 +181,40 @@ index f4ba259b6..ae228bae3 100644
     cpufreq_config->set_exe_path = strdup(buf);
     
     if (stat(buf, &st) < 0)
+diff --git a/src/modules/sysinfo/cpuclock/cpuclock.c b/src/modules/sysinfo/cpuclock/cpuclock.c
+index 938916e53..00d5067d0 100644
+--- a/src/modules/sysinfo/cpuclock/cpuclock.c
++++ b/src/modules/sysinfo/cpuclock/cpuclock.c
+@@ -80,8 +80,7 @@ _cpuclock_set_governor(const char *governor)
+    char buf[4096 + 100], exe[4096];
+    struct stat st;
+ 
+-   snprintf(exe, 4096, "%s/%s/cpuclock_sysfs",
+-            e_module_dir_get(sysinfo_config->module), MODULE_ARCH);
++   snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs");
+    if (stat(exe, &st) < 0) return;
+ 
+    snprintf(buf, sizeof(buf),
+@@ -108,8 +107,7 @@ _cpuclock_set_frequency(int frequency)
+    if (system(buf) != 0)
+      ERR("Error code from trying to run \"%s\"", buf);
+ #else
+-   snprintf(exe, 4096, "%s/%s/cpuclock_sysfs",
+-            e_module_dir_get(sysinfo_config->module), MODULE_ARCH);
++   snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs");
+    if (stat(exe, &st) < 0) return;
+    snprintf(buf, sizeof(buf),
+             "%s %s %i", exe, "frequency", frequency);
+@@ -127,8 +125,7 @@ _cpuclock_set_pstate(int min, int max, int turbo)
+    char buf[4096 + 100], exe[4096];
+    struct stat st;
+ 
+-   snprintf(exe, 4096, "%s/%s/cpuclock_sysfs",
+-            e_module_dir_get(sysinfo_config->module), MODULE_ARCH);
++   snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs");
+    if (stat(exe, &st) < 0) return;
+    snprintf(buf, sizeof(buf),
+             "%s %s %i %i %i", exe, "pstate", min, max, turbo);
+-- 
+2.23.0
+
diff --git a/gnu/packages/patches/libextractor-exiv2.patch b/gnu/packages/patches/libextractor-exiv2.patch
new file mode 100644
index 0000000000..b92fef3ca1
--- /dev/null
+++ b/gnu/packages/patches/libextractor-exiv2.patch
@@ -0,0 +1,124 @@
+This patch allows us to build libextractor against exiv2 0.27.x.
+Adapted from this upstream commit:
+
+  commit 1ecee9a47717e36cb8a3925d011d1a6de11d631c
+  Author: Christian Grothoff <christian@grothoff.org>
+  Date:   Mon Jul 29 17:58:18 2019 +0200
+
+      importing patch from Gentoo/AS to address exiv2 build issue (#5820)
+
+diff --git a/src/plugins/exiv2_extractor.cc b/src/plugins/exiv2_extractor.cc
+index 8741d40..ef402a8 100644
+--- a/src/plugins/exiv2_extractor.cc
++++ b/src/plugins/exiv2_extractor.cc
+@@ -27,10 +27,7 @@
+ #include <cassert>
+ #include <cstring>
+ #include <math.h>
+-#include <exiv2/exif.hpp>
+-#include <exiv2/error.hpp>
+-#include <exiv2/image.hpp>
+-#include <exiv2/futils.hpp>
++#include <exiv2/exiv2.hpp>
+ 
+ /**
+  * Enable debugging to get error messages.
+@@ -180,7 +177,7 @@ public:
+    *
+    * @return -1 on error
+    */
+-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0)
++#if EXIV2_TEST_VERSION(0,26,0)
+   virtual size_t size (void) const;
+ #else
+   virtual long int size (void) const;
+@@ -316,7 +313,11 @@ ExtractorIO::getb ()
+   const unsigned char *r;
+ 
+   if (1 != ec->read (ec->cls, &data, 1))
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+     throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+   r = (const unsigned char *) data;
+   return *r;
+ }
+@@ -371,7 +372,11 @@ ExtractorIO::putb (Exiv2::byte data)
+ void
+ ExtractorIO::transfer (Exiv2::BasicIo& src)
+ {
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+   throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+ }
+ 
+ 
+@@ -416,7 +421,11 @@ ExtractorIO::seek (long offset,
+ Exiv2::byte *
+ ExtractorIO::mmap (bool isWritable)
+ {
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+   throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+ }
+ 
+ 
+@@ -449,7 +458,7 @@ ExtractorIO::tell (void) const
+  *
+  * @return -1 on error
+  */
+-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0)
++#if EXIV2_TEST_VERSION(0,26,0)
+ size_t
+ #else
+ long int
+@@ -504,7 +513,11 @@ ExtractorIO::eof () const
+ std::string
+ ExtractorIO::path () const
+ {
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+   throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+ }
+ 
+ 
+@@ -517,7 +530,11 @@ ExtractorIO::path () const
+ std::wstring
+ ExtractorIO::wpath () const
+ {
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+   throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+ }
+ #endif
+ 
+@@ -531,7 +548,11 @@ Exiv2::BasicIo::AutoPtr
+ ExtractorIO::temporary () const
+ {
+   fprintf (stderr, "throwing temporary error\n");
++#if EXIV2_TEST_VERSION(0,27,0)
++    throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
++#else
+   throw Exiv2::BasicError<char> (42 /* error code */);
++#endif
+ }
+ 
+ 
+@@ -697,7 +718,7 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec)
+ {
+   try
+     {
+-#if EXIV2_MAKE_VERSION(0,23,0) <= EXIV2_VERSION
++#if !EXIV2_TEST_VERSION(0,24,0)
+       Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute);
+ #endif
+       std::auto_ptr<Exiv2::BasicIo> eio(new ExtractorIO (ec));
diff --git a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch
deleted file mode 100644
index e8f841c4fd..0000000000
--- a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-This patch includes
-
-   * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3
-   * mingw-w64-headers/crt/math.h: Likewise
-   * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add
-   symbols.
-   * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK):
-   Add symbols.
-   (lstat): Add function.
-   * mingw-w64-headers/crt/_mingw_stat64.h: Likewise
-   * mingw-w64-headers/crt/stdlib.h (realpath): Add function.
-
-Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6.
-
-Upstream status: not yet presented upstream.
-
-index 9c5cf87..74a8541 100644
---- a/mingw-w64-crt/misc/dirname.c
-+++ b/mingw-w64-crt/misc/dirname.c
-@@ -29,6 +29,12 @@
- #define __cdecl  /* this may not be defined.                   */
- #endif
- 
-+char *__cdecl
-+realpath(const char *name, char *resolved)
-+{
-+  return resolved ? strcpy (resolved, name) : strdup (name);
-+}
-+
- char * __cdecl
- dirname(char *path)
- {
-diff --git a/mingw-w64-headers/crt/_mingw_stat64.h b/mingw-w64-headers/crt/_mingw_stat64.h
-index 17e754c..7d2339b 100644
---- a/mingw-w64-headers/crt/_mingw_stat64.h
-+++ b/mingw-w64-headers/crt/_mingw_stat64.h
-@@ -2,13 +2,17 @@
- 
- #ifdef _USE_32BIT_TIME_T
- #define _fstat32 _fstat
-+#define _lstat32 _lstat
- #define _stat32 _stat
- #define _wstat32 _wstat
- #define _fstat32i64 _fstati64
-+#define _lstat32i64 _lstati64
- #define _stat32i64 _stati64
- #define _wstat32i64 _wstati64
- #else
- #define _fstat _fstat64i32
-+#define _lstat _lstat64i32
-+#define _lstati64 _lstat64
- #define _fstati64 _fstat64
- #define _stat _stat64i32
- #define _stati64 _stat64
-diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h
-index 5874f4e..bdf4ead 100644
---- a/mingw-w64-headers/crt/float.h
-+++ b/mingw-w64-headers/crt/float.h
-@@ -22,6 +22,15 @@
- #if (__GNUC__ < 4)
- #error Corrupt install of gcc-s internal headers, or search order was changed.
- #else
-+
-+        /* From gcc-4.9.3 float.h.  */
-+        #undef FLT_EPSILON
-+        #undef DBL_EPSILON
-+        #undef LDBL_EPSILON
-+        #define FLT_EPSILON	__FLT_EPSILON__
-+        #define DBL_EPSILON	__DBL_EPSILON__
-+        #define LDBL_EPSILON	__LDBL_EPSILON__
-+
- 	/* #include_next <float_ginclude.h> */
- 	
-    	/* Number of decimal digits, q, such that any floating-point number with q
-diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h
-index 1e970f4..99a332f 100644
---- a/mingw-w64-headers/crt/math.h
-+++ b/mingw-w64-headers/crt/math.h
-@@ -216,6 +216,7 @@ extern "C" {
- #endif
-   }
- 
-+#if 0
-   __CRT_INLINE long double __cdecl fabsl (long double x)
-   {
- #ifdef __arm__
-@@ -226,6 +227,7 @@ extern "C" {
-     return res;
- #endif
-   }
-+#endif
- 
-   __CRT_INLINE double __cdecl fabs (double x)
-   {
-@@ -905,7 +907,7 @@ __mingw_choose_expr (                                         \
- /* 7.12.7.3  */
-   extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */
-   extern float __cdecl hypotf (float x, float y);
--#ifndef __CRT__NO_INLINE
-+#if 0 //ndef __CRT__NO_INLINE
-   __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);}
- #endif
-   extern long double __cdecl hypotl (long double, long double);
-diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h
-index dfc5ae4..6f0fee3 100644
---- a/mingw-w64-headers/crt/stdlib.h
-+++ b/mingw-w64-headers/crt/stdlib.h
-@@ -8,6 +8,7 @@
- 
- #include <crtdefs.h>
- #include <limits.h>
-+#include <string.h>
- 
- #if defined (__USE_MINGW_ANSI_STDIO) && ((__USE_MINGW_ANSI_STDIO + 0) != 0) && !defined (__USE_MINGW_STRTOX)
- #define __USE_MINGW_STRTOX 1
-@@ -676,6 +677,8 @@ unsigned long __cdecl _lrotr(unsigned long,int);
- 
- #endif /* !__NO_ISOCEXT */
- 
-+char *__cdecl realpath (const char *name, char *resolved);
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h
-index ed60219..d88b4f1 100644
---- a/mingw-w64-headers/crt/sys/stat.h
-+++ b/mingw-w64-headers/crt/sys/stat.h
-@@ -58,16 +58,21 @@ extern "C" {
- #include <_mingw_stat64.h>
- 
- #define _S_IFMT 0xF000
-+#define _S_IFLNK 0xA000
-+#define _S_IFSOCK 0xC000
- #define _S_IFDIR 0x4000
- #define _S_IFCHR 0x2000
- #define _S_IFIFO 0x1000
- #define _S_IFREG 0x8000
-+#define _S_ISUID 0x0400
-+#define _S_ISGID 0x0200
- #define _S_IREAD 0x0100
- #define _S_IWRITE 0x0080
- #define _S_IEXEC 0x0040
- 
-   _CRTIMP int __cdecl _fstat32(int _FileDes,struct _stat32 *_Stat);
-   _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat);
-+  static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);}
-   _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat);
-   _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat);
-   int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat);
-@@ -97,6 +102,9 @@ extern "C" {
-   _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat);
-   _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat);
-   int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat);
-+  static inline int __cdecl _lstat64(const char *_Name,struct _stat64 *_Stat) {return _stat64(_Name, _Stat);}
-+  static inline int __cdecl _lstat32i64(const char *_Name,struct _stat32i64 *_Stat) {return _stat32i64(_Name, _Stat);}
-+  static inline int __cdecl _lstat64i32(const char *_Name,struct _stat64i32 *_Stat) {return _stat64i32(_Name, _Stat);}
- #ifndef __CRT__NO_INLINE
-   __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat)
-   {
-@@ -132,6 +140,8 @@ extern "C" {
- #ifndef	NO_OLDNAMES
- #define	_S_IFBLK	0x3000	/* Block: Is this ever set under w32? */
- 
-+#define S_IFLNK _S_IFLNK
-+#define S_IFSOCK _S_IFSOCK
- #define S_IFMT _S_IFMT
- #define S_IFDIR _S_IFDIR
- #define S_IFCHR _S_IFCHR
-@@ -162,6 +172,11 @@ extern "C" {
- #define S_IXOTH    (S_IXGRP >> 3)
- #define S_IRWXO    (S_IRWXG >> 3)
- 
-+#define S_ISUID _S_ISUID
-+#define S_ISGID _S_ISGID
-+
-+#define S_ISLNK(m)	(((m) & S_IFMT) == S_IFLNK)
-+#define S_ISSOCK(m)	(((m) & S_IFMT) == S_IFSOCK)
- #define	S_ISDIR(m)	(((m) & S_IFMT) == S_IFDIR)
- #define	S_ISFIFO(m)	(((m) & S_IFMT) == S_IFIFO)
- #define	S_ISCHR(m)	(((m) & S_IFMT) == S_IFCHR)
-@@ -174,6 +189,7 @@ extern "C" {
- int __cdecl stat(const char *_Filename,struct stat *_Stat);
- int __cdecl fstat(int _Desc,struct stat *_Stat);
- int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat);
-+static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);}
- 
- #ifndef __CRT__NO_INLINE
- #ifdef _USE_32BIT_TIME_T
-@@ -262,9 +278,11 @@ __CRT_INLINE int __cdecl
- 
- #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
- #ifdef _USE_32BIT_TIME_T
-+#define lstat _lstat32i64
- #define stat _stat32i64
- #define fstat _fstat32i64
- #else
-+#define lstat _lstat64
- #define stat _stat64
- #define fstat _fstat64
- #endif
-diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h
-index 52af29b..8626396 100644
---- a/mingw-w64-headers/include/winnt.h
-+++ b/mingw-w64-headers/include/winnt.h
-@@ -6895,7 +6895,12 @@ __buildmemorybarrier()
- 	  DWORD Reg : 3;
- 	  DWORD R : 1;
- 	  DWORD L : 1;
-+/* C is used as a const specifier */
-+#define save_C C
-+#undef C
- 	  DWORD C : 1;
-+#define C save_C
-+#undef save_C
- 	  DWORD StackAdjust : 10;
- 	} DUMMYSTRUCTNAME;
-       } DUMMYUNIONNAME;
diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
new file mode 100644
index 0000000000..036cf79f91
--- /dev/null
+++ b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch
@@ -0,0 +1,65 @@
+This patch includes
+
+   * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3
+   * mingw-w64-headers/crt/math.h: Likewise
+   * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add
+   symbols.
+   * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK):
+   Add symbols.
+   (lstat): Add function.
+   * mingw-w64-headers/crt/_mingw_stat64.h: Likewise
+   * mingw-w64-headers/crt/stdlib.h (realpath): Add function.
+
+Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6.
+
+Upstream status: not yet presented upstream.
+
+diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h
+index 5874f4e..bdf4ead 100644
+--- a/mingw-w64-headers/crt/float.h
++++ b/mingw-w64-headers/crt/float.h
+@@ -22,6 +22,15 @@
+ #if (__GNUC__ < 4)
+ #error Corrupt install of gcc-s internal headers, or search order was changed.
+ #else
++
++        /* From gcc-4.9.3 float.h.  */
++        #undef FLT_EPSILON
++        #undef DBL_EPSILON
++        #undef LDBL_EPSILON
++        #define FLT_EPSILON	__FLT_EPSILON__
++        #define DBL_EPSILON	__DBL_EPSILON__
++        #define LDBL_EPSILON	__LDBL_EPSILON__
++
+ 	/* #include_next <float_ginclude.h> */
+
+    	/* Number of decimal digits, q, such that any floating-point number with q
+diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h
+index 1e970f4..99a332f 100644
+--- a/mingw-w64-headers/crt/math.h
++++ b/mingw-w64-headers/crt/math.h
+@@ -216,6 +216,7 @@ extern "C" {
+ #endif
+   }
+
++#if 0
+   __CRT_INLINE long double __cdecl fabsl (long double x)
+   {
+ #ifdef __arm__
+@@ -226,6 +227,7 @@ extern "C" {
+     return res;
+ #endif
+   }
++#endif
+
+   __CRT_INLINE double __cdecl fabs (double x)
+   {
+@@ -905,7 +907,7 @@ __mingw_choose_expr (                                         \
+ /* 7.12.7.3  */
+   extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */
+   extern float __cdecl hypotf (float x, float y);
+-#ifndef __CRT__NO_INLINE
++#if 0 //ndef __CRT__NO_INLINE
+   __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);}
+ #endif
+   extern long double __cdecl hypotl (long double, long double);
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index a3f6e5d050..79d8f3b684 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6495,19 +6495,18 @@ Perl (back to 5.6.0).")
 (define-public perl-namespace-autoclean
   (package
     (name "perl-namespace-autoclean")
-    (version "0.28")
+    (version "0.29")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
                            "namespace-autoclean-" version ".tar.gz"))
        (sha256
-        (base32
-         "0fbcq99yaix1aa99jl3v811dbw24il9jxnh5i2i23mddh4b0lhfd"))))
+        (base32 "012qqs561xyyhm082znmzsl8lz4n299fa6p0v246za2l9bkdiss5"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
-       ("perl-test-requires" ,perl-test-requires)))
+       ("perl-test-needs" ,perl-test-needs)))
     (propagated-inputs
      `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope)
        ("perl-namespace-clean" ,perl-namespace-clean)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index d87eb9f561..dde35a1f3a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2218,24 +2218,21 @@ applications.")
 (define-public python-flask-sqlalchemy
   (package
     (name "python-flask-sqlalchemy")
-    (version "2.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "Flask-SQLAlchemy" version))
-        (sha256
-          (base32
-            "1i9ps5d5snih9xlqhrvmi3qfiygkmqzxh92n25kj4pf89kj4s965"))))
+    (version "2.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "Flask-SQLAlchemy" version))
+              (sha256
+               (base32
+                "0nnllf0ddbh9jlhngnyjj98lbxgxr1csaplllx0caw98syq0k5hc"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-flask" ,python-flask)
        ("python-sqlalchemy" ,python-sqlalchemy)))
-    (home-page
-      "https://github.com/mitsuhiko/flask-sqlalchemy")
-    (synopsis
-      "Module adding SQLAlchemy support to your Flask application")
+    (home-page "https://github.com/mitsuhiko/flask-sqlalchemy")
+    (synopsis "Module adding SQLAlchemy support to your Flask application")
     (description
-      "This package adds SQLAlchemy support to your Flask application.")
+     "This package adds SQLAlchemy support to your Flask application.")
     (license license:bsd-3)))
 
 (define-public python-flask-restplus
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4c3ba68851..43e341b43d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -64,6 +64,7 @@
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
+;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6999,14 +7000,14 @@ Supported netlink families and protocols include:
 (define-public python-wrapt
   (package
     (name "python-wrapt")
-    (version "1.11.1")
+    (version "1.11.2")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "wrapt" version))
-        (sha256
-          (base32
-            "0cqmysny1pz01jw26q48q5zasvns6507rwhgm6wcw743f0r01sja"))))
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "wrapt" version))
+       (sha256
+        (base32
+         "1q81762dgsgrd12f8qc39zk8s5wll3m5xc32jdmlf6cls4gh4njn"))))
     (build-system python-build-system)
     (arguments
      ;; Tests are not included in the tarball, they are only available in the
@@ -7015,7 +7016,7 @@ Supported netlink families and protocols include:
     (home-page "https://github.com/GrahamDumpleton/wrapt")
     (synopsis "Module for decorators, wrappers and monkey patching")
     (description
-      "The aim of the wrapt module is to provide a transparent object proxy for
+     "The aim of the wrapt module is to provide a transparent object proxy for
   Python, which can be used as the basis for the construction of function
   wrappers and decorator functions.")
     (license license:bsd-2)))
@@ -7322,14 +7323,14 @@ responses, rather than doing any computation.")
 (define-public python-pip
   (package
     (name "python-pip")
-    (version "18.1")
+    (version "19.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pip" version))
        (sha256
         (base32
-         "188fclay154s520n43s7cxxlhdaiysvxf19zk8vr1xbyjyyr58n0"))))
+         "100sd12ss4mbdj5lf3wawad29cm573b27765mq098x6xhcj71395"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f))          ; there are no tests in the pypi archive.
@@ -9990,13 +9991,13 @@ format.")
 (define-public python-twisted
   (package
     (name "python-twisted")
-    (version "19.2.1")
+    (version "19.7.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Twisted" version ".tar.bz2"))
               (sha256
                (base32
-                "0liymyd4pzphizjlpwkncxjpm9akyr3lkfkm77yfg6wasv108b7s"))))
+                "17d3hnxv9qndagzz63mdpyk99xj63p9gq586vjn0rxk8cl197nym"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f))                    ; FIXME: some tests fail
@@ -16088,3 +16089,72 @@ The library has a number of built-in tilesets from OpenStreetMap, Mapbox, and
 Stamen, and supports custom tilesets with Mapbox or Cloudmade API keys.  It
 supports Image, Video, GeoJSON and TopoJSON overlays.")
     (license license:expat)))
+
+(define-public jube
+  (package
+    ;; This is a command-line tool, so no "python-" prefix.
+    (name "jube")
+    (version "2.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://apps.fz-juelich.de/jsc/jube/jube2/download.php?version="
+                    version))
+              (sha256
+               (base32
+                "0xq4k1q63s1p6swgyp61vahlrd1fqmgbm0gm5kpj8ikwy0yc0nqk"))
+              (file-name (string-append "jube-" version ".tar.gz"))))
+    (build-system python-build-system)
+    (home-page "https://apps.fz-juelich.de/jsc/jube/jube2/docu/index.html")
+    (synopsis "Benchmarking environment")
+    (description
+     "JUBE helps perform and analyze benchmarks in a systematic way.  For each
+benchmarked application, benchmark data is stored in a format that allows JUBE
+to deduct the desired information.  This data can be parsed by automatic pre-
+and post-processing scripts that draw information and store it more densely
+for manual interpretation.")
+    (license license:gpl3+)))
+
+(define-public python-pyroutelib3
+  (package
+    (name "python-pyroutelib3")
+    (version "1.3.post1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyroutelib3" version))
+       (sha256
+        (base32
+         "1hpbydpn2alyswiajfbvhzq4c7f36vdmvxy91hgv8l1lb2g2vfrj"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-dateutil" ,python-dateutil)))
+    (home-page "https://github.com/MKuranowski/pyroutelib3")
+    (synopsis "Library for simple routing on OSM data")
+    (description "Library for simple routing on OSM data")
+    (license license:gpl3+)))
+
+(define-public python-elementpath
+  (package
+    (name "python-elementpath")
+    (version "1.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "elementpath" version))
+       (sha256
+        (base32
+         "1syn2z543brab23dskh3fjd9pqvz6npqbcicrs2d88dbg26xl08p"))))
+    (build-system python-build-system)
+    (home-page
+     "https://github.com/sissaschool/elementpath")
+    (synopsis
+     "XPath 1.0/2.0 parsers and selectors for ElementTree and lxml")
+    (description
+     "The proposal of this package is to provide XPath 1.0 and 2.0 selectors
+for Python's ElementTree XML data structures, both for the standard
+ElementTree library and for the @uref{http://lxml.de, lxml.etree} library.
+
+For lxml.etree this package can be useful for providing XPath 2.0 selectors,
+because lxml.etree already has it's own implementation of XPath 1.0.")
+    (license license:expat)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 61f096d7f8..2104e684f4 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2216,6 +2216,9 @@ content")
     (description "QtWebKit provides a Web browser engine that makes it easy to
 embed content from the World Wide Web into your Qt application.  At the same
 time Web content can be enhanced with native controls.")
+    ;; Building QtWebKit takes around 13 hours on an AArch64 machine.  Give some
+    ;; room for slower or busy hardware.
+    (properties '((timeout . 64800)))   ;18 hours
     (license license:lgpl2.1+)))
 
 (define-public dotherside
diff --git a/gnu/packages/rednotebook.scm b/gnu/packages/rednotebook.scm
new file mode 100644
index 0000000000..e5b1b2c7bf
--- /dev/null
+++ b/gnu/packages/rednotebook.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.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 packages rednotebook)
+  #:use-module (guix packages)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system python)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages webkit)
+  #:use-module (gnu packages python-xyz))
+
+(define-public rednotebook
+  (package
+    (name "rednotebook")
+    (version "2.11.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/jendrikseipp/rednotebook.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1"))))
+    (build-system python-build-system)
+    (arguments
+     ;; Tests fail to find the "_" function.
+     ;; It should be defined in rednotebook/info.py if '_' is not a member of
+     ;; 'builtins'. It is either not defined or not exported during the check
+     ;; phase. The program does not have this problem after it is installed.
+     ;; TODO: Fix tests.
+     `(#:tests? #f
+       #:imported-modules ((guix build glib-or-gtk-build-system)
+                           ,@%python-build-system-modules)
+       #:modules ((ice-9 match)
+                  (guix build python-build-system)
+                  ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+                  (guix build utils))
+       #:phases
+       (modify-phases %standard-phases
+         ;; Make sure rednotebook can find the typelibs and webkitgtk shared
+         ;; libraries.
+         (add-before 'wrap 'wrap-with-library-paths
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+                   (webkitgtk-path (string-append
+                                    (assoc-ref inputs "webkitgtk")
+                                    "/lib")))
+               (wrap-program (string-append out "/bin/rednotebook")
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+                 `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path)))
+               #t))))))
+    (inputs
+     `(("gtk+" ,gtk+)
+       ("gtksourceview" ,gtksourceview-3)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-pygobject" ,python-pygobject)
+       ("webkitgtk" ,webkitgtk)))
+    ;; TODO: package the following for python3 (if possible), add them as
+    ;; dependencies, and remove them from rednotebook source:
+    ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags
+    ;; TODO: package and add pyenchant for python3 and add it as a dependency.
+    (home-page "https://www.rednotebook.app")
+    (synopsis "Daily journal with calendar, templates and keyword searching")
+    (description
+     "RedNotebook is a modern desktop journal.  It lets you format, tag and
+search your entries.  You can also add pictures, links and customizable
+templates, spell check your notes, and export to plain text, HTML, Latex or
+PDF.")
+    (license (list license:gpl2+     ; rednotebook, txt2tags
+                   license:lgpl3+    ; elib.intl
+                   license:gpl3+)))) ; pygtkspellcheck
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 33a42a2da2..1f3fb29aba 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Mikhail Kirillov <w96k.ru@gmail.com>
 ;;; Copyright © 2019 Jelle Licht <jlicht@fsfe.org>
+;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2035,13 +2036,13 @@ the SimpleCov code coverage tool for Ruby version 1.9 and above.")
 (define-public ruby-simplecov
   (package
     (name "ruby-simplecov")
-    (version "0.12.0")
+    (version "0.17.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "simplecov" version))
               (sha256
                (base32
-                "0ffhyrfnq2zm2mc1742a4hqy475g3qa1zf6yfldwg1ldh5sn3qbx"))))
+                "0dq0nkaxvbsnl70hkimy35g4yjfs3blx4s7nbpzbvgqx72hxgv5v"))))
     (build-system ruby-build-system)
     ;; Simplecov depends on rubocop for code style checking at build time.
     ;; Rubocop needs simplecov at build time.
@@ -3638,24 +3639,24 @@ to reproduce user environments.")
 
 (define-public ruby-mini-portile-2
   (package (inherit ruby-mini-portile)
-    (version "2.2.0")
+    (version "2.4.0")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "mini_portile2" version))
               (sha256
                (base32
-                "0g5bpgy08q0nc0anisg3yvwc1gc3inl854fcrg48wvg7glqd6dpm"))))))
+                "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy"))))))
 
 (define-public ruby-nokogiri
   (package
     (name "ruby-nokogiri")
-    (version "1.8.0")
+    (version "1.10.4")
     (source (origin
               (method url-fetch)
               (uri (rubygems-uri "nokogiri" version))
               (sha256
                (base32
-                "1nffsyx1xjg6v5n9rrbi8y1arrcx2i5f21cp6clgh9iwiqkr7rnn"))))
+                "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv"))))
     (build-system ruby-build-system)
     (arguments
      ;; Tests fail because Nokogiri can only test with an installed extension,
@@ -8571,6 +8572,33 @@ characteristics.")
     (home-page "https://github.com/sinatra/mustermann")
     (license license:expat)))
 
+(define-public ruby-htmlentities
+  (package
+    (name "ruby-htmlentities")
+    (version "4.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "htmlentities" version))
+       (sha256
+        (base32
+         "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (map (lambda (file)
+                    (invoke "ruby" "-Itest" file))
+                  (find-files "./test" ".*_test\\.rb")))))))
+    (synopsis "Encode and decode (X)HTML entities")
+    (description
+     "This package provides a module for encoding and decoding (X)HTML
+entities.")
+    (home-page "https://github.com/threedaymonk/htmlentities")
+    (license license:expat)))
+
 (define-public ruby-sinatra
   (package
     (name "ruby-sinatra")
@@ -8807,3 +8835,92 @@ It is intended to determine whether a newer API specification is
 backwards-compatible with an older API specification.")
     (home-page "https://github.com/civisanalytics/swagger-diff")
     (license license:bsd-3)))
+
+(define-public ruby-reverse-markdown
+  (package
+    (name "ruby-reverse-markdown")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "reverse_markdown" version))
+       (sha256
+        (base32
+         "0w7y5n74daajvl9gixr91nh8670d7mkgspkk3ql71m8azq3nffbg"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+     `(("ruby-nokogiri" ,ruby-nokogiri)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)
+       ("ruby-kramdown" ,ruby-kramdown)
+       ("ruby-simplecov" ,ruby-simplecov)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
+    (synopsis "Convert HTML into Markdown")
+    (description
+     "This Ruby module allows you to map simple HTML back into
+Markdown---e.g., if you want to import existing HTML data in your
+application.")
+    (home-page "https://github.com/xijo/reverse_markdown")
+    (license license:wtfpl2)))
+
+(define-public ruby-solargraph
+  (package
+    (name "ruby-solargraph")
+    (version "0.36.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "solargraph" version))
+       (sha256
+        (base32
+         "0b93xzkgd1h06da9gdnwivj1mzbil8lc072y2838dy6i7bxgpy9i"))))
+    (build-system ruby-build-system)
+    (propagated-inputs
+     `(("ruby-backport" ,ruby-backport)
+       ("bundler" ,bundler)
+       ("ruby-htmlentities" ,ruby-htmlentities)
+       ("ruby-jaro-winkler" ,ruby-jaro-winkler)
+       ("ruby-maruku" ,ruby-maruku)
+       ("ruby-nokogiri" ,ruby-nokogiri)
+       ("ruby-parser" ,ruby-parser)
+       ("ruby-reverse-markdown" ,ruby-reverse-markdown)
+       ("ruby-rubocop" ,ruby-rubocop)
+       ("ruby-thor" ,ruby-thor)
+       ("ruby-tilt" ,ruby-tilt)
+       ("ruby-yard" ,ruby-yard)))
+    (native-inputs
+     `(("ruby-rspec" ,ruby-rspec)
+       ("ruby-pry" ,ruby-pry)
+       ("ruby-simplecov" ,ruby-simplecov)
+       ("ruby-webmock" ,ruby-webmock-2)))
+    ;; FIXME: can't figure out how to run the tests properly:
+
+    ;; An error occurred while loading spec_helper.
+    ;; Failure/Error: return gem_original_require(path)
+    ;; LoadError:
+    ;; cannot load such file -- spec_helper
+    (arguments
+     '(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "rspec"))
+             #t)))))
+    (synopsis
+     "IDE tools for code completion, inline documentation, and static analysis")
+    (description
+     "Solargraph provides a comprehensive suite of tools for Ruby
+programming: intellisense, diagnostics, inline documentation, and type
+checking.")
+    (home-page "https://solargraph.org/")
+    (license license:expat)))
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 3d6ad4f9d7..90892a57e8 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -353,7 +353,7 @@ retrieve a YubiKey's serial number, and so forth.")
 (define-public python-pyscard
   (package
     (name "python-pyscard")
-    (version "1.9.8")
+    (version "1.9.9")
     (source (origin
               (method url-fetch)
               ;; The maintainer publishes releases on various sites, but
@@ -363,7 +363,7 @@ retrieve a YubiKey's serial number, and so forth.")
                     version "/pyscard-" version ".tar.gz"))
               (sha256
                (base32
-                "15fh00z1an6r5j7hrz3jlq0rb3jygwf3x4jcwsa008bv8vpcg7gm"))))
+                "082cjkbxadaz2jb4rbhr0mkrirzlqyqhcf3r823qb0q1k50ybgg6"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 9077d295db..bca8b14dad 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1106,3 +1106,59 @@ and IP roaming.  ET provides the same core functionality as @command{mosh},
 while also supporting native scrolling and @command{tmux} control mode
 (@code{tmux -CC}).")
     (license license:asl2.0)))
+
+(define-public wterm
+  (package
+    (name "wterm")
+    (version "0.7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/majestrate/wterm.git")
+             (commit "0ae42717c08a85a6509214e881422c7fbe7ecc45")))
+       (sha256
+         (base32
+          "0g4lzmc1w6na81i6hny32xds4xfig4xzswzfijyi6p93a1226dv0"))
+       (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("libdrm" ,libdrm)
+       ("libxkbcommon" ,libxkbcommon)
+       ("ncurses" ,ncurses)
+       ("pixman" ,pixman)
+       ("wayland" ,wayland)))
+    (arguments
+     '(#:tests? #f
+
+       ;; Without -j1 it fails to find file libwld.a.
+       #:parallel-build? #f
+
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX=" %output)
+                          (string-append "TERMINFO="
+                                         (assoc-ref %outputs "out")
+                                         "/share/terminfo"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'unpack 'terminfo-fix
+           (lambda _
+             (substitute* "Makefile"
+               (("\ttic .*") "\tmkdir -p $(SHARE_PREFIX)/share/terminfo
+\ttic -o $(SHARE_PREFIX)/share/terminfo -s wterm.info\n"))
+             #t)))))
+    (native-search-paths
+      (list (search-path-specification
+              (variable "TERMINFO_DIRS")
+              (files '("share/terminfo")))))
+    (home-page "https://github.com/majestrate/wterm")
+    (synopsis "Terminal emulator for Wayland")
+    (description "wterm is a native Wayland terminal emulator based on
+an st fork using wld. st is a simple terminal emulator for X originally
+made by suckless.")
+    (license license:x11)))
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 4412d54579..432e79e350 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -567,3 +568,55 @@ The basic features of Geany are:
 @item extensibility through plugins
 @end itemize")
     (license license:gpl2+)))
+
+(define-public fe
+  (package
+    (name "fe")
+    ;; Stable release is 1.8.  However, this development version
+    ;; introduces support for UTF-8.
+    (version "2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.moria.de/~michael/fe/"
+                                  "fe-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1hwws7si1752z6hp61zxznvgsb6846lp8zl1hn5ddhsbafwalwb9"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no test
+       ;; Sendmail is only used to send a crash log.  Disable the
+       ;; feature since it is (1) undocumented (2) not very useful.
+       #:configure-flags (list "--disable-sendmail")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
+               (for-each (lambda (f) (install-file f doc))
+                         '("fe.doc" "fe.html" "fe.ps" "feref.ps" "README"))
+               #t))))))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)))
+    (inputs
+     `(("ncurses" ,ncurses)))
+    (home-page "http://www.moria.de/~michael/fe/")
+    (synopsis "Small folding editor")
+    (description "Fe is a small folding editor.  It allows to fold
+arbitrary text regions; it is not bound to syntactic units.
+
+Fe has no configuration or extension language and requires no setup.
+Its user interface is emacs-like and it has menues for the very most
+important functions to help beginners.  Further there is a reference
+card.  It offers:
+
+@itemize
+@item Regions and Emacs-like kill ring
+@item Incremental search
+@item Keyboard macros
+@item Editing binary files
+@item Multiple windows and views
+@item Compose function for Latin 1 characters
+@end itemize")
+    (license license:gpl2+)))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 2c520dfbdf..330e10610d 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
-;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2017,2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -45,6 +45,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages java)
@@ -321,6 +322,112 @@ input bits thoroughly but are not suitable for cryptography.")
     ;; entails."
     (license license:public-domain)))
 
+(define-public ascii2binary
+  (package
+    (name "ascii2binary")
+    (version "2.14")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://billposer.org/Software/Downloads/"
+                           "ascii2binary-" version ".tar.bz2"))
+       (sha256
+        (base32 "0dc9fxcdmppbs9s06jvq61zbk552laxps0xyk098gj41697ihd96"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)))
+    (home-page "https://billposer.org/Software/a2b.html")
+    (synopsis "Convert between ASCII, hexadecimal and binary representations")
+    (description "The two programs are useful for generating test data, for
+inspecting binary files, and for interfacing programs that generate textual
+output to programs that require binary input and conversely.  They can also be
+useful when it is desired to reformat numbers.
+
+@itemize
+
+@item @command{ascii2binary} reads input consisting of ascii or hexadecimal
+   representation numbers separated by whitespace and produces as output
+   the binary equivalents.  The type and precision of the binary output
+   is selected using command line flags.
+
+@item @command{binary2ascii} reads input consisting of binary numbers
+   and converts them to their ascii or hexadecimal representation.
+   Command line flags specify the type and size of the binary numbers
+   and provide control over the format of the output.
+   Unsigned integers may be written out in binary, octal, decimal,
+   or hexadecimal.
+
+   Signed integers may be written out only in binary or decimal.  Floating
+   point numbers may be written out only decimal, either in standard or
+   scientific notation.  (If you want to examine the binary representation
+   of floating point numbers, just treat the input as a sequence of unsigned
+   characters.)
+
+@end itemize")
+    (license license:gpl3)))
+
+(define-public uniutils
+  (package
+    (name "uniutils")
+    (version "2.27")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://billposer.org/Software/Downloads/"
+                           "uniutils-" version ".tar.bz2"))
+       (sha256
+        (base32 "19w1510w87gx7n4qy3zsb0m467a4rn5scvh4ajajg7jh6x5xri08"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags '("--disable-dependency-tracking")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'fix-paths
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (a2b (assoc-ref inputs "ascii2binary"))
+                   (iconv (assoc-ref inputs "libiconv")))
+               (substitute* "utf8lookup"
+                 (("^ascii2binary ") (string-append a2b "/bin/ascii2binary "))
+                 (("^uniname ") (string-append out "/bin/uniname "))
+                 (("^iconv ") (string-append iconv "/bin/iconv ")))
+             #t))))))
+    (inputs
+     `(("ascii2binary" ,ascii2binary)
+       ("libiconv" ,libiconv)))
+    (home-page "https://billposer.org/Software/unidesc.html")
+    (synopsis "Find out what is in a Unicode file")
+    (description "Useful tools when working with Unicode files when one
+doesn't know the writing system, doesn't have the necessary font, needs to
+inspect invisible characters, needs to find out whether characters have been
+combined or in what order they occur, or needs statistics on which characters
+occur.
+
+@itemize
+
+@item @command{uniname} defaults to printing the character offset of each
+character, its byte offset, its hex code value, its encoding, the glyph
+itself, and its name.  It may also be used to validate UTF-8 input.
+
+@item @command{unidesc} reports the character ranges to which different
+portions of the text belong.   It can also be used to identify Unicode encodings
+(e.g. UTF-16be) flagged by magic numbers.
+
+@item @command{unihist} generates a histogram of the characters in its input.
+
+@item @command{ExplicateUTF8} is intended for debugging or for learning about
+Unicode.  It determines and explains the validity of a sequence of bytes as a
+UTF8 encoding.
+
+@item @command{utf8lookup} provides a handy way to look up Unicode characters
+from the command line.
+
+@item @command{unireverse} reverse each line of UTF-8 input
+character-by-character.
+
+@end itemize")
+    (license license:gpl3)))
+
 (define-public libconfig
   (package
     (name "libconfig")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index f2e7f4ad0c..d896908a12 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -505,13 +505,13 @@ netcat implementation that supports TLS.")
   (package
     (name "python-acme")
     ;; Remember to update the hash of certbot when updating python-acme.
-    (version "0.35.1")
+    (version "0.37.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "acme" version))
               (sha256
                (base32
-                "08y4ankn0di34c9d1c3pqd9by9n0ckzz7b5ld1g0fx6c32sbi259"))))
+                "0p3zqhna9p8iy5i9mfhzdf5bmjigs05r6rlwnxykk4n67fp8yyc8"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -559,10 +559,10 @@ netcat implementation that supports TLS.")
     (version (package-version python-acme))
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri name version))
+              (uri (pypi-uri "certbot" version))
               (sha256
                (base32
-                "0q0855qvsvs4mgglss5iim7f1p22rv4rn1n6j731vv869v0yrs6p"))))
+                "1xbfv4fwkgfp9qqzlk8wxbhchc61349m26q9fg35j9fnm253cm74"))))
     (build-system python-build-system)
     (arguments
      `(,@(substitute-keyword-arguments (package-arguments python-acme)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 2376f8bda1..4fb2d76c33 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -357,15 +357,14 @@ H.264 (MPEG-4 AVC) video streams.")
 (define-public mkvtoolnix
   (package
     (name "mkvtoolnix")
-    (version "31.0.0")
+    (version "37.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://mkvtoolnix.download/sources/"
-                           name "-" version ".tar.xz"))
+                           "mkvtoolnix-" version ".tar.xz"))
        (sha256
-        (base32
-         "0d8va2iamzc7y3wi71z8mk2vnqvnkgwb2p7casdfp37400x8r2pr"))
+        (base32 "0r4d9318ymb9a0mkc0shi9p4kjy3m70s49v4f8dmjhvj63silhix"))
        (modules '((guix build utils)))
        (snippet '(begin
                    ;; Delete bundled libraries.
@@ -419,6 +418,13 @@ H.264 (MPEG-4 AVC) video streams.")
              "--enable-precompiled-headers=no")
         #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-relative-file-names
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+             (substitute* "src/mkvtoolnix-gui/util/settings.cpp"
+               (("mkvmerge" match)
+                (string-append out "/bin/" match)))
+             #t)))
          (add-before 'configure 'add-googletest
            (lambda* (#:key inputs #:allow-other-keys)
              (symlink
@@ -466,8 +472,9 @@ H.264 (MPEG-4 AVC) video streams.")
     (synopsis "Tools to create, alter and inspect Matroska files")
     (description
      "MKVToolNix provides tools for getting information about Matroska files
-(@code{mkvinfo}), extracting tracks/data from Matroska files (@code{mkvextract})
-and creating Matroska files from other media files (@code{mkvmerge}).")
+(@command{mkvinfo}), extracting tracks/data from Matroska files
+(@command{mkvextract}), and creating Matroska files from other media files
+(@command{mkvmerge}).")
     (license license:gpl2)))
 
 (define-public x265
@@ -1485,7 +1492,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2019.08.02")
+    (version "2019.08.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@@ -1493,7 +1500,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "101b6jrf6ckbxrn76ppvgdyrb25p7d247kn8qgq7n476sfnkfg2p"))))
+                "0b94hrhbqa7jhn91pxsbphg2ylwkpkknb2y4v4sczp7rjvgmjgdj"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index cb281920e9..8fafe438d0 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -365,10 +365,10 @@ vim editor and also easily configurable during runtime.  Vimb is mostly keyboard
 driven and does not detract you from your daily work.")
     (license license:gpl3+)))
 
-(define-public next-gtk-webkit
+(define next-gtk-webkit
   (package
     (name "next-gtk-webkit")
-    (version "1.2.2")
+    (version "1.3.0")
     (source
      (origin
        (method git-fetch)
@@ -377,7 +377,7 @@ driven and does not detract you from your daily work.")
              (commit version)))
        (sha256
         (base32
-         "1bif1k738knhifxhkn0d2x1m521zkx40pri44vyjqncp9r95hkbk"))
+         "0ibq30xrf871pkpasi8p9krn0pmd86rsdzb3jqvz3wnp4wa3hl9d"))
        (file-name (git-file-name "next" version))))
     (build-system glib-or-gtk-build-system)
     (arguments
@@ -405,71 +405,124 @@ key-bindings, is fully configurable and extensible in Lisp, and has powerful
 features for productive professionals.")
     (license license:bsd-3)))
 
-(define-public sbcl-next
+(define sbcl-next-download-manager
   (package
     (inherit next-gtk-webkit)
-    (name "sbcl-next")
+    (name "sbcl-next-download-manager")
     (build-system asdf-build-system/sbcl)
-    (outputs '("out" "lib"))
     (arguments
-     `(#:tests? #f                      ; no tests
-       #:phases (modify-phases %standard-phases
-                  (add-after 'unpack 'patch-platform-port-path
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (substitute* "source/ports/gtk-webkit.lisp"
-                        (("\"next-gtk-webkit\"")
-                         (string-append "\"" (assoc-ref inputs "next-gtk-webkit")
-                                        "/bin/next-gtk-webkit\"")))))
-                  (add-before 'cleanup 'move-bundle
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (define lib (assoc-ref outputs "lib"))
-                      (define actual-fasl (string-append
-                                           lib
-                                           "/lib/sbcl/next.fasl"))
-                      (define expected-fasl (string-append
-                                             lib
-                                             "/lib/sbcl/next--system.fasl"))
-                      (copy-file actual-fasl expected-fasl)
-                      #t))
-                  (add-after 'create-symlinks 'build-program
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (build-program
-                       (string-append (assoc-ref outputs "out") "/bin/next")
-                       outputs
-                       #:entry-program '((next:start-with-port) 0))))
-                  (add-before 'build 'install-assets
-                    ;; Since the ASDF build system generates a new .asd with a
-                    ;; possibly suffixed and thus illegal version number, assets
-                    ;; should not be installed after the 'build phase or else
-                    ;; the illegal version will result in NIL in the .desktop
-                    ;; file.
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (with-output-to-file "version"
-                        (lambda _
-                          (format #t "~a" ,(package-version next-gtk-webkit))))
-                      (invoke "make" "install-assets"
-                              (string-append "PREFIX="
-                                             (assoc-ref outputs "out"))))))))
+     `(#:tests? #f                      ; Need online access.
+       #:asd-file "next.asd"
+       #:asd-system-name "download-manager"))
     (inputs
-     `(("next-gtk-webkit" ,next-gtk-webkit)
-       ;; Lisp libraries:
+     `(;; ASD libraries:
        ("trivial-features" ,sbcl-trivial-features)
-       ("alexandria" ,sbcl-alexandria)
-       ("anaphora" ,sbcl-anaphora)
-       ("closer-mop" ,sbcl-closer-mop)
+       ;; Lisp libraries:
+       ("cl-ppcre" ,sbcl-cl-ppcre)
+       ("dexador" ,sbcl-dexador)
        ("log4cl" ,sbcl-log4cl)
-       ("find-port" ,sbcl-find-port)
-       ("cl-strings" ,sbcl-cl-strings)
-       ("cl-string-match" ,sbcl-cl-string-match)
-       ("puri" ,sbcl-puri)
-       ("sqlite" ,sbcl-cl-sqlite)
-       ("parenscript" ,sbcl-parenscript)
-       ("cl-json" ,sbcl-cl-json)
-       ("swank" ,sbcl-slime-swank)
-       ("cl-markup" ,sbcl-cl-markup)
-       ("cl-css" ,sbcl-cl-css)
-       ("bordeaux-threads" ,sbcl-bordeaux-threads)
-       ("s-xml-rpc" ,sbcl-s-xml-rpc)
-       ("unix-opts" ,sbcl-unix-opts)
-       ("trivial-clipboard" ,sbcl-trivial-clipboard)))
-    (synopsis "Infinitely extensible web-browser (with Lisp development files)")))
+       ("lparallel" ,sbcl-lparallel)
+       ("quri" ,sbcl-quri)
+       ("str" ,sbcl-cl-str)))
+    (native-inputs
+     `(("prove-asdf" ,sbcl-prove-asdf)))
+    (synopsis "Infinitely extensible web-browser (download manager)")))
+
+(define-public next
+  (let ((version (package-version next-gtk-webkit)))
+    (package
+      (inherit next-gtk-webkit)
+      (name "next")
+      (build-system asdf-build-system/sbcl)
+      (outputs '("out" "lib"))
+      (arguments
+       `(#:tests? #f                    ; no tests
+         #:asd-system-name "next"
+         #:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'patch-platform-port-path
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (substitute* "source/ports/gtk-webkit.lisp"
+                          (("\"next-gtk-webkit\"")
+                           (string-append "\"" (assoc-ref inputs "next-gtk-webkit")
+                                          "/bin/next-gtk-webkit\"")))
+                        #t))
+                    (add-after 'patch-platform-port-path 'patch-version
+                      ;; When the version is not just dot-separated numerals
+                      ;; (e.g. a git-commit version), Guix modifies the .asd with
+                      ;; an illegal version number, and then Next fails to query
+                      ;; it.  So we hard-code it here.
+                      (lambda* (#:key inputs #:allow-other-keys)
+                        (let ((version (format #f "~a" ,version)))
+                          (substitute* "source/global.lisp"
+                            (("version\\)\\)\\)")
+                             (string-append "version)))
+(setf +version+ \"" version "\")"))))
+                        #t))
+                    (add-before 'cleanup 'move-bundle
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (define lib (assoc-ref outputs "lib"))
+                        (define actual-fasl (string-append
+                                             lib
+                                             "/lib/sbcl/next.fasl"))
+                        (define expected-fasl (string-append
+                                               lib
+                                               "/lib/sbcl/next--system.fasl"))
+                        (copy-file actual-fasl expected-fasl)
+                        #t))
+                    (add-after 'create-symlinks 'build-program
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (build-program
+                         (string-append (assoc-ref outputs "out") "/bin/next")
+                         outputs
+                         #:entry-program '((next:entry-point) 0))))
+                    (add-before 'build 'install-assets
+                      ;; Since the ASDF build system generates a new .asd with a
+                      ;; possibly suffixed and thus illegal version number, assets
+                      ;; should not be installed after the 'build phase or else
+                      ;; the illegal version will result in NIL in the .desktop
+                      ;; file.
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (with-output-to-file "version"
+                          (lambda _
+                            (format #t "~a" ,(package-version next-gtk-webkit))))
+                        (invoke "make" "install-assets"
+                                (string-append "PREFIX="
+                                               (assoc-ref outputs "out"))))))))
+      (inputs
+       `(("next-gtk-webkit" ,next-gtk-webkit)
+         ;; ASD libraries:
+         ("trivial-features" ,sbcl-trivial-features)
+         ("trivial-garbage" ,sbcl-trivial-garbage)
+         ;; Lisp libraries:
+         ("alexandria" ,sbcl-alexandria)
+         ("bordeaux-threads" ,sbcl-bordeaux-threads)
+         ("cl-css" ,sbcl-cl-css)
+         ("cl-json" ,sbcl-cl-json)
+         ("cl-markup" ,sbcl-cl-markup)
+         ("cl-ppcre" ,sbcl-cl-ppcre)
+         ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode)
+         ("cl-string-match" ,sbcl-cl-string-match)
+         ("cl-strings" ,sbcl-cl-strings)
+         ("closer-mop" ,sbcl-closer-mop)
+         ("dbus" ,cl-dbus)
+         ("dexador" ,sbcl-dexador)
+         ("ironclad" ,sbcl-ironclad)
+         ("log4cl" ,sbcl-log4cl)
+         ("lparallel" ,sbcl-lparallel)
+         ("mk-string-metrics" ,sbcl-mk-string-metrics)
+         ("parenscript" ,sbcl-parenscript)
+         ("quri" ,sbcl-quri)
+         ("sqlite" ,sbcl-cl-sqlite)
+         ("str" ,sbcl-cl-str)
+         ("swank" ,sbcl-slime-swank)
+         ("trivia" ,sbcl-trivia)
+         ("trivial-clipboard" ,sbcl-trivial-clipboard)
+         ("unix-opts" ,sbcl-unix-opts)
+         ;; Local deps
+         ("next-download-manager" ,sbcl-next-download-manager)))
+      (native-inputs
+       `(("prove-asdf" ,sbcl-prove-asdf)))
+      (synopsis "Infinitely extensible web-browser (with Lisp development files)"))))
+
+(define-public sbcl-next
+  (deprecated-package "sbcl-next" next))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 065700465e..2008b8ee46 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -68,6 +68,7 @@
   #:use-module (guix build-system python)
   #:use-module (guix build-system ant)
   #:use-module (guix build-system scons)
+  #:use-module (guix build-system go)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages adns)
@@ -92,6 +93,7 @@
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnu-doc)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
@@ -6596,3 +6598,35 @@ It's also possible to rewrite existing log files.
 
 Anonip can also be uses as a Python module in your own Python application.")
     (license license:bsd-3)))
+
+(define-public poussetaches
+  (package
+    (name "poussetaches")
+    (version "0.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tsileo/poussetaches")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "07106kfcz3a39jvrv3mlqqxlihsmdhgkrjnqznyjsij9absgvdv6"))))
+    (build-system go-build-system)
+    (propagated-inputs
+     `(("go-github-com-robfig-cron" ,go-github-com-robfig-cron)
+       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)))
+    (arguments
+     `(#:import-path "github.com/tsileo/poussetaches"))
+    (home-page "https://github.com/tsileo/poussetaches")
+    (synopsis "Lightweight asynchronous task execution service")
+    (description "Poussetaches (which literally means \"push tasks\" in
+French) is a lightweight asynchronous task execution service that aims to
+replace Celery and RabbitMQ for small Python applications.
+
+The app posts base64-encoded payload to poussetaches and specifies the
+endpoint that will be used to trigger the task.  Poussetaches makes HTTP
+requests with the registered payload until the right status code is
+returned.")
+    (license license:isc)))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 538c97675d..ea7cee54e3 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
@@ -59,14 +59,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.24.3")
+    (version "2.24.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0lbcrw5axwrbrajxq7fqywfyh0djqi23ynzb5wi5ghw2grnp83cl"))))
+                "1n3x5g1z6rg9n1ssna7wi0z6zlprjm4wzk544v14wqi6q0lv2s46"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (arguments
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index b8a2264153..4cf1a3ac4b 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -72,7 +72,7 @@
 (define-public wine
   (package
     (name "wine")
-    (version "4.0.1")
+    (version "4.0.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dl.winehq.org/wine/source/"
@@ -80,7 +80,7 @@
                                   "/wine-" version ".tar.xz"))
               (sha256
                (base32
-                "0j29df0px6dzin4j0cbxgza4msvf9spmwranv25krq1g9kq959nk"))))
+                "0x5x9pvhryzhq1m7i8gx5wwwj341zz05zymadlhfw5w45xlm0h4r"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 709037da37..e644cc94cc 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1183,7 +1183,7 @@ modules for building a Wayland compositor.")
 (define-public sway
   (package
     (name "sway")
-    (version "1.1.1")
+    (version "1.2")
     (source
      (origin
        (method git-fetch)
@@ -1192,7 +1192,7 @@ modules for building a Wayland compositor.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0yhn9zdg9mzfhn97c440lk3pw6122nrhx0is5sqmvgr6p814f776"))))
+        (base32 "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd"))))
     (build-system meson-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index f92d33bf94..7bd43cd427 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -52,6 +52,8 @@
                     (default cuirass))
   (log-file         cuirass-configuration-log-file ;string
                     (default "/var/log/cuirass.log"))
+  (web-log-file     cuirass-configuration-web-log-file ;string
+                    (default "/var/log/cuirass-web.log"))
   (cache-directory  cuirass-configuration-cache-directory ;string (dir-name)
                     (default "/var/cache/cuirass"))
   (ttl              cuirass-configuration-ttl     ;integer
@@ -83,6 +85,7 @@
    (cuirass-configuration? config)
    (let ((cuirass          (cuirass-configuration-cuirass config))
          (cache-directory  (cuirass-configuration-cache-directory config))
+         (web-log-file     (cuirass-configuration-web-log-file config))
          (log-file         (cuirass-configuration-log-file config))
          (user             (cuirass-configuration-user config))
          (group            (cuirass-configuration-group config))
@@ -106,8 +109,6 @@
                             #$(scheme-file "cuirass-specs.scm" specs)
                             "--database" #$database
                             "--ttl" #$(string-append (number->string ttl) "s")
-                            "--port" #$(number->string port)
-                            "--listen" #$host
                             "--interval" #$(number->string interval)
                             #$@(if use-substitutes? '("--use-substitutes") '())
                             #$@(if one-shot? '("--one-shot") '())
@@ -121,6 +122,28 @@
                       #:user #$user
                       #:group #$group
                       #:log-file #$log-file))
+            (stop #~(make-kill-destructor)))
+           (shepherd-service
+            (documentation "Run Cuirass web interface.")
+            (provision '(cuirass-web))
+            (requirement '(guix-daemon networking))
+            (start #~(make-forkexec-constructor
+                      (list (string-append #$cuirass "/bin/cuirass")
+                            "--cache-directory" #$cache-directory
+                            "--specifications"
+                            #$(scheme-file "cuirass-specs.scm" specs)
+                            "--database" #$database
+                            "--ttl" #$(string-append (number->string ttl) "s")
+                            "--web"
+                            "--port" #$(number->string port)
+                            "--listen" #$host
+                            "--interval" #$(number->string interval)
+                            #$@(if use-substitutes? '("--use-substitutes") '())
+                            #$@(if fallback? '("--fallback") '()))
+
+                      #:user #$user
+                      #:group #$group
+                      #:log-file #$web-log-file))
             (stop #~(make-kill-destructor)))))))
 
 (define (cuirass-account config)
diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm
index 9d21b6e70c..e77c43bfbf 100644
--- a/gnu/services/cups.scm
+++ b/gnu/services/cups.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -170,7 +171,10 @@
 
 (define (ssl-options? x)
   (and (list? x)
-       (and-map (lambda (elt) (memq elt '(AllowRC4 AllowSSL3))) x)))
+       (and-map (lambda (elt) (memq elt '(AllowRC4
+                                          AllowSSL3
+                                          DenyCBC
+                                          DenyTLS1.0))) x)))
 (define (serialize-ssl-options field-name val)
   (serialize-field field-name
                    (match val
@@ -805,12 +809,15 @@ an IPv6 address enclosed in brackets, an IPv4 address, or @code{*} to indicate
 all addresses.")
   (ssl-options
    (ssl-options '())
-   "Sets encryption options.
-By default, CUPS only supports encryption using TLS v1.0 or higher using known
-secure cipher suites.  The @code{AllowRC4} option enables the 128-bit RC4
-cipher suites, which are required for some older clients that do not implement
-newer ones.  The @code{AllowSSL3} option enables SSL v3.0, which is required
-for some older clients that do not support TLS v1.0.")
+   "Sets encryption options.  By default, CUPS only supports encryption
+using TLS v1.0 or higher using known secure cipher suites.  Security is
+reduced when @code{Allow} options are used, and enhanced when @code{Deny}
+options are used.  The @code{AllowRC4} option enables the 128-bit RC4 cipher
+suites, which are required for some older clients.  The @code{AllowSSL3} option
+enables SSL v3.0, which is required for some older clients that do not support
+TLS v1.0.  The @code{DenyCBC} option disables all CBC cipher suites.  The
+@code{DenyTLS1.0} option disables TLS v1.0 support - this sets the minimum
+protocol version to TLS v1.1.")
   #;
   (ssl-port
    (non-negative-integer 631)
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 343d507c14..a32756e040 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -963,23 +963,29 @@ with the administrator's password."
   (match-record enlightenment-desktop-configuration
                 <enlightenment-desktop-configuration>
                 (enlightenment)
-    (list (file-append enlightenment
-                       "/lib/enlightenment/utils/enlightenment_sys")
-          (file-append enlightenment
-                       "/lib/enlightenment/utils/enlightenment_backlight")
-          ;; TODO: Move this binary to a screen-locker service.
-          (file-append enlightenment
-                       "/lib/enlightenment/utils/enlightenment_ckpasswd")
-          (file-append enlightenment
-                       (string-append
-                         "/lib/enlightenment/modules/cpufreq/"
-                         (match (string-tokenize (%current-system)
-                                                 (char-set-complement (char-set #\-)))
-                                ((arch "linux") (string-append "linux-gnu-" arch))
-                                ((arch "gnu")   (string-append "gnu-" arch)))
-                         "-"
-                         (version-major+minor (package-version enlightenment))
-                         "/freqset")))))
+    (let ((module-arch (match (string-tokenize (%current-system)
+                                               (char-set-complement (char-set #\-)))
+                              ((arch "linux") (string-append "linux-gnu-" arch))
+                              ((arch "gnu")   (string-append "gnu-" arch)))))
+      (list (file-append enlightenment
+                         "/lib/enlightenment/utils/enlightenment_sys")
+            (file-append enlightenment
+                         "/lib/enlightenment/utils/enlightenment_backlight")
+            ;; TODO: Move this binary to a screen-locker service.
+            (file-append enlightenment
+                         "/lib/enlightenment/utils/enlightenment_ckpasswd")
+            (file-append enlightenment
+                         (string-append
+                           "/lib/enlightenment/modules/cpufreq/"
+                           module-arch "-"
+                           (package-version enlightenment)
+                           "/freqset"))
+            (file-append enlightenment
+                         (string-append
+                           "/lib/enlightenment/modules/sysinfo/"
+                           module-arch "-"
+                           (package-version enlightenment)
+                           "/cpuclock_sysfs"))))))
 
 (define enlightenment-desktop-service-type
   (service-type
diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm
index 3817bd09de..1e01b5059d 100644
--- a/gnu/services/pm.scm
+++ b/gnu/services/pm.scm
@@ -401,7 +401,8 @@ shutdown on system startup."))
                         (compose list tlp-configuration-tlp))
      (service-extension activation-service-type
                         tlp-activation)))
-   (default-value (tlp-configuration))))
+   (default-value (tlp-configuration))
+   (description "Run TLP, a power management tool.")))
 
 (define (generate-tlp-documentation)
   (generate-documentation
@@ -441,4 +442,6 @@ shutdown on system startup."))
    (name 'thermald)
    (extensions (list (service-extension shepherd-root-service-type
                                         thermald-shepherd-service)))
-   (default-value (thermald-configuration))))
+   (default-value (thermald-configuration))
+   (description "Run thermald, a CPU frequency scaling service that helps
+prevent overheating.")))
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index 3ec5c3d6ee..3f98a1e316 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -100,7 +100,7 @@ inside %DOCKER-OS."
              marionette))
 
           (test-equal "Load docker image and run it"
-            '("hello world" "hi!" "JSON!")
+            '("hello world" "hi!" "JSON!" #o1777)
             (marionette-eval
              `(begin
                 (define slurp
@@ -131,8 +131,15 @@ inside %DOCKER-OS."
                                    ,(string-append #$docker-cli "/bin/docker")
                                    "run" repository&tag
                                    "-c" "(use-modules (json))
-  (display (json-string->scm (scm->json-string \"JSON!\")))")))
-                  (list response1 response2 response3)))
+  (display (json-string->scm (scm->json-string \"JSON!\")))"))
+
+                       ;; Check whether /tmp exists.
+                       (response4 (slurp
+                                   ,(string-append #$docker-cli "/bin/docker")
+                                   "run" repository&tag "-c"
+                                   "(display (stat:perms (lstat \"/tmp\")))")))
+                  (list response1 response2 response3
+                        (string->number response4))))
              marionette))
 
           (test-end)
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 7d363a18a5..06ed14b89f 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -134,22 +134,12 @@ directory = '" port)
   ;; upgrading the compiler for example.
   (setenv "RUSTFLAGS" "--cap-lints allow")
   (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
-  #t)
 
-;; The Cargo.lock file tells the build system which crates are required for
-;; building and hardcodes their version and checksum.  In order to build with
-;; the inputs we provide, we need to recreate the file with our inputs.
-(define* (update-cargo-lock #:key
-                            (vendor-dir "guix-vendor")
-                            #:allow-other-keys)
-  "Regenerate the Cargo.lock file with the current build inputs."
+  ;; We don't use the Cargo.lock file to determine the package versions we use
+  ;; during building, and in any case if one is not present it is created
+  ;; during the 'build phase by cargo.
   (when (file-exists? "Cargo.lock")
-    (begin
-      ;; Unfortunately we can't generate a Cargo.lock file until the checksums
-      ;; are generated, so we have an extra round of generate-all-checksums here.
-      (generate-all-checksums vendor-dir)
-      (delete-file "Cargo.lock")
-      (invoke "cargo" "generate-lockfile")))
+    (delete-file "Cargo.lock"))
   #t)
 
 ;; After the 'patch-generated-file-shebangs phase any vendored crates who have
@@ -203,7 +193,6 @@ directory = '" port)
     (replace 'build build)
     (replace 'check check)
     (replace 'install install)
-    (add-after 'configure 'update-cargo-lock update-cargo-lock)
     (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums patch-cargo-checksums)))
 
 (define* (cargo-build #:key inputs (phases %standard-phases)
diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm
index 0d29338ce3..e5ef1d6d2b 100644
--- a/guix/build/make-bootstrap.scm
+++ b/guix/build/make-bootstrap.scm
@@ -47,6 +47,7 @@ bootstrap libc."
                 (install-file (pk 'src (string-append kernel-headers "/include/linux/" file))
                               (pk 'dest (string-append incdir "/linux"))))
               '(
+                "a.out.h"               ; for 2.2.5
                 "atalk.h"               ; for 2.2.5
                 "errno.h"
                 "falloc.h"
diff --git a/guix/diagnostics.scm b/guix/diagnostics.scm
index 380cfbb613..6c0753aef4 100644
--- a/guix/diagnostics.scm
+++ b/guix/diagnostics.scm
@@ -71,7 +71,12 @@ is a trivial format string."
 (define* (%highlight-argument arg #:optional (port (guix-warning-port)))
   "Highlight ARG, a format string argument, if PORT supports colors."
   (cond ((string? arg)
-         (highlight arg port))
+         ;; If ARG contains white space, don't highlight it, on the grounds
+         ;; that it may be a complete message in its own, like those produced
+         ;; by 'guix lint.
+         (if (string-any char-set:whitespace arg)
+             arg
+             (highlight arg port)))
         ((symbol? arg)
          (highlight (symbol->string arg) port))
         (else arg)))
diff --git a/guix/docker.scm b/guix/docker.scm
index c598a073f6..757bdeb458 100644
--- a/guix/docker.scm
+++ b/guix/docker.scm
@@ -28,11 +28,13 @@
                           invoke))
   #:use-module (gnu build install)
   #:use-module (json)                             ;guile-json
+  #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
   #:use-module ((texinfo string-utils)
                 #:select (escape-special-chars))
   #:use-module (rnrs bytevectors)
+  #:use-module (ice-9 ftw)
   #:use-module (ice-9 match)
   #:export (build-docker-image))
 
@@ -99,21 +101,18 @@
   '("--sort=name" "--mtime=@1"
     "--owner=root:0" "--group=root:0"))
 
-(define symlink-source
+(define directive-file
+  ;; Return the file or directory created by a 'evaluate-populate-directive'
+  ;; directive.
   (match-lambda
     ((source '-> target)
-     (string-trim source #\/))))
-
-(define (topmost-component file)
-  "Return the topmost component of FILE.  For instance, if FILE is \"/a/b/c\",
-return \"a\"."
-  (match (string-tokenize file (char-set-complement (char-set #\/)))
-    ((first rest ...)
-     first)))
+     (string-trim source #\/))
+    (('directory name _ ...)
+     (string-trim name #\/))))
 
 (define* (build-docker-image image paths prefix
                              #:key
-                             (symlinks '())
+                             (extra-files '())
                              (transformations '())
                              (system (utsname:machine (uname)))
                              database
@@ -133,8 +132,9 @@ entry point in the Docker image JSON structure.
 ENVIRONMENT must be a list of name/value pairs.  It specifies the environment
 variables that must be defined in the resulting image.
 
-SYMLINKS must be a list of (SOURCE -> TARGET) tuples describing symlinks to be
-created in the image, where each TARGET is relative to PREFIX.
+EXTRA-FILES must be a list of directives for 'evaluate-populate-directive'
+describing non-store files that must be created in the image.
+
 TRANSFORMATIONS must be a list of (OLD -> NEW) tuples describing how to
 transform the PATHS.  Any path in PATHS that begins with OLD will be rewritten
 in the Docker image so that it begins with NEW instead.  If a path is a
@@ -199,25 +199,27 @@ SRFI-19 time-utc object, as the creation time in metadata."
         (with-output-to-file "json"
           (lambda () (scm->json (image-description id time))))
 
-        ;; Create SYMLINKS.
-        (for-each (match-lambda
-                    ((source '-> target)
-                     (let ((source (string-trim source #\/)))
-                       (mkdir-p (dirname source))
-                       (symlink (string-append prefix "/" target)
-                                source))))
-                  symlinks)
+        ;; Create a directory for the non-store files that need to go into the
+        ;; archive.
+        (mkdir "extra")
+
+        (with-directory-excursion "extra"
+          ;; Create non-store files.
+          (for-each (cut evaluate-populate-directive <> "./")
+                    extra-files)
 
-        (when database
-          ;; Initialize /var/guix, assuming PREFIX points to a profile.
-          (install-database-and-gc-roots "." database prefix))
+          (when database
+            ;; Initialize /var/guix, assuming PREFIX points to a profile.
+            (install-database-and-gc-roots "." database prefix))
+
+          (apply invoke "tar" "-cf" "../layer.tar"
+                 `(,@transformation-options
+                   ,@%tar-determinism-options
+                   ,@paths
+                   ,@(scandir "."
+                              (lambda (file)
+                                (not (member file '("." ".."))))))))
 
-        (apply invoke "tar" "-cf" "layer.tar"
-               `(,@transformation-options
-                 ,@%tar-determinism-options
-                 ,@paths
-                 ,@(if database '("var") '())
-                 ,@(map symlink-source symlinks)))
         ;; It is possible for "/" to show up in the archive, especially when
         ;; applying transformations.  For example, the transformation
         ;; "s,^/a,," will (perhaps surprisingly) cause GNU tar to transform
@@ -231,13 +233,7 @@ SRFI-19 time-utc object, as the creation time in metadata."
           (lambda ()
             (system* "tar" "--delete" "/" "-f" "layer.tar")))
 
-        (for-each delete-file-recursively
-                  (map (compose topmost-component symlink-source)
-                       symlinks))
-
-        ;; Delete /var/guix.
-        (when database
-          (delete-file-recursively "var")))
+        (delete-file-recursively "extra"))
 
       (with-output-to-file "config.json"
         (lambda ()
diff --git a/guix/git-download.scm b/guix/git-download.scm
index 8f84681d46..c62bb8ad0f 100644
--- a/guix/git-download.scm
+++ b/guix/git-download.scm
@@ -139,8 +139,11 @@ HASH-ALGO (a symbol).  Use NAME as the file name, or a generic name if #f."
                 ;; As a last resort, attempt to download from Software Heritage.
                 ;; XXX: Currently recursive checkouts are not supported.
                 (and (not recursive?)
-                     (swh-download (getenv "git url") (getenv "git commit")
-                                   #$output)))))))
+                     (begin
+                       (format (current-error-port)
+                               "Trying to download from Software Heritage...~%")
+                       (swh-download (getenv "git url") (getenv "git commit")
+                                     #$output))))))))
 
   (mlet %store-monad ((guile (package->derivation guile system)))
     (gexp->derivation (or name "git-checkout") build
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 9c964701b1..51c7ea7b2f 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -24,6 +24,7 @@
   #:use-module ((ice-9 rdelim) #:select (read-string read-line))
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-2)
+  #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-26)
   #:use-module (srfi srfi-34)
   #:use-module (ice-9 receive)
@@ -32,11 +33,13 @@
   #:use-module (guix http-client)
   #:use-module (gcrypt hash)
   #:use-module (guix store)
+  #:use-module ((guix serialization) #:select (write-file))
   #:use-module (guix base32)
   #:use-module ((guix download) #:select (download-to-store))
   #:use-module (guix import utils)
   #:use-module ((guix build utils) #:select (find-files))
   #:use-module (guix utils)
+  #:use-module (guix git)
   #:use-module ((guix build-system r) #:select (cran-uri bioconductor-uri))
   #:use-module (guix upstream)
   #:use-module (guix packages)
@@ -166,11 +169,25 @@ bioconductor package NAME, or #F if the package is unknown."
                (bioconductor-packages-list type))
          (cut assoc-ref <> "Version")))
 
+;; XXX taken from (guix scripts hash)
+(define (vcs-file? file stat)
+  (case (stat:type stat)
+    ((directory)
+     (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS")))
+    ((regular)
+     ;; Git sub-modules have a '.git' file that is a regular text file.
+     (string=? (basename file) ".git"))
+    (else
+     #f)))
+
 ;; Little helper to download URLs only once.
 (define download
   (memoize
-   (lambda (url)
-     (with-store store (download-to-store store url)))))
+   (lambda* (url #:optional git)
+     (with-store store
+       (if git
+           (latest-repository-commit store url)
+           (download-to-store store url))))))
 
 (define (fetch-description repository name)
   "Return an alist of the contents of the DESCRIPTION file for the R package
@@ -211,7 +228,18 @@ from ~s: ~a (~s)~%"
                                                 (string-append dir "/DESCRIPTION") read-string))
                         (lambda (meta)
                           (if (boolean? type) meta
-                              (cons `(bioconductor-type . ,type) meta))))))))))))
+                              (cons `(bioconductor-type . ,type) meta))))))))))
+    ((git)
+     ;; Download the git repository at "NAME"
+     (call-with-values
+         (lambda () (download name #t))
+       (lambda (dir commit)
+         (and=> (description->alist (with-input-from-file
+                                        (string-append dir "/DESCRIPTION") read-string))
+                (lambda (meta)
+                  (cons* `(git . ,name)
+                         `(git-commit . ,commit)
+                         meta))))))))
 
 (define (listify meta field)
   "Look up FIELD in the alist META.  If FIELD contains a comma-separated
@@ -256,7 +284,7 @@ empty list when the FIELD cannot be found."
 
 (define cran-guix-name (cut guix-name "r-" <>))
 
-(define (needs-fortran? tarball)
+(define (tarball-needs-fortran? tarball)
   "Check if the TARBALL contains Fortran source files."
   (define (check pattern)
     (parameterize ((current-error-port (%make-void-port "rw+"))
@@ -266,69 +294,127 @@ empty list when the FIELD cannot be found."
       (check "*.f95")
       (check "*.f")))
 
+(define (directory-needs-fortran? dir)
+  "Check if the directory DIR contains Fortran source files."
+  (match (find-files dir "\\.f(90|95)?")
+    (() #f)
+    (_ #t)))
+
+(define (needs-fortran? thing tarball?)
+  "Check if the THING contains Fortran source files."
+  (if tarball?
+      (tarball-needs-fortran? thing)
+      (directory-needs-fortran? thing)))
+
+(define (files-match-pattern? directory regexp . file-patterns)
+  "Return #T if any of the files matching FILE-PATTERNS in the DIRECTORY match
+the given REGEXP."
+  (let ((pattern (make-regexp regexp)))
+    (any (lambda (file)
+           (call-with-input-file file
+             (lambda (port)
+               (let loop ()
+                 (let ((line (read-line port)))
+                   (cond
+                    ((eof-object? line) #f)
+                    ((regexp-exec pattern line) #t)
+                    (else (loop))))))))
+         (apply find-files directory file-patterns))))
+
 (define (tarball-files-match-pattern? tarball regexp . file-patterns)
   "Return #T if any of the files represented by FILE-PATTERNS in the TARBALL
 match the given REGEXP."
   (call-with-temporary-directory
    (lambda (dir)
-     (let ((pattern (make-regexp regexp)))
-       (parameterize ((current-error-port (%make-void-port "rw+")))
-         (apply system* "tar"
-                "xf" tarball "-C" dir
-                `("--wildcards" ,@file-patterns)))
-       (any (lambda (file)
-              (call-with-input-file file
-                (lambda (port)
-                  (let loop ()
-                    (let ((line (read-line port)))
-                      (cond
-                       ((eof-object? line) #f)
-                       ((regexp-exec pattern line) #t)
-                       (else (loop))))))))
-            (find-files dir))))))
-
-(define (needs-zlib? tarball)
+     (parameterize ((current-error-port (%make-void-port "rw+")))
+       (apply system* "tar"
+              "xf" tarball "-C" dir
+              `("--wildcards" ,@file-patterns)))
+     (files-match-pattern? dir regexp))))
+
+(define (directory-needs-zlib? dir)
+  "Return #T if any of the Makevars files in the src directory DIR contain a
+zlib linker flag."
+  (files-match-pattern? dir "-lz" "(Makevars.*|configure.*)"))
+
+(define (tarball-needs-zlib? tarball)
   "Return #T if any of the Makevars files in the src directory of the TARBALL
 contain a zlib linker flag."
   (tarball-files-match-pattern?
    tarball "-lz"
    "*/src/Makevars*" "*/src/configure*" "*/configure*"))
 
-(define (needs-pkg-config? tarball)
+(define (needs-zlib? thing tarball?)
+  "Check if the THING contains files indicating a dependency on zlib."
+  (if tarball?
+      (tarball-needs-zlib? thing)
+      (directory-needs-zlib? thing)))
+
+(define (directory-needs-pkg-config? dir)
+  "Return #T if any of the Makevars files in the src directory DIR reference
+the pkg-config tool."
+  (files-match-pattern? dir "pkg-config"
+                        "(Makevars.*|configure.*)"))
+
+(define (tarball-needs-pkg-config? tarball)
   "Return #T if any of the Makevars files in the src directory of the TARBALL
 reference the pkg-config tool."
   (tarball-files-match-pattern?
    tarball "pkg-config"
    "*/src/Makevars*" "*/src/configure*" "*/configure*"))
 
+(define (needs-pkg-config? thing tarball?)
+  "Check if the THING contains files indicating a dependency on pkg-config."
+  (if tarball?
+      (tarball-needs-pkg-config? thing)
+      (directory-needs-pkg-config? thing)))
+
+;; XXX adapted from (guix scripts hash)
+(define (file-hash file select? recursive?)
+  ;; Compute the hash of FILE.
+  (if recursive?
+      (let-values (((port get-hash) (open-sha256-port)))
+        (write-file file port #:select? select?)
+        (force-output port)
+        (get-hash))
+      (call-with-input-file file port-sha256)))
+
 (define (description->package repository meta)
   "Return the `package' s-expression for an R package published on REPOSITORY
 from the alist META, which was derived from the R package's DESCRIPTION file."
   (let* ((base-url   (case repository
                        ((cran)         %cran-url)
-                       ((bioconductor) %bioconductor-url)))
+                       ((bioconductor) %bioconductor-url)
+                       ((git)          #f)))
          (uri-helper (case repository
                        ((cran)         cran-uri)
-                       ((bioconductor) bioconductor-uri)))
+                       ((bioconductor) bioconductor-uri)
+                       ((git)          #f)))
          (name       (assoc-ref meta "Package"))
          (synopsis   (assoc-ref meta "Title"))
          (version    (assoc-ref meta "Version"))
          (license    (string->license (assoc-ref meta "License")))
          ;; Some packages have multiple home pages.  Some have none.
-         (home-page  (match (listify meta "URL")
-                       ((url rest ...) url)
-                       (_ (string-append base-url name))))
-         (source-url (match (apply uri-helper name version
-                                   (case repository
-                                     ((bioconductor)
-                                      (list (assoc-ref meta 'bioconductor-type)))
-                                     (else '())))
-                       ((url rest ...) url)
-                       ((? string? url) url)
-                       (_ #f)))
-         (tarball    (download source-url))
+         (home-page  (case repository
+                       ((git) (assoc-ref meta 'git))
+                       (else (match (listify meta "URL")
+                               ((url rest ...) url)
+                               (_ (string-append base-url name))))))
+         (source-url (case repository
+                       ((git) (assoc-ref meta 'git))
+                       (else
+                        (match (apply uri-helper name version
+                                      (case repository
+                                        ((bioconductor)
+                                         (list (assoc-ref meta 'bioconductor-type)))
+                                        (else '())))
+                          ((url rest ...) url)
+                          ((? string? url) url)
+                          (_ #f)))))
+         (git?       (assoc-ref meta 'git))
+         (source     (download source-url git?))
          (sysdepends (append
-                      (if (needs-zlib? tarball) '("zlib") '())
+                      (if (needs-zlib? source (not git?)) '("zlib") '())
                       (filter (lambda (name)
                                 (not (member name invalid-packages)))
                               (map string-downcase (listify meta "SystemRequirements")))))
@@ -339,41 +425,67 @@ from the alist META, which was derived from the R package's DESCRIPTION file."
                                          (listify meta "Imports")
                                          (listify meta "LinkingTo")
                                          (delete "R"
-                                                 (listify meta "Depends"))))))
+                                                 (listify meta "Depends")))))
+         (package
+           `(package
+              (name ,(cran-guix-name name))
+              (version ,(case repository
+                          ((git)
+                           `(git-version ,version revision commit))
+                          (else version)))
+              (source (origin
+                        (method ,(if git?
+                                     'git-fetch
+                                     'url-fetch))
+                        (uri ,(case repository
+                                ((git)
+                                 `(git-reference
+                                   (url ,(assoc-ref meta 'git))
+                                   (commit commit)))
+                                (else
+                                 `(,(procedure-name uri-helper) ,name version
+                                   ,@(or (and=> (assoc-ref meta 'bioconductor-type)
+                                                (lambda (type)
+                                                  (list (list 'quote type))))
+                                         '())))))
+                        ,@(if git?
+                              '((file-name (git-file-name name version)))
+                              '())
+                        (sha256
+                         (base32
+                          ,(bytevector->nix-base32-string
+                            (case repository
+                              ((git)
+                               (file-hash source (negate vcs-file?) #t))
+                              (else (file-sha256 source))))))))
+              ,@(if (not (and git?
+                              (equal? (string-append "r-" name)
+                                      (cran-guix-name name))))
+                    `((properties ,`(,'quasiquote ((,'upstream-name . ,name)))))
+                    '())
+              (build-system r-build-system)
+              ,@(maybe-inputs sysdepends)
+              ,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs)
+              ,@(maybe-inputs
+                 `(,@(if (needs-fortran? source (not git?))
+                         '("gfortran") '())
+                   ,@(if (needs-pkg-config? source (not git?))
+                         '("pkg-config") '()))
+                 'native-inputs)
+              (home-page ,(if (string-null? home-page)
+                              (string-append base-url name)
+                              home-page))
+              (synopsis ,synopsis)
+              (description ,(beautify-description (or (assoc-ref meta "Description")
+                                                      "")))
+              (license ,license))))
     (values
-     `(package
-        (name ,(cran-guix-name name))
-        (version ,version)
-        (source (origin
-                  (method url-fetch)
-                  (uri (,(procedure-name uri-helper) ,name version
-                        ,@(or (and=> (assoc-ref meta 'bioconductor-type)
-                                     (lambda (type)
-                                       (list (list 'quote type))))
-                              '())))
-                  (sha256
-                   (base32
-                    ,(bytevector->nix-base32-string (file-sha256 tarball))))))
-        ,@(if (not (equal? (string-append "r-" name)
-                           (cran-guix-name name)))
-              `((properties ,`(,'quasiquote ((,'upstream-name . ,name)))))
-              '())
-        (build-system r-build-system)
-        ,@(maybe-inputs sysdepends)
-        ,@(maybe-inputs (map cran-guix-name propagate) 'propagated-inputs)
-        ,@(maybe-inputs
-           `(,@(if (needs-fortran? tarball)
-                   '("gfortran") '())
-             ,@(if (needs-pkg-config? tarball)
-                   '("pkg-config") '()))
-           'native-inputs)
-        (home-page ,(if (string-null? home-page)
-                        (string-append base-url name)
-                        home-page))
-        (synopsis ,synopsis)
-        (description ,(beautify-description (or (assoc-ref meta "Description")
-                                                "")))
-        (license ,license))
+     (case repository
+       ((git)
+        `(let ((commit ,(assoc-ref meta 'git-commit))
+               (revision "1"))
+           ,package))
+       (else package))
      propagate)))
 
 (define cran->guix-package
diff --git a/guix/import/github.scm b/guix/import/github.scm
index fa23fa4c06..55e1f72a42 100644
--- a/guix/import/github.scm
+++ b/guix/import/github.scm
@@ -49,7 +49,7 @@ false if none is recognized"
   (define (updated-url url)
     (if (string-prefix? "https://github.com/" url)
         (let ((ext     (or (find-extension url) ""))
-              (name    (package-name old-package))
+              (name    (package-upstream-name old-package))
               (version (package-version old-package))
               (prefix  (string-append "https://github.com/"
                                       (github-user-slash-repository url)))
diff --git a/guix/import/utils.scm b/guix/import/utils.scm
index 2a3b7341fb..252875eeab 100644
--- a/guix/import/utils.scm
+++ b/guix/import/utils.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
 ;;;
@@ -252,6 +252,9 @@ package definition."
   (match guix-package
     (('package ('name (? string? name)) _ ...)
      `(define-public ,(string->symbol name)
+        ,guix-package))
+    (('let anything ('package ('name (? string? name)) _ ...))
+     `(define-public ,(string->symbol name)
         ,guix-package))))
 
 (define (build-system-modules)
diff --git a/guix/lint.scm b/guix/lint.scm
index 7a2bf5a347..212ff70d54 100644
--- a/guix/lint.scm
+++ b/guix/lint.scm
@@ -1008,8 +1008,8 @@ the NIST server non-fatal."
 (define (check-for-updates package)
   "Check if there is an update available for PACKAGE."
   (match (with-networking-fail-safe
-          (G_ "while retrieving upstream info for '~a'")
-          (list (package-name package))
+          (format #f (G_ "while retrieving upstream info for '~a'")
+                  (package-name package))
           #f
           (package-latest-release* package (force %updaters)))
     ((? upstream-source? source)
diff --git a/guix/packages.scm b/guix/packages.scm
index ac965acd2f..d9eeee15a2 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -801,7 +801,8 @@ dependencies are known to build on SYSTEM."
 
 (define (bag-transitive-host-inputs bag)
   "Same as 'package-transitive-target-inputs', but applied to a bag."
-  (transitive-inputs (bag-host-inputs bag)))
+  (parameterize ((%current-target-system (bag-target bag)))
+    (transitive-inputs (bag-host-inputs bag))))
 
 (define (bag-transitive-target-inputs bag)
   "Return the \"target inputs\" of BAG, recursively."
diff --git a/guix/remote.scm b/guix/remote.scm
index d0c3d04a25..c00585de74 100644
--- a/guix/remote.scm
+++ b/guix/remote.scm
@@ -27,6 +27,7 @@
   #:use-module (guix derivations)
   #:use-module (guix utils)
   #:use-module (ssh popen)
+  #:use-module (ssh channel)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
@@ -68,10 +69,13 @@ BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
 
   (let ((pipe (apply open-remote-pipe* session OPEN_READ repl-command)))
     (when (eof-object? (peek-char pipe))
-      (raise (condition
-              (&message
-               (message (format #f (G_ "failed to run '~{~a~^ ~}'")
-                                repl-command))))))
+      (let ((status (channel-get-exit-status pipe)))
+        (close-port pipe)
+        (raise (condition
+                (&message
+                 (message (format #f (G_ "remote command '~{~a~^ ~}' failed \
+with status ~a")
+                                  repl-command status)))))))
     pipe))
 
 (define* (%remote-eval lowered session #:optional become-command)
diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm
index 6a67985c8b..329de41143 100644
--- a/guix/scripts/deploy.scm
+++ b/guix/scripts/deploy.scm
@@ -94,7 +94,7 @@ Perform the deployment specified by FILE.\n"))
                         (machine-display-name machine))
                   (parameterize ((%graft? (assq-ref opts 'graft?)))
                     (guard (c ((message-condition? c)
-                               (report-error (G_ "failed to deploy ~a: '~a'~%")
+                               (report-error (G_ "failed to deploy ~a: ~a~%")
                                              (machine-display-name machine)
                                              (condition-message c)))
                               ((deploy-error? c)
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 0b326e1049..c6cc93fad8 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 David Thompson <davet@gnu.org>
 ;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -113,7 +114,8 @@ Run IMPORTER with ARGS.\n"))
                         (pretty-print expr (newline-rewriting-port
                                             (current-output-port))))))
            (match (apply (resolve-importer importer) args)
-             ((and expr ('package _ ...))
+             ((and expr (or ('package _ ...)
+                            ('let _ ...)))
               (print expr))
              ((? list? expressions)
               (for-each (lambda (expr)
diff --git a/guix/scripts/import/cran.scm b/guix/scripts/import/cran.scm
index 794fb710cd..b6592f78a9 100644
--- a/guix/scripts/import/cran.scm
+++ b/guix/scripts/import/cran.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +22,7 @@
   #:use-module (guix utils)
   #:use-module (guix scripts)
   #:use-module (guix import cran)
+  #:use-module (guix import utils)
   #:use-module (guix scripts import)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-11)
@@ -96,11 +97,7 @@ Import and convert the CRAN package for PACKAGE-NAME.\n"))
       ((package-name)
        (if (assoc-ref opts 'recursive)
            ;; Recursive import
-           (map (match-lambda
-                  ((and ('package ('name name) . rest) pkg)
-                   `(define-public ,(string->symbol name)
-                      ,pkg))
-                  (_ #f))
+           (map package->definition
                 (reverse
                  (stream->list
                   (cran-recursive-import package-name
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index ee1c826d2e..1668d02992 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -46,9 +46,9 @@
    (lambda (lint-warning)
      (let ((package (lint-warning-package lint-warning))
            (loc     (lint-warning-location lint-warning)))
-       (warning loc (G_ "~a@~a: ~a~%")
-                (package-name package) (package-version package)
-                (lint-warning-message lint-warning))))
+       (info loc (G_ "~a@~a: ~a~%")
+             (package-name package) (package-version package)
+             (lint-warning-message lint-warning))))
    warnings))
 
 (define (run-checkers package checkers)
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index f0cf593814..de5b3fc0ff 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -490,7 +490,8 @@ the image."
         #~(begin
             (use-modules (guix docker) (guix build store-copy)
                          (guix profiles) (guix search-paths)
-                         (srfi srfi-19) (ice-9 match))
+                         (srfi srfi-1) (srfi srfi-19)
+                         (ice-9 match))
 
             (define environment
               (map (match-lambda
@@ -499,6 +500,23 @@ the image."
                             value)))
                    (profile-search-paths #$profile)))
 
+            (define symlink->directives
+              ;; Return "populate directives" to make the given symlink and its
+              ;; parent directories.
+              (match-lambda
+                ((source '-> target)
+                 (let ((target (string-append #$profile "/" target))
+                       (parent (dirname source)))
+                   `((directory ,parent)
+                     (,source -> ,target))))))
+
+            (define directives
+              ;; Create a /tmp directory, as some programs expect it, and
+              ;; create SYMLINKS.
+              `((directory "/tmp" ,(getuid) ,(getgid) #o1777)
+                ,@(append-map symlink->directives '#$symlinks)))
+
+
             (setenv "PATH" (string-append #$archiver "/bin"))
 
             (build-docker-image #$output
@@ -513,7 +531,7 @@ the image."
                                 #$(and entry-point
                                        #~(list (string-append #$profile "/"
                                                               #$entry-point)))
-                                #:symlinks '#$symlinks
+                                #:extra-files directives
                                 #:compressor '#$(compressor-command compressor)
                                 #:creation-time (make-time time-utc 0 1))))))
 
@@ -611,8 +629,13 @@ please email '~a'~%")
 ;;;
 
 (define* (wrapped-package package
-                          #:optional (compiler (c-compiler))
+                          #:optional
+                          (output* "out")
+                          (compiler (c-compiler))
                           #:key proot?)
+  "Return the OUTPUT of PACKAGE with its binaries wrapped such that they are
+relocatable.  When PROOT? is true, include PRoot in the result and use it as a
+last resort for relocation."
   (define runner
     (local-file (search-auxiliary-file "run-in-namespace.c")))
 
@@ -629,6 +652,14 @@ please email '~a'~%")
                        (ice-9 ftw)
                        (ice-9 match))
 
+          (define input
+            ;; The OUTPUT* output of PACKAGE.
+            (ungexp package output*))
+
+          (define target
+            ;; The output we are producing.
+            (ungexp output output*))
+
           (define (strip-store-prefix file)
             ;; Given a file name like "/gnu/store/…-foo-1.2/bin/foo", return
             ;; "/bin/foo".
@@ -648,7 +679,7 @@ please email '~a'~%")
               (("@STORE_DIRECTORY@") (%store-directory)))
 
             (let* ((base   (strip-store-prefix program))
-                   (result (string-append #$output "/" base))
+                   (result (string-append target "/" base))
                    (proot  #$(and proot?
                                   #~(string-drop
                                      #$(file-append (proot) "/bin/proot")
@@ -667,18 +698,18 @@ please email '~a'~%")
 
           ;; Link the top-level files of PACKAGE so that search paths are
           ;; properly defined in PROFILE/etc/profile.
-          (mkdir #$output)
+          (mkdir target)
           (for-each (lambda (file)
                       (unless (member file '("." ".." "bin" "sbin" "libexec"))
-                        (let ((file* (string-append #$package "/" file)))
-                          (symlink (relative-file-name #$output file*)
-                                   (string-append #$output "/" file)))))
-                    (scandir #$package))
+                        (let ((file* (string-append input "/" file)))
+                          (symlink (relative-file-name target file*)
+                                   (string-append target "/" file)))))
+                    (scandir input))
 
           (for-each build-wrapper
-                    (append (find-files #$(file-append package "/bin"))
-                            (find-files #$(file-append package "/sbin"))
-                            (find-files #$(file-append package "/libexec")))))))
+                    (append (find-files (string-append input "/bin"))
+                            (find-files (string-append input "/sbin"))
+                            (find-files (string-append input "/libexec")))))))
 
   (computed-file (string-append
                   (cond ((package? package)
@@ -691,14 +722,18 @@ please email '~a'~%")
                   "R")
                  build))
 
+(define (wrapped-manifest-entry entry . args)
+  (manifest-entry
+    (inherit entry)
+    (item (apply wrapped-package
+                 (manifest-entry-item entry)
+                 (manifest-entry-output entry)
+                 args))))
+
 (define (map-manifest-entries proc manifest)
   "Apply PROC to all the entries of MANIFEST and return a new manifest."
   (make-manifest
-   (map (lambda (entry)
-          (manifest-entry
-            (inherit entry)
-            (item (proc (manifest-entry-item entry)))))
-        (manifest-entries manifest))))
+   (map proc (manifest-entries manifest))))
 
 
 ;;;
@@ -960,7 +995,7 @@ Create a bundle of PACKAGE.\n"))
                                 ;; 'glibc-bootstrap' lacks 'libc.a'.
                                 (if relocatable?
                                     (map-manifest-entries
-                                     (cut wrapped-package <> #:proot? proot?)
+                                     (cut wrapped-manifest-entry <> #:proot? proot?)
                                      manifest)
                                     manifest)))
                  (pack-format (assoc-ref opts 'format))
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 7bc499a2fe..b6b55bdfcb 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -106,14 +106,14 @@ given, use that to invoke the remote Guile REPL."
   (let* ((repl-command (append (or become-command '())
                                '("guix" "repl" "-t" "machine")))
          (pipe (apply open-remote-pipe* session OPEN_BOTH repl-command)))
-    ;; XXX: 'channel-get-exit-status' would be better here, but hangs if the
-    ;; process does succeed. This doesn't reflect the documentation, so it's
-    ;; possible that it's a bug in guile-ssh.
     (when (eof-object? (peek-char pipe))
-      (raise (condition
-              (&message
-               (message (format #f (G_ "failed to run '~{~a~^ ~}'")
-                                repl-command))))))
+      (let ((status (channel-get-exit-status pipe)))
+        (close-port pipe)
+        (raise (condition
+                (&message
+                 (message (format #f (G_ "remote command '~{~a~^ ~}' failed \
+with status ~a")
+                                  repl-command status)))))))
     (port->inferior pipe)))
 
 (define* (inferior-remote-eval exp session #:optional become-command)
diff --git a/guix/swh.scm b/guix/swh.scm
index df2a138f04..c253e217da 100644
--- a/guix/swh.scm
+++ b/guix/swh.scm
@@ -190,6 +190,12 @@ Software Heritage."
                                  (ref 10))))))
       str))                                       ;oops!
 
+(define string*
+  ;; Converts "string or #nil" coming from JSON to "string or #f".
+  (match-lambda
+    ((? string? str) str)
+    ((? null?) #f)))
+
 (define* (call url decode #:optional (method http-get)
                #:key (false-if-404? #t))
   "Invoke the endpoint at URL using METHOD.  Decode the resulting JSON body
@@ -239,8 +245,8 @@ FALSE-IF-404? is true, return #f upon 404 responses."
   (date visit-date "date" string->date*)
   (origin visit-origin)
   (url visit-url "origin_visit_url")
-  (snapshot-url visit-snapshot-url "snapshot_url")
-  (status visit-status)
+  (snapshot-url visit-snapshot-url "snapshot_url" string*) ;string | #f
+  (status visit-status "status" string->symbol)   ;'full | 'partial | 'ongoing
   (number visit-number "visit"))
 
 ;; <https://archive.softwareheritage.org/api/1/snapshot/4334c3ed4bb208604ed780d8687fe523837f1bd1/>
@@ -378,9 +384,11 @@ FALSE-IF-404? is true, return #f upon 404 responses."
           (map json->visit (vector->list (json->scm port))))))
 
 (define (visit-snapshot visit)
-  "Return the snapshot corresponding to VISIT."
-  (call (swh-url (visit-snapshot-url visit))
-        json->snapshot))
+  "Return the snapshot corresponding to VISIT or #f if no snapshot is
+available."
+  (and (visit-snapshot-url visit)
+       (call (swh-url (visit-snapshot-url visit))
+             json->snapshot)))
 
 (define (branch-target branch)
   "Return the target of BRANCH, either a <revision> or a <release>."
@@ -396,7 +404,7 @@ FALSE-IF-404? is true, return #f upon 404 responses."
   "Return a <revision> corresponding to the given TAG for the repository
 coming from URL.  Example:
 
-  (lookup-origin-release \"https://github.com/guix-mirror/guix/\" \"v0.8\")
+  (lookup-origin-revision \"https://github.com/guix-mirror/guix/\" \"v0.8\")
   => #<<revision> id: \"44941…\" …>
 
 The information is based on the latest visit of URL available.  Return #f if
@@ -404,7 +412,7 @@ URL could not be found."
   (match (lookup-origin url)
     (#f #f)
     (origin
-      (match (origin-visits origin)
+      (match (filter visit-snapshot-url (origin-visits origin))
         ((visit . _)
          (let ((snapshot (visit-snapshot visit)))
            (match (and=> (find (lambda (branch)
@@ -533,7 +541,8 @@ delete it when leaving the dynamic extent of this call."
       (lambda ()
         (false-if-exception (delete-file-recursively tmp-dir))))))
 
-(define (swh-download url reference output)
+(define* (swh-download url reference output
+                       #:key (log-port (current-error-port)))
   "Download from Software Heritage a checkout of the Git tag or commit
 REFERENCE originating from URL, and unpack it in OUTPUT.  Return #t on success
 and #f on failure.
@@ -545,21 +554,31 @@ wait until it becomes available, which could take several minutes."
              (lookup-revision reference)
              (lookup-origin-revision url reference))
     ((? revision? revision)
+     (format log-port "SWH: found revision ~a with directory at '~a'~%"
+             (revision-id revision)
+             (swh-url (revision-directory-url revision)))
      (call-with-temporary-directory
       (lambda (directory)
-        (let ((input (vault-fetch (revision-directory revision) 'directory))
-              (tar   (open-pipe* OPEN_WRITE "tar" "-C" directory "-xzvf" "-")))
-          (dump-port input tar)
-          (close-port input)
-          (let ((status (close-pipe tar)))
-            (unless (zero? status)
-              (error "tar extraction failure" status)))
-
-          (match (scandir directory)
-            (("." ".." sub-directory)
-             (copy-recursively (string-append directory "/" sub-directory)
-                               output
-                               #:log (%make-void-port "w"))
-             #t))))))
+        (match (vault-fetch (revision-directory revision) 'directory
+                            #:log-port log-port)
+          (#f
+           (format log-port
+                   "SWH: directory ~a could not be fetched from the vault~%"
+                   (revision-directory revision))
+           #f)
+          ((? port? input)
+           (let ((tar (open-pipe* OPEN_WRITE "tar" "-C" directory "-xzvf" "-")))
+             (dump-port input tar)
+             (close-port input)
+             (let ((status (close-pipe tar)))
+               (unless (zero? status)
+                 (error "tar extraction failure" status)))
+
+             (match (scandir directory)
+               (("." ".." sub-directory)
+                (copy-recursively (string-append directory "/" sub-directory)
+                                  output
+                                  #:log (%make-void-port "w"))
+                #t))))))))
     (#f
      #f)))
diff --git a/po/doc/guix-manual.de.po b/po/doc/guix-manual.de.po
index 96fbe58afe..227fe67906 100644
--- a/po/doc/guix-manual.de.po
+++ b/po/doc/guix-manual.de.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: guix-manual 1.0.1-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
 "POT-Creation-Date: 2019-05-10 20:53+0200\n"
-"PO-Revision-Date: 2019-06-07 00:54+0200\n"
+"PO-Revision-Date: 2019-08-24 00:03+0200\n"
 "Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
@@ -3099,7 +3099,7 @@ msgstr "Zweck"
 #. type: Plain text
 #: doc/guix.texi:323
 msgid "GNU Guix@footnote{``Guix'' is pronounced like ``geeks'', or ``ɡiːks'' using the international phonetic alphabet (IPA).} is a package management tool for and distribution of the GNU system.  Guix makes it easy for unprivileged users to install, upgrade, or remove software packages, to roll back to a previous package set, to build packages from source, and generally assists with the creation and maintenance of software environments."
-msgstr "GNU Guix@footnote{„Guix“ wird wie „geeks“ ausgesprochen, also als „ɡiːks“ in der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine Distribution desselbigen GNU-Systems. Guix macht es @emph{nicht} mit besonderen Berechtigungen ausgestatteten, „unprivilegierten“ Nutzern leicht, Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von Software-Umgebungen."
+msgstr "GNU Guix@footnote{„Guix“ wird wie „geeks“ ausgesprochen, also als „ɡiːks“ in der Notation des Internationalen Phonetischen Alphabets (IPA).} ist ein Werkzeug zur Verwaltung von Softwarepaketen für das GNU-System und eine Distribution (eine „Verteilung“) desselbigen GNU-Systems. Guix macht es @emph{nicht} mit besonderen Berechtigungen ausgestatteten, „unprivilegierten“ Nutzern leicht, Softwarepakete zu installieren, zu aktualisieren oder zu entfernen, zu einem vorherigen Satz von Paketen zurückzuwechseln, Pakete aus ihrem Quellcode heraus zu erstellen und hilft allgemein bei der Erzeugung und Wartung von Software-Umgebungen."
 
 #. type: cindex
 #: doc/guix.texi:324 doc/guix.texi:399
@@ -3161,7 +3161,7 @@ msgstr "Anpassung, von Paketen"
 #. type: Plain text
 #: doc/guix.texi:365
 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 (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})."
+msgstr "Guix enthält Paketdefinitionen für viele Pakete, manche aus GNU und andere nicht aus 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:366
@@ -3194,12 +3194,12 @@ msgstr "Das Ergebnis von Paketerstellungsfunktionen wird im Dateisystem @dfn{zwi
 #. type: Plain text
 #: doc/guix.texi:394
 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ücksetzungen, Installation von Paketen als einfacher Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})."
+msgstr "Dieses Vorgehen ist die Grundlage für die Guix auszeichnenden Funktionalitäten: Unterstützung transaktionsbasierter Paketaktualisierungen und -rücksetzungen, Installation von Paketen für jeden Nutzer sowie Garbage Collection für Pakete (siehe @ref{Features})."
 
 #. type: Plain text
 #: doc/guix.texi:409
 msgid "Guix comes with a distribution of the GNU system consisting entirely of free software@footnote{The term ``free'' here refers to the @url{https://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}).  When we need to distinguish between the two, we refer to the standalone distribution as Guix@tie{}System."
-msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung „frei“ steht hier für die @url{https://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. Wenn wir die Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende Distribution als „Guix@tie{}System“ (mit englischer Aussprache)."
+msgstr "Mit Guix kommt eine Distribution des GNU-Systems, die nur aus freier Software@footnote{Die Bezeichnung „frei“ steht hier für die @url{https://www.gnu.org/philosophy/free-sw.html,Freiheiten@comma{} 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. Wenn wir die Anwendungsfälle unterscheiden möchten, bezeichnen wir die alleinstehende Distribution als „Guix@tie{}System“ (mit englischer Aussprache)."
 
 #. type: Plain text
 #: doc/guix.texi:415
@@ -3673,12 +3673,12 @@ msgstr "Dieser Abschnitt listet Voraussetzungen auf, um Guix aus seinem Quellcod
 #: doc/guix.texi:722
 #, no-wrap
 msgid "official website"
-msgstr "Offizielle Webpräsenz"
+msgstr "Offizieller Webauftritt"
 
 #. type: Plain text
 #: doc/guix.texi:725
 msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}."
-msgstr "GNU Guix kann von seiner Webpräsenz unter @url{http://www.gnu.org/software/guix/} heruntergeladen werden."
+msgstr "GNU Guix kann von seinem Webauftritt unter @url{http://www.gnu.org/software/guix/} heruntergeladen werden."
 
 #. type: Plain text
 #: doc/guix.texi:727
@@ -7481,7 +7481,7 @@ msgstr "Guix hat die richtigen Grundlagen, um die Reproduzierbarkeit von Erstell
 #. type: Plain text
 #: doc/guix.texi:3327
 msgid "In the future, we want Guix to have support to publish and retrieve binaries to/from other users, in a peer-to-peer fashion.  If you would like to discuss this project, join us on @email{guix-devel@@gnu.org}."
-msgstr "In Zukunft wollen wir, dass Guix Binärdateien an und von Nutzern peer-to-peer veröffentlichen kann. Wenn Sie mit uns dieses Projekt diskutieren möchten, kommen Sie auf unsere Mailing-Liste @email{guix-devel@@gnu.org}."
+msgstr "In Zukunft wollen wir, dass Sie mit Guix Binärdateien von Netzwerkteilnehmer zu Netzwerkteilnehmer („peer-to-peer“) veröffentlichen und empfangen können. Wenn Sie mit uns dieses Projekt diskutieren möchten, kommen Sie auf unsere Mailing-Liste @email{guix-devel@@gnu.org}."
 
 #. type: cindex
 #: doc/guix.texi:3331
@@ -13389,7 +13389,7 @@ msgstr ""
 "(with-imported-modules (source-module-closure\n"
 "                         '((guix build utils)\n"
 "                           (gnu build vm)))\n"
-"  (gexp->derivation \"etwas-mit-vms\"\n"
+"  (gexp->derivation \"etwas-mit-vm\"\n"
 "                    #~(begin\n"
 "                        (use-modules (guix build utils)\n"
 "                                     (gnu build vm))\n"
@@ -14376,7 +14376,7 @@ msgstr "--fallback"
 #. type: table
 #: doc/guix.texi:7709
 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 (siehe @ref{Substitution Failure})."
+msgstr "Wenn das Substituieren vorerstellter Binärdateien fehlschlägt, diese ersatzweise lokal selbst erstellen (siehe @ref{Substitution Failure})."
 
 #. type: anchor{#1}
 #: doc/guix.texi:7715
@@ -26358,7 +26358,7 @@ msgstr "{@code{cups-configuration}-Parameter} Rechnernamensauflösungen host-nam
 #. type: deftypevr
 #: doc/guix.texi:14143
 msgid "Specifies whether to do reverse lookups on connecting clients.  The @code{double} setting causes @code{cupsd} to verify that the hostname resolved from the address matches one of the addresses returned for that hostname.  Double lookups also prevent clients with unregistered addresses from connecting to your server.  Only set this option to @code{#t} or @code{double} if absolutely required."
-msgstr "Gibt an, ob umgekehrte Namensauflösungen („Reverse Lookups“) bei sich verbindenden Clients durchgeführt werden sollen. Die Einstellung @code{double} lässt @code{cupsd} verifizieren, dass der anhand der Adresse aufgelöste Rechnername zu einer der für den Rechnernamen zurückgelieferten Adressen passt. „Double“-Namensauflösungen verhindern auch, dass sich Clients mit unregistrierten Adressen mit Ihrem Server verbinden können. Setzen Sie diese Option nur dann auf @code{#t} oder @code{double}, wenn es unbedingt notwendig ist."
+msgstr "Gibt an, ob inverse Namensauflösungen („Reverse Lookups“) bei sich verbindenden Clients durchgeführt werden sollen. Die Einstellung @code{double} lässt @code{cupsd} verifizieren, dass der anhand der Adresse aufgelöste Rechnername zu einer der für den Rechnernamen zurückgelieferten Adressen passt. „Double“-Namensauflösungen verhindern auch, dass sich Clients mit unregistrierten Adressen mit Ihrem Server verbinden können. Setzen Sie diese Option nur dann auf @code{#t} oder @code{double}, wenn es unbedingt notwendig ist."
 
 #. type: deftypevr
 #: doc/guix.texi:14147
@@ -27707,7 +27707,7 @@ msgstr "{Scheme-Prozedur} accountsservice-service @"
 #. type: deffn
 #: doc/guix.texi:14853
 msgid "[#:accountsservice @var{accountsservice}] Return a service that runs AccountsService, a system service that can list available accounts, change their passwords, and so on.  AccountsService integrates with PolicyKit to enable unprivileged users to acquire the capability to modify their system configuration.  @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, the accountsservice web site} for more information."
-msgstr "[#:accountsservice @var{accountsservice}] Liefert einen Dienst, der AccountsService ausführt. Dabei handelt es sich um einen Systemdienst, mit dem verfügbare Benutzerkonten aufgelistet und deren Passwörter geändert werden können, und Ähnliches. AccountsService arbeitet mit PolicyKit zusammen, um es Benutzern ohne besondere Berechtigungen zu ermöglichen, ihre Systemkonfiguration zu ändern. Siehe @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, die Webpräsenz von AccountsService} für weitere Informationen."
+msgstr "[#:accountsservice @var{accountsservice}] Liefert einen Dienst, der AccountsService ausführt. Dabei handelt es sich um einen Systemdienst, mit dem verfügbare Benutzerkonten aufgelistet und deren Passwörter geändert werden können, und Ähnliches. AccountsService arbeitet mit PolicyKit zusammen, um es Benutzern ohne besondere Berechtigungen zu ermöglichen, ihre Systemkonfiguration zu ändern. Siehe @uref{https://www.freedesktop.org/wiki/Software/AccountsService/, den Webauftritt von AccountsService} für weitere Informationen."
 
 #. type: deffn
 #: doc/guix.texi:14856
@@ -27924,7 +27924,7 @@ msgstr "{Scheme-Prozedur} colord-service [#:colord @var{colord}]"
 #. type: deffn
 #: doc/guix.texi:14956
 msgid "Return a service that runs @command{colord}, a system service with a D-Bus interface to manage the color profiles of input and output devices such as screens and scanners.  It is notably used by the GNOME Color Manager graphical tool.  See @uref{https://www.freedesktop.org/software/colord/, the colord web site} for more information."
-msgstr "Liefert einen Dienst, der @command{colord} ausführt. Dabei handelt es sich um einen Systemdienst mit einer D-Bus-Schnittstelle, um die Farbprofile von Ein- und Ausgabegeräten wie Bildschirmen oder Scannern zu verwalten. Insbesondere wird colord vom grafischen GNOME-Farbverwaltungswerkzeug benutzt. Siehe @uref{https://www.freedesktop.org/software/colord/, die Webpräsenz von colord} für weitere Informationen."
+msgstr "Liefert einen Dienst, der @command{colord} ausführt. Dabei handelt es sich um einen Systemdienst mit einer D-Bus-Schnittstelle, um die Farbprofile von Ein- und Ausgabegeräten wie Bildschirmen oder Scannern zu verwalten. Insbesondere wird colord vom grafischen GNOME-Farbverwaltungswerkzeug benutzt. Siehe @uref{https://www.freedesktop.org/software/colord/, den Webauftritt von colord} für weitere Informationen."
 
 #. type: deffn
 #: doc/guix.texi:14958
@@ -27957,7 +27957,7 @@ msgstr "{Scheme-Prozedur} geoclue-service [#:colord @var{colord}] @"
 #. type: deffn
 #: doc/guix.texi:14991
 msgid "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Return a service that runs the GeoClue location service.  This service provides a D-Bus interface to allow applications to request access to a user's physical location, and optionally to add information to online location databases.  See @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, the GeoClue web site} for more information."
-msgstr "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Liefert einen Dienst, der den Ortungsdienst GeoClue ausführt. Dieser Dienst bietet eine D-Bus-Schnittstelle an, mit der Anwendungen Zugriff auf den physischen Ort eines Benutzers anfragen können, und optional Informationen in Online-Ortsdatenbanken eintragen können. Siehe @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, die Webpräsenz von GeoClue} für weitere Informationen."
+msgstr "[#:whitelist '()] @ [#:wifi-geolocation-url \"https://location.services.mozilla.com/v1/geolocate?key=geoclue\"] @ [#:submit-data? #f] [#:wifi-submission-url \"https://location.services.mozilla.com/v1/submit?key=geoclue\"] @ [#:submission-nick \"geoclue\"] @ [#:applications %standard-geoclue-applications] Liefert einen Dienst, der den Ortungsdienst GeoClue ausführt. Dieser Dienst bietet eine D-Bus-Schnittstelle an, mit der Anwendungen Zugriff auf den physischen Ort eines Benutzers anfragen können, und optional Informationen in Online-Ortsdatenbanken eintragen können. Siehe @uref{https://wiki.freedesktop.org/www/Software/GeoClue/, den Webauftritt von GeoClue} für weitere Informationen."
 
 #. type: deffn
 #: doc/guix.texi:14993
@@ -28191,7 +28191,7 @@ msgstr "PostgreSQL-Erweiterungspakete"
 #. type: deffn
 #: doc/guix.texi:15107
 msgid "Additional extensions are loaded from packages listed in @var{extension-packages}.  Extensions are available at runtime.  For instance, to create a geographic database using the @code{postgis} extension, a user can configure the postgresql-service as in this example:"
-msgstr "Zusätzliche Erweiterungen werden aus den unter @var{extension-packages} aufgeführten Paketen geladen. Erweiterungen sind zur Laufzeit verfügbar. Zum Beispiel kann ein Nutzer den postgresql-service-Dienst wie in diesem Beispiel konfigurieren, um eine geografische Datenbank mithilfe der @code{postgis}-Erweiterung zu erzeugen:"
+msgstr "Zusätzliche Erweiterungen werden aus den unter @var{extension-packages} aufgeführten Paketen geladen. Erweiterungen sind zur Laufzeit verfügbar. Zum Beispiel kann ein Nutzer den postgresql-service-Dienst wie in diesem Beispiel konfigurieren, um eine geografische Datenbank mit Hilfe der @code{postgis}-Erweiterung zu erzeugen:"
 
 #. type: cindex
 #: doc/guix.texi:15108
@@ -31238,24 +31238,24 @@ msgstr "XMPP"
 #. type: Plain text
 #: doc/guix.texi:16754
 msgid "The @code{(gnu services messaging)} module provides Guix service definitions for messaging services: currently only Prosody is supported."
-msgstr ""
+msgstr "Das Modul @code{(gnu services messaging)} stellt Guix-Dienstdefinitionen für Kurznachrichtendienste, d.h.@: „Instant Messaging“, zur Verfügung. Zur Zeit wird hier nur Prosody unterstützt."
 
 #. type: subsubheading
 #: doc/guix.texi:16755
 #, no-wrap
 msgid "Prosody Service"
-msgstr ""
+msgstr "Prosody-Dienst"
 
 #. type: deffn
 #: doc/guix.texi:16757
 #, no-wrap
 msgid "{Scheme Variable} prosody-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} prosody-service-type"
 
 #. type: deffn
 #: doc/guix.texi:16761
 msgid "This is the type for the @uref{https://prosody.im, Prosody XMPP communication server}.  Its value must be a @code{prosody-configuration} record as in this example:"
-msgstr ""
+msgstr "Dies ist der Diensttyp für den @uref{https://prosody.im, XMPP-Kommunikationsserver Prosody}. Sein Wert muss ein @code{prosody-configuration}-Verbundsobjekt wie in diesem Beispiel sein:"
 
 #. type: example
 #: doc/guix.texi:16776
@@ -31275,689 +31275,702 @@ msgid ""
 "            (virtualhost-configuration\n"
 "             (domain \"example.net\"))))))\n"
 msgstr ""
+"(service prosody-service-type\n"
+"         (prosody-configuration\n"
+"          (modules-enabled (cons \"groups\" \"mam\" %default-modules-enabled))\n"
+"          (int-components\n"
+"           (list\n"
+"            (int-component-configuration\n"
+"             (hostname \"conference.example.net\")\n"
+"             (plugin \"muc\")\n"
+"             (mod-muc (mod-muc-configuration)))))\n"
+"          (virtualhosts\n"
+"           (list\n"
+"            (virtualhost-configuration\n"
+"             (domain \"example.net\"))))))\n"
 
 #. type: deffn
 #: doc/guix.texi:16779
 msgid "See below for details about @code{prosody-configuration}."
-msgstr ""
+msgstr "Siehe im Folgenden Details über die @code{prosody-configuration}."
 
 #. type: Plain text
 #: doc/guix.texi:16785
 msgid "By default, Prosody does not need much configuration.  Only one @code{virtualhosts} field is needed: it specifies the domain you wish Prosody to serve."
-msgstr ""
+msgstr "Prosody kann mit den Vorgabeeinstellungen ohne viel weitere Konfiguration benutzt werden. Nur ein @code{virtualhosts}-Feld wird gebraucht: Es legt die Domain fest, um die sich Prosody kümmert."
 
 #. type: Plain text
 #: doc/guix.texi:16788
 msgid "You can perform various sanity checks on the generated configuration with the @code{prosodyctl check} command."
-msgstr ""
+msgstr "Sie können die Korrektheit der generierten Konfigurationsdatei überprüfen, indem Sie den Befehl @code{prosodyctl check} ausführen."
 
 #. type: Plain text
 #: doc/guix.texi:16792
 msgid "Prosodyctl will also help you to import certificates from the @code{letsencrypt} directory so that the @code{prosody} user can access them.  See @url{https://prosody.im/doc/letsencrypt}."
-msgstr ""
+msgstr "Prosodyctl hilft auch dabei, Zertifikate aus dem @code{letsencrypt}-Verzeichnis zu importieren, so dass das @code{prosody}-Benutzerkonto auf sie Zugriff hat. Siehe @url{https://prosody.im/doc/letsencrypt}."
 
 #. type: example
 #: doc/guix.texi:16795
 #, no-wrap
 msgid "prosodyctl --root cert import /etc/letsencrypt/live\n"
-msgstr ""
+msgstr "prosodyctl --root cert import /etc/letsencrypt/live\n"
 
 #. type: Plain text
 #: doc/guix.texi:16802
 msgid "The available configuration parameters follow.  Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of strings.  Types starting with @code{maybe-} denote parameters that won't show up in @code{prosody.cfg.lua} when their value is @code{'disabled}."
-msgstr ""
+msgstr "Im Folgenden finden Sie die verfügbaren Konfigurationsparameter. Jeder Parameterdefinition ist ihr Typ vorangestellt; zum Beispiel bedeutet @samp{Zeichenketten-Liste foo}, dass der Parameter @code{foo} als Liste von Zeichenketten angegeben werden sollte. Typangaben, die mit @code{Vielleicht-} beginnen, stehen für Parameter, die in @code{prosody.cfg.lua} nicht vorkommen, falls deren Wert als @code{'disabled} („deaktiviert“) angegeben wurde."
 
 #. type: Plain text
 #: doc/guix.texi:16806
 msgid "There is also a way to specify the configuration as a string, if you have an old @code{prosody.cfg.lua} file that you want to port over from some other system; see the end for more details."
-msgstr ""
+msgstr "Sie können die Konfiguration auch als eine Zeichenkette festlegen, wenn Sie über eine alte @code{prosody.cfg.lua}-Datei verfügen, die Sie von einem anderen System übernehmen möchten; siehe das Ende dieses Abschnitts für Details."
 
 #. type: Plain text
 #: doc/guix.texi:16809
 msgid "The @code{file-object} type designates either a file-like object (@pxref{G-Expressions, file-like objects}) or a file name."
-msgstr ""
+msgstr "Der Typ @code{Dateiobjekt} bezeichnet hierbei entweder ein dateiartiges Objekt (siehe @ref{G-Expressions, file-like objects}) oder einen Dateinamen."
 
 #. type: Plain text
 #: doc/guix.texi:16819
 msgid "Available @code{prosody-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{prosody-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:16820
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} package prosody"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} „package“ prosody"
 
 #. type: deftypevr
 #: doc/guix.texi:16822
 msgid "The Prosody package."
-msgstr ""
+msgstr "Das Prosody-Paket."
 
 #. type: deftypevr
 #: doc/guix.texi:16824
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} file-name data-path"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Dateiname data-path"
 
 #. type: deftypevr
 #: doc/guix.texi:16828
 msgid "Location of the Prosody data storage directory.  See @url{https://prosody.im/doc/configure}.  Defaults to @samp{\"/var/lib/prosody\"}."
-msgstr ""
+msgstr "Der Ort, wo sich Prosodys Verzeichnis zum Speichern von Daten befinden soll. Siehe @url{https://prosody.im/doc/configure}. Die Vorgabe ist @samp{\"/var/lib/prosody\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:16830
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} file-object-list plugin-paths"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Dateiobjekt-Liste plugin-paths"
 
 #. type: deftypevr
 #: doc/guix.texi:16834
 msgid "Additional plugin directories.  They are searched in all the specified paths in order.  See @url{https://prosody.im/doc/plugins_directory}.  Defaults to @samp{()}."
-msgstr ""
+msgstr "Zusätzliche Plugin-Verzeichnisse. Plugins werden der Reihe nach in allen festgelegten Pfaden gesucht. Siehe @url{https://prosody.im/doc/plugins_directory}. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16836
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} file-name certificates"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Dateiname certificates"
 
 #. type: deftypevr
 #: doc/guix.texi:16841
 msgid "Every virtual host and component needs a certificate so that clients and servers can securely verify its identity.  Prosody will automatically load certificates/keys from the directory specified here.  Defaults to @samp{\"/etc/prosody/certs\"}."
-msgstr ""
+msgstr "Jeder virtuellte Rechner und jede Komponente braucht ein Zertifikat, mit dem Clients und Server ihre Identität sicher verifizieren können. Prosody lädt automatisch Zertifikate bzw.@: Schlüssel aus dem hier angegebenen Verzeichnis. Die Vorgabe ist @samp{\"/etc/prosody/certs\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:16843
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string-list admins"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste admins"
 
 #. type: deftypevr
 #: doc/guix.texi:16849
 msgid "This is a list of accounts that are admins for the server.  Note that you must create the accounts separately.  See @url{https://prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}.  Example: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Defaults to @samp{()}."
-msgstr ""
+msgstr "Dies ist eine Liste der Benutzerkonten, die auf diesem Server Administratoren sind. Beachten Sie, dass Sie die Benutzerkonten noch separat als Nutzer erzeugen lassen müssen. Siehe @url{https://prosody.im/doc/admins} and @url{https://prosody.im/doc/creating_accounts}. Ein Beispiel: @code{(admins '(\"user1@@example.com\" \"user2@@example.net\"))} Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16851
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} boolean use-libevent?"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck use-libevent?"
 
 #. type: deftypevr
 #: doc/guix.texi:16855
 msgid "Enable use of libevent for better performance under high load.  See @url{https://prosody.im/doc/libevent}.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Die Nutzung von libevent aktivieren, damit bessere Leistungsfähigkeit auch unter hoher Last gewährleistet wird. Siehe @url{https://prosody.im/doc/libevent}. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:16857
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} module-list modules-enabled"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Modul-Liste modules-enabled"
 
 #. type: deftypevr
 #: doc/guix.texi:16863
 msgid "This is the list of modules Prosody will load on startup.  It looks for @code{mod_modulename.lua} in the plugins folder, so make sure that exists too.  Documentation on modules can be found at: @url{https://prosody.im/doc/modules}.  Defaults to @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}."
-msgstr ""
+msgstr "Die Liste der Module, die Prosody beim Starten lädt. Es sucht nach @code{mod_modulename.lua} im Plugin-Verzeichnis, also sollten Sie sicherstellen, dass es dort auch existiert. Dokumentation über Module können Sie hier finden: @url{https://prosody.im/doc/modules}. Die Vorgabe ist @samp{(\"roster\" \"saslauth\" \"tls\" \"dialback\" \"disco\" \"carbons\" \"private\" \"blocklist\" \"vcard\" \"version\" \"uptime\" \"time\" \"ping\" \"pep\" \"register\" \"admin_adhoc\")}."
 
 #. type: deftypevr
 #: doc/guix.texi:16865
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string-list modules-disabled"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste modules-disabled"
 
 #. type: deftypevr
 #: doc/guix.texi:16869
 msgid "@samp{\"offline\"}, @samp{\"c2s\"} and @samp{\"s2s\"} are auto-loaded, but should you want to disable them then add them to this list.  Defaults to @samp{()}."
-msgstr ""
+msgstr "@samp{\"offline\"}, @samp{\"c2s\"} und @samp{\"s2s\"} werden automatisch geladen, aber wenn Sie sie deaktivieren möchten, tragen Sie sie einfach in die Liste ein. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16871
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} file-object groups-file"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Dateiobjekt groups-file"
 
 #. type: deftypevr
 #: doc/guix.texi:16876
 msgid "Path to a text file where the shared groups are defined.  If this path is empty then @samp{mod_groups} does nothing.  See @url{https://prosody.im/doc/modules/mod_groups}.  Defaults to @samp{\"/var/lib/prosody/sharedgroups.txt\"}."
-msgstr ""
+msgstr "Der Pfad zu einer Textdatei, in der gemeinsame Gruppen definiert werden. Wenn dieser Pfad leer ist, dann tut @samp{mod_groups} nichts. Siehe @url{https://prosody.im/doc/modules/mod_groups}. Die Vorgabe ist @samp{\"/var/lib/prosody/sharedgroups.txt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:16878
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} boolean allow-registration?"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck allow-registration?"
 
 #. type: deftypevr
 #: doc/guix.texi:16882
 msgid "Disable account creation by default, for security.  See @url{https://prosody.im/doc/creating_accounts}.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Ob nach Voreinstellung @emph{keine} neuen Benutzerkonten angelegt werden können, aus Sicherheitsgründen. Siehe @url{https://prosody.im/doc/creating_accounts}. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:16884
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} maybe-ssl-configuration ssl"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-„ssl-configuration“ ssl"
 
 #. type: deftypevr
 #: doc/guix.texi:16889
 msgid "These are the SSL/TLS-related settings.  Most of them are disabled so to use Prosody's defaults.  If you do not completely understand these options, do not add them to your config, it is easy to lower the security of your server using them.  See @url{https://prosody.im/doc/advanced_ssl_config}."
-msgstr ""
+msgstr "Dies ist der Teil der Einstellungen, der mit SSL/TLS zu tun hat. Der Großteil davon ist deaktiviert, damit die Voreinstellungen von Prosody verwendet werden. Wenn Sie diese Optionen hier nicht völlig verstehen, sollten Sie sie @emph{nicht} in Ihrer Konfiguration verwenden. Es passiert leicht, dass Sie die Sicherheit Ihres Servers absenken, indem Sie sie falsch benutzen. Siehe @url{https://prosody.im/doc/advanced_ssl_config}."
 
 #. type: deftypevr
 #: doc/guix.texi:16891
 msgid "Available @code{ssl-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{ssl-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:16892
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string protocol"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette protocol"
 
 #. type: deftypevr
 #: doc/guix.texi:16894
 msgid "This determines what handshake to use."
-msgstr ""
+msgstr "Dadurch wird entschieden, was für ein Handshake benutzt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:16896
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-file-name key"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname key"
 
 #. type: deftypevr
 #: doc/guix.texi:16898
 msgid "Path to your private key file."
-msgstr ""
+msgstr "Der Pfad zur Datei mit Ihrem privaten Schlüssel."
 
 #. type: deftypevr
 #: doc/guix.texi:16900
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-file-name certificate"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname certificate"
 
 #. type: deftypevr
 #: doc/guix.texi:16902
 msgid "Path to your certificate file."
-msgstr ""
+msgstr "Der Pfad zur Datei mit Ihrem Zertifikat."
 
 #. type: deftypevr
 #: doc/guix.texi:16904
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} file-object capath"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Dateiobjekt capath"
 
 #. type: deftypevr
 #: doc/guix.texi:16908
 msgid "Path to directory containing root certificates that you wish Prosody to trust when verifying the certificates of remote servers.  Defaults to @samp{\"/etc/ssl/certs\"}."
-msgstr ""
+msgstr "Der Pfad zum Verzeichnis, das die Wurzelzertifikate enthält, die Prosody zur Verifikation der Zertifikate entfernter Server benutzen soll. Die Vorgabe ist @samp{\\\"/etc/ssl/certs\\\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:16910
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-file-object cafile"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiobjekt cafile"
 
 #. type: deftypevr
 #: doc/guix.texi:16913
 msgid "Path to a file containing root certificates that you wish Prosody to trust.  Similar to @code{capath} but with all certificates concatenated together."
-msgstr ""
+msgstr "Der Pfad zu einer Datei, in der Wurzelzertifikate enthalten sind, denen Prosody vertrauen soll. Er verhält sich ähnlich wie @code{capath}, aber alle Zertifikate stehen hintereinander in der Datei."
 
 #. type: deftypevr
 #: doc/guix.texi:16915
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string-list verify"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste verify"
 
 #. type: deftypevr
 #: doc/guix.texi:16918
 msgid "A list of verification options (these mostly map to OpenSSL's @code{set_verify()} flags)."
-msgstr ""
+msgstr "Eine Liste von Verifikationsoptionen. (Die meisten bilden auf die @code{set_verify()}-Flags von OpenSSL ab.)"
 
 #. type: deftypevr
 #: doc/guix.texi:16920
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string-list options"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste options"
 
 #. type: deftypevr
 #: doc/guix.texi:16924
 msgid "A list of general options relating to SSL/TLS.  These map to OpenSSL's @code{set_options()}.  For a full list of options available in LuaSec, see the LuaSec source."
-msgstr ""
+msgstr "Eine Liste allgemeiner Optionen, die mit SSL/TLS zu tun haben. Diese bilden auf OpenSSLs @code{set_options()} ab. Eine vollständige Liste der in LuaSec verfügbaren Optionen finden Sie im Quellcode von LuaSec."
 
 #. type: deftypevr
 #: doc/guix.texi:16926
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-non-negative-integer depth"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl depth"
 
 #. type: deftypevr
 #: doc/guix.texi:16929
 msgid "How long a chain of certificate authorities to check when looking for a trusted root certificate."
-msgstr ""
+msgstr "Wie lange eine Kette von Zertifikatsautoritäten („Certificate Authorities“) nach einem passenden Wurzelzertifikat durchsucht wird, dem vertraut wird."
 
 #. type: deftypevr
 #: doc/guix.texi:16931
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string ciphers"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette ciphers"
 
 #. type: deftypevr
 #: doc/guix.texi:16934
 msgid "An OpenSSL cipher string.  This selects what ciphers Prosody will offer to clients, and in what order."
-msgstr ""
+msgstr "Eine Zeichenkette mit OpenSSL-Ciphers. Damit wird ausgewählt, welche Ciphers Prosody seinen Clients anbietet, und in welcher Reihenfolge."
 
 #. type: deftypevr
 #: doc/guix.texi:16936
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-file-name dhparam"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Dateiname dhparam"
 
 #. type: deftypevr
 #: doc/guix.texi:16940
 msgid "A path to a file containing parameters for Diffie-Hellman key exchange.  You can create such a file with: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}"
-msgstr ""
+msgstr "Ein Pfad zu einer Datei, in der Parameter für Diffie-Hellman-Schlüsselaustausche stehen. Sie können so eine Datei mit diesem Befehl erzeugen: @code{openssl dhparam -out /etc/prosody/certs/dh-2048.pem 2048}"
 
 #. type: deftypevr
 #: doc/guix.texi:16942
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string curve"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette curve"
 
 #. type: deftypevr
 #: doc/guix.texi:16945
 msgid "Curve for Elliptic curve Diffie-Hellman. Prosody's default is @samp{\"secp384r1\"}."
-msgstr ""
+msgstr "Die Kurve, die für Diffie-Hellman mit elliptischen Kurven verwendet werden soll. Prosodys Voreinstellung ist @samp{\"secp384r1\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:16947
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string-list verifyext"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenketten-Liste verifyext"
 
 #. type: deftypevr
 #: doc/guix.texi:16949
 msgid "A list of \"extra\" verification options."
-msgstr ""
+msgstr "Eine Liste von zusätzlichen Verifikationsoptionen."
 
 #. type: deftypevr
 #: doc/guix.texi:16951
 #, no-wrap
 msgid "{@code{ssl-configuration} parameter} maybe-string password"
-msgstr ""
+msgstr "{@code{ssl-configuration}-Parameter} Vielleicht-Zeichenkette password"
 
 #. type: deftypevr
 #: doc/guix.texi:16953
 msgid "Password for encrypted private keys."
-msgstr ""
+msgstr "Das Passwort fÜr verschlüsselte private Schlüssel."
 
 #. type: deftypevr
 #: doc/guix.texi:16957
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} boolean c2s-require-encryption?"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck c2s-require-encryption?"
 
 #. type: deftypevr
 #: doc/guix.texi:16961
 msgid "Whether to force all client-to-server connections to be encrypted or not.  See @url{https://prosody.im/doc/modules/mod_tls}.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Ob alle Verbindungen von Client zu Server zwangsweise verschlüsselt sein müssen. Siehe @url{https://prosody.im/doc/modules/mod_tls}. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:16963
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string-list disable-sasl-mechanisms"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste disable-sasl-mechanisms"
 
 #. type: deftypevr
 #: doc/guix.texi:16967
 msgid "Set of mechanisms that will never be offered.  See @url{https://prosody.im/doc/modules/mod_saslauth}.  Defaults to @samp{(\"DIGEST-MD5\")}."
-msgstr ""
+msgstr "Welche Mechanismen angeboten werden. Siehe @url{https://prosody.im/doc/modules/mod_saslauth}. Die Vorgabe ist @samp{(\"DIGEST-MD5\")}."
 
 #. type: deftypevr
 #: doc/guix.texi:16969
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} boolean s2s-require-encryption?"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck s2s-require-encryption?"
 
 #. type: deftypevr
 #: doc/guix.texi:16973
 msgid "Whether to force all server-to-server connections to be encrypted or not.  See @url{https://prosody.im/doc/modules/mod_tls}.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Ob alle Verbindungen von Server zu Server zwangsweise verschlüsselt sein müssen. Siehe @url{https://prosody.im/doc/modules/mod_tls}. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:16975
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} boolean s2s-secure-auth?"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Boolescher-Ausdruck s2s-secure-auth?"
 
 #. type: deftypevr
 #: doc/guix.texi:16981
 msgid "Whether to require encryption and certificate authentication.  This provides ideal security, but requires servers you communicate with to support encryption AND present valid, trusted certificates.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Ob Verschlüsselung und Zertifikatsauthentifizierung verpflichtend durchgeführt werden müssen. Das bietet das ideale Maß an Sicherheit, jedoch müssen dann auch die Server, mit denen Sie kommunizieren, Verschlüsselung unterstützen @emph{und} gültige Zertifikate vorweisen, denen Sie auch vertrauen. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:16983
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string-list s2s-insecure-domains"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste s2s-insecure-domains"
 
 #. type: deftypevr
 #: doc/guix.texi:16989
 msgid "Many servers don't support encryption or have invalid or self-signed certificates.  You can list domains here that will not be required to authenticate using certificates.  They will be authenticated using DNS.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{()}."
-msgstr ""
+msgstr "Viele Server bieten keine Unterstützung für Verschlüsselung oder ihre Zertifikate sind ungültig oder selbstsigniert. Hier können Sie Domains eintragen, die von der Pflicht zur Authentizierung mit Zertifikaten ausgenommen werden. Diese werden dann über DNS authentifiziert. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16991
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string-list s2s-secure-domains"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenketten-Liste s2s-secure-domains"
 
 #. type: deftypevr
 #: doc/guix.texi:16996
 msgid "Even if you leave @code{s2s-secure-auth?} disabled, you can still require valid certificates for some domains by specifying a list here.  See @url{https://prosody.im/doc/s2s#security}.  Defaults to @samp{()}."
-msgstr ""
+msgstr "Selbst wenn Sie @code{s2s-secure-auth?} deaktiviert lassen, können Sie noch immer gültige Zertifikate bei manchen Domains verlangen, indem Sie diese hier auflisten. Siehe @url{https://prosody.im/doc/s2s#security}. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16998
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string authentication"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenkette authentication"
 
 #. type: deftypevr
 #: doc/guix.texi:17006
 msgid "Select the authentication backend to use.  The default provider stores passwords in plaintext and uses Prosody's configured data storage to store the authentication data.  If you do not trust your server please see @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} for information about using the hashed backend.  See also @url{https://prosody.im/doc/authentication} Defaults to @samp{\"internal_plain\"}."
-msgstr ""
+msgstr "Wählen Sie aus, welcher Hintergrunddienst („Provider“) zur Authentifizierung benutzt werden soll. Das vorgegebene System speichert Passwörter im Klartext ab und benutzt dafür den in Prosody eingestellten Datenspeicher, um Authentifizierungsdaten zu speichern. Wenn Sie Ihrem Server kein Vertrauen entgegenbringen, siehe @url{https://prosody.im/doc/modules/mod_auth_internal_hashed} für Informationen, wie Sie den gehashten Hintergrunddienst benutzen. Siehe auch @url{https://prosody.im/doc/authentication}. Die Vorgabe ist @samp{\"internal_plain\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17008
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} maybe-string log"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Zeichenkette log"
 
 #. type: deftypevr
 #: doc/guix.texi:17012
 msgid "Set logging options.  Advanced logging configuration is not yet supported by the Prosody service.  See @url{https://prosody.im/doc/logging}.  Defaults to @samp{\"*syslog\"}."
-msgstr ""
+msgstr "Hiermit werden die Protokollierungsoptionen festgelegt. Fortgeschrittene Protokollierungskonfigurationen werden vom Prosody-Dienst noch nicht unterstützt. Siehe @url{https://prosody.im/doc/logging}. Die Vorgabe ist @samp{\"*syslog\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17014
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} file-name pidfile"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Dateiname pidfile"
 
 #. type: deftypevr
 #: doc/guix.texi:17017
 msgid "File to write pid in.  See @url{https://prosody.im/doc/modules/mod_posix}.  Defaults to @samp{\"/var/run/prosody/prosody.pid\"}."
-msgstr ""
+msgstr "Die Datei, in der Prosodys Prozessidentifikator („PID“) abgelegt wird. Siehe @url{https://prosody.im/doc/modules/mod_posix}. Die Vorgabe ist @samp{\"/var/run/prosody/prosody.pid\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17019
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} maybe-non-negative-integer http-max-content-size"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl http-max-content-size"
 
 #. type: deftypevr
 #: doc/guix.texi:17021
 msgid "Maximum allowed size of the HTTP body (in bytes)."
-msgstr ""
+msgstr "Die maximal zulässige Größe des HTTP-Rumpfs (in Bytes)."
 
 #. type: deftypevr
 #: doc/guix.texi:17023
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} maybe-string http-external-url"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Zeichenkette http-external-url"
 
 #. type: deftypevr
 #: doc/guix.texi:17028
 msgid "Some modules expose their own URL in various ways.  This URL is built from the protocol, host and port used.  If Prosody sits behind a proxy, the public URL will be @code{http-external-url} instead.  See @url{https://prosody.im/doc/http#external_url}."
-msgstr ""
+msgstr "Manche Module machen auf verschiedene Arten ihre eigene URL verfügbar. Diese URL setzt sich aus dem benutzten Protokoll, Rechnernamen und Port zusammen. Wenn Prosody hinter einem Proxy ausgeführt wird, ist die öffentliche URL stattdessen die @code{http-external-url}. Siehe @url{https://prosody.im/doc/http#external_url}."
 
 #. type: deftypevr
 #: doc/guix.texi:17030
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} virtualhost-configuration-list virtualhosts"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} „virtualhost-configuration“-Liste virtualhosts"
 
 #. type: deftypevr
 #: doc/guix.texi:17035
 msgid "A host in Prosody is a domain on which user accounts can be created.  For example if you want your users to have addresses like @samp{\"john.smith@@example.com\"} then you need to add a host @samp{\"example.com\"}.  All options in this list will apply only to this host."
-msgstr ""
+msgstr "Der Name eines Rechners („Host“) in Prosody bezeichnet eine Domain, auf der Benutzerkonten angelegt werden können. Wenn Sie zum Beispiel möchten, dass Nutzer Adressen haben wie @samp{\"john.smith@@example.com\"}, dann müssen Sie einen Rechnernamen @samp{\"example.com\"} hinzufügen. Alle Optionen in dieser Liste gelten nur für diesen Rechnernamen."
 
 #. type: deftypevr
 #: doc/guix.texi:17041
 msgid "Note: the name \"virtual\" host is used in configuration to avoid confusion with the actual physical host that Prosody is installed on.  A single Prosody instance can serve many domains, each one defined as a VirtualHost entry in Prosody's configuration.  Conversely a server that hosts a single domain would have just one VirtualHost entry."
-msgstr ""
+msgstr "Beachten Sie: Die Bezeichnung „virtueller“ Rechnername wird in der Konfiguration verwendet, damit es nicht zu Verwechslungen mit dem tatsächlichen physischen Rechner kommt, auf dem Prosody installiert ist. Eine einzelne Prosody-Instanz kann mehrere Domains bedienen, jede definiert mit ihrem eigenen VirtualHost-Eintrag in der Konfiguration von Prosody. Im Gegensatz dazu hätte ein Server, der nur eine Domain anbietet, nur einen einzigen VirtualHost-Eintrag."
 
 #. type: deftypevr
 #: doc/guix.texi:17043
 msgid "See @url{https://prosody.im/doc/configure#virtual_host_settings}."
-msgstr ""
+msgstr "Siehe @url{https://prosody.im/doc/configure#virtual_host_settings}."
 
 #. type: deftypevr
 #: doc/guix.texi:17045
 msgid "Available @code{virtualhost-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{virtualhost-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17047 doc/guix.texi:17069 doc/guix.texi:17122
 msgid "all these @code{prosody-configuration} fields: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, plus:"
-msgstr ""
+msgstr "Alle folgenden Felder, wie sie auch die @code{prosody-configuration} hat: @code{admins}, @code{use-libevent?}, @code{modules-enabled}, @code{modules-disabled}, @code{groups-file}, @code{allow-registration?}, @code{ssl}, @code{c2s-require-encryption?}, @code{disable-sasl-mechanisms}, @code{s2s-require-encryption?}, @code{s2s-secure-auth?}, @code{s2s-insecure-domains}, @code{s2s-secure-domains}, @code{authentication}, @code{log}, @code{http-max-content-size}, @code{http-external-url}, @code{raw-content}, und außerdem:"
 
 #. type: deftypevr
 #: doc/guix.texi:17047
 #, no-wrap
 msgid "{@code{virtualhost-configuration} parameter} string domain"
-msgstr ""
+msgstr "{@code{virtualhost-configuration}-Parameter} Zeichenkette domain"
 
 #. type: deftypevr
 #: doc/guix.texi:17049
 msgid "Domain you wish Prosody to serve."
-msgstr ""
+msgstr "Die Domain, auf der man Prosody erreichen soll."
 
 #. type: deftypevr
 #: doc/guix.texi:17053
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} int-component-configuration-list int-components"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} „int-component-configuration“-Liste int-components"
 
 #. type: deftypevr
 #: doc/guix.texi:17058
 msgid "Components are extra services on a server which are available to clients, usually on a subdomain of the main server (such as @samp{\"mycomponent.example.com\"}).  Example components might be chatroom servers, user directories, or gateways to other protocols."
-msgstr ""
+msgstr "Komponenten sind zusätzliche Dienste auf einem Server, die Clients zur Verfügung stehen. Sie sind normalerweise auf einer Subdomain des Hauptservers verfügbar (wie zum Beispiel @samp{\"mycomponent.example.com\"}). Beispiele für Komponenten könnten Server für Chaträume, Benutzerverzeichnisse oder Zugänge („Gateways“) zu anderen Protokollen sein."
 
 #. type: deftypevr
 #: doc/guix.texi:17062
 msgid "Internal components are implemented with Prosody-specific plugins.  To add an internal component, you simply fill the hostname field, and the plugin you wish to use for the component."
-msgstr ""
+msgstr "Interne Komponenten werden über Prosody-spezifische Plugins implementiert. Um eine interne Komponente hinzuzufügen, tragen Sie einfach das @code{hostname}-Feld für den Rechnernamen und die Plugins ein, die Sie für die Komponente benutzen möchten."
 
 #. type: deftypevr
 #: doc/guix.texi:17065
 msgid "See @url{https://prosody.im/doc/components}.  Defaults to @samp{()}."
-msgstr ""
+msgstr "Siehe @url{https://prosody.im/doc/components}. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:17067
 msgid "Available @code{int-component-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{int-component-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17069
 #, no-wrap
 msgid "{@code{int-component-configuration} parameter} string hostname"
-msgstr ""
+msgstr "{@code{int-component-configuration}-Parameter} Zeichenkette hostname"
 
 #. type: deftypevr
 #: doc/guix.texi:17071 doc/guix.texi:17128
 msgid "Hostname of the component."
-msgstr ""
+msgstr "Der Rechnername für diese Komponente."
 
 #. type: deftypevr
 #: doc/guix.texi:17073
 #, no-wrap
 msgid "{@code{int-component-configuration} parameter} string plugin"
-msgstr ""
+msgstr "{@code{int-component-configuration}-Parameter} Zeichenkette plugin"
 
 #. type: deftypevr
 #: doc/guix.texi:17075
 msgid "Plugin you wish to use for the component."
-msgstr ""
+msgstr "Das Plugin, das Sie für diese Komponente benutzen möchten."
 
 #. type: deftypevr
 #: doc/guix.texi:17077
 #, no-wrap
 msgid "{@code{int-component-configuration} parameter} maybe-mod-muc-configuration mod-muc"
-msgstr ""
+msgstr "{@code{int-component-configuration}-Parameter} Vielleicht-„mod-muc-configuration“ mod-muc"
 
 #. type: deftypevr
 #: doc/guix.texi:17080
 msgid "Multi-user chat (MUC) is Prosody's module for allowing you to create hosted chatrooms/conferences for XMPP users."
-msgstr ""
+msgstr "Multi-User Chat (MUC) ist der Name von Prosodys Modul, womit Sie Chaträume/Konferenzen für XMPP-Benutzer anbieten lassen können."
 
 #. type: deftypevr
 #: doc/guix.texi:17084
 msgid "General information on setting up and using multi-user chatrooms can be found in the \"Chatrooms\" documentation (@url{https://prosody.im/doc/chatrooms}), which you should read if you are new to XMPP chatrooms."
-msgstr ""
+msgstr "Allgemeine Informationen über das Einrichten und Benutzen von Multi-User-Chaträumen können Sie in der Dokumentation über Chaträume finden (@url{https://prosody.im/doc/chatrooms}), die Sie lesen sollten, wenn Ihnen XMPP-Chaträume neu sind."
 
 #. type: deftypevr
 #: doc/guix.texi:17086
 msgid "See also @url{https://prosody.im/doc/modules/mod_muc}."
-msgstr ""
+msgstr "Siehe auch @url{https://prosody.im/doc/modules/mod_muc}."
 
 #. type: deftypevr
 #: doc/guix.texi:17088
 msgid "Available @code{mod-muc-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{mod-muc-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17089
 #, no-wrap
 msgid "{@code{mod-muc-configuration} parameter} string name"
-msgstr ""
+msgstr "{@code{mod-muc-configuration}-Parameter} Zeichenkette name"
 
 #. type: deftypevr
 #: doc/guix.texi:17092
 msgid "The name to return in service discovery responses.  Defaults to @samp{\"Prosody Chatrooms\"}."
-msgstr ""
+msgstr "Der Name, der in Antworten auf die Diensteermittlung benutzt. Die Vorgabe ist @samp{\"Prosody Chatrooms\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17094
 #, no-wrap
 msgid "{@code{mod-muc-configuration} parameter} string-or-boolean restrict-room-creation"
-msgstr ""
+msgstr "{@code{mod-muc-configuration}-Parameter} Zeichenkette-oder-Boolescher-Ausdruck restrict-room-creation"
 
 #. type: deftypevr
 #: doc/guix.texi:17101
 msgid "If @samp{#t}, this will only allow admins to create new chatrooms.  Otherwise anyone can create a room.  The value @samp{\"local\"} restricts room creation to users on the service's parent domain.  E.g.@: @samp{user@@example.com} can create rooms on @samp{rooms.example.com}.  The value @samp{\"admin\"} restricts to service administrators only.  Defaults to @samp{#f}."
-msgstr ""
+msgstr "Für @samp{#t} können nur Administratoren neue Chaträume anlegen. Andernfalls kann jeder einen Raum anlegen. Der Wert @samp{\"local\"} schränkt das Anlegen neuer Räume auf solche Nutzer ein, die zur Eltern-Domain des Dienstes gehören. Z.B.@: kann @samp{user@@example.com} Räume auf @samp{rooms.example.com} anlegen. Für den Wert @samp{\"admin\"} können nur Dienstadministratoren Chaträume anlegen. Die Vorgabe ist @samp{#f}."
 
 #. type: deftypevr
 #: doc/guix.texi:17103
 #, no-wrap
 msgid "{@code{mod-muc-configuration} parameter} non-negative-integer max-history-messages"
-msgstr ""
+msgstr "{@code{mod-muc-configuration}-Parameter} Nichtnegative-ganze-Zahl max-history-messages"
 
 #. type: deftypevr
 #: doc/guix.texi:17107
 msgid "Maximum number of history messages that will be sent to the member that has just joined the room.  Defaults to @samp{20}."
-msgstr ""
+msgstr "Die Maximalzahl der Nachrichten aus dem Chat-Verlauf, die an ein Mitglied nachversandt werden, das gerade erst dem Raum beigetreten ist. Die Vorgabe ist @samp{20}."
 
 #. type: deftypevr
 #: doc/guix.texi:17113
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} ext-component-configuration-list ext-components"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} „ext-component-configuration“-Liste ext-components"
 
 #. type: deftypevr
 #: doc/guix.texi:17118
 msgid "External components use XEP-0114, which most standalone components support.  To add an external component, you simply fill the hostname field.  See @url{https://prosody.im/doc/components}.  Defaults to @samp{()}."
-msgstr ""
+msgstr "Externe Komponenten benutzen XEP-0114, das von den meisten eigenständigen Komponenten unterstützt wird. Um eine externe Komponente hinzuzufügen, tragen Sie einfach den Rechnernamen ins @code{hostname}-Feld ein. Siehe @url{https://prosody.im/doc/components}. Die Vorgabe ist @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:17120
 msgid "Available @code{ext-component-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{ext-component-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17122
 #, no-wrap
 msgid "{@code{ext-component-configuration} parameter} string component-secret"
-msgstr ""
+msgstr "{@code{ext-component-configuration}-Parameter} Zeichenkette component-secret"
 
 #. type: deftypevr
 #: doc/guix.texi:17124
 msgid "Password which the component will use to log in."
-msgstr ""
+msgstr "Das Passwort, das die Komponente für die Anmeldung benutzt."
 
 #. type: deftypevr
 #: doc/guix.texi:17126
 #, no-wrap
 msgid "{@code{ext-component-configuration} parameter} string hostname"
-msgstr ""
+msgstr "{@code{ext-component-configuration}-Parameter} Zeichenkette hostname"
 
 #. type: deftypevr
 #: doc/guix.texi:17132
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} non-negative-integer-list component-ports"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Nichtnegative-ganze-Zahl-Liste component-ports"
 
 #. type: deftypevr
 #: doc/guix.texi:17135
 msgid "Port(s) Prosody listens on for component connections.  Defaults to @samp{(5347)}."
-msgstr ""
+msgstr "Der/Die Port(s), wo Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist @samp{(5347)}."
 
 #. type: deftypevr
 #: doc/guix.texi:17137
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} string component-interface"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Zeichenkette component-interface"
 
 #. type: deftypevr
 #: doc/guix.texi:17140
 msgid "Interface Prosody listens on for component connections.  Defaults to @samp{\"127.0.0.1\"}."
-msgstr ""
+msgstr "Die Schnittstelle, auf der Prosody auf Verbindungen zu Komponenten lauscht. Die Vorgabe ist @samp{\"127.0.0.1\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17142
 #, no-wrap
 msgid "{@code{prosody-configuration} parameter} maybe-raw-content raw-content"
-msgstr ""
+msgstr "{@code{prosody-configuration}-Parameter} Vielleicht-Roher-Inhalt raw-content"
 
 #. type: deftypevr
 #: doc/guix.texi:17144
 msgid "Raw content that will be added to the configuration file."
-msgstr ""
+msgstr "„Roher Inhalt“, der so, wie er ist, an die Konfigurationsdatei angefügt wird."
 
 #. type: Plain text
 #: doc/guix.texi:17152
 msgid "It could be that you just want to get a @code{prosody.cfg.lua} up and running.  In that case, you can pass an @code{opaque-prosody-configuration} record as the value of @code{prosody-service-type}.  As its name indicates, an opaque configuration does not have easy reflective capabilities.  Available @code{opaque-prosody-configuration} fields are:"
-msgstr ""
+msgstr "Möglicherweise möchten Sie einfach nur eine bestehende @code{prosody.cfg.lua} zum Laufen bringen. In diesem Fall können Sie ein @code{opaque-prosody-configuration}-Verbundsobjekt als der Wert des @code{prosody-service-type} übergeben. Wie der Name schon sagt, bietet eine opake Konfiguration keinerlei Unterstützung für Reflexion. Verfügbare @code{opaque-prosody-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17153
 #, no-wrap
 msgid "{@code{opaque-prosody-configuration} parameter} package prosody"
-msgstr ""
+msgstr "{@code{opaque-prosody-configuration}-Parameter} „package“ prosody"
 
 #. type: deftypevr
 #: doc/guix.texi:17155
 msgid "The prosody package."
-msgstr ""
+msgstr "Das Prosody-Paket."
 
 #. type: deftypevr
 #: doc/guix.texi:17157
 #, no-wrap
 msgid "{@code{opaque-prosody-configuration} parameter} string prosody.cfg.lua"
-msgstr ""
+msgstr "{@code{opaque-prosody-configuration}-Parameter} Zeichenkette prosody.cfg.lua"
 
 #. type: deftypevr
 #: doc/guix.texi:17159
 msgid "The contents of the @code{prosody.cfg.lua} to use."
-msgstr ""
+msgstr "Der Inhalt, der als @code{prosody.cfg.lua} benutzt werden soll."
 
 #. type: Plain text
 #: doc/guix.texi:17163
 msgid "For example, if your @code{prosody.cfg.lua} is just the empty string, you could instantiate a prosody service like this:"
-msgstr ""
+msgstr "Wenn Ihre @code{prosody.cfg.lua} zum Beispiel nur aus der leeren Zeichenkette bestünde, könnten Sie einen Prosody-Dienst wie folgt instanziieren:"
 
 #. type: example
 #: doc/guix.texi:17168
@@ -31967,35 +31980,38 @@ msgid ""
 "         (opaque-prosody-configuration\n"
 "          (prosody.cfg.lua \"\")))\n"
 msgstr ""
+"(service prosody-service-type\n"
+"         (opaque-prosody-configuration\n"
+"          (prosody.cfg.lua \"\")))\n"
 
 #. type: subsubheading
 #: doc/guix.texi:17172
 #, no-wrap
 msgid "BitlBee Service"
-msgstr ""
+msgstr "BitlBee-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:17174 doc/guix.texi:17218
 #, no-wrap
 msgid "IRC (Internet Relay Chat)"
-msgstr ""
+msgstr "IRC (Internet Relay Chat)"
 
 #. type: cindex
 #: doc/guix.texi:17175
 #, no-wrap
 msgid "IRC gateway"
-msgstr ""
+msgstr "IRC-Zugang („Gateway“)"
 
 #. type: Plain text
 #: doc/guix.texi:17178
 msgid "@url{https://bitlbee.org,BitlBee} is a gateway that provides an IRC interface to a variety of messaging protocols such as XMPP."
-msgstr ""
+msgstr "@url{https://bitlbee.org,BitlBee} ist ein Zugang („Gateway“), der eine IRC-Schnittstelle für verschiedene Kurznachrichtenprotokolle wie XMPP verfügbar macht."
 
 #. type: defvr
 #: doc/guix.texi:17179
 #, no-wrap
 msgid "{Scheme Variable} bitlbee-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} bitlbee-service-type"
 
 #. type: defvr
 #: doc/guix.texi:17183
@@ -32005,57 +32021,57 @@ msgstr "Dies ist der Diensttyp für den @url{https://bitlbee.org,BitlBee-IRC-Zug
 #. type: defvr
 #: doc/guix.texi:17186
 msgid "To have BitlBee listen on port 6667 on localhost, add this line to your services:"
-msgstr ""
+msgstr "Damit BitlBee auf Port 6667 vom lokalen Rechner („localhost“) lauscht, fügen Sie diese Zeile zu Ihrem „services“-Feld hinzu:"
 
 #. type: example
 #: doc/guix.texi:17189
 #, no-wrap
 msgid "(service bitlbee-service-type)\n"
-msgstr ""
+msgstr "(service bitlbee-service-type)\n"
 
 #. type: deftp
 #: doc/guix.texi:17192
 #, no-wrap
 msgid "{Data Type} bitlbee-configuration"
-msgstr ""
+msgstr "{Datentyp} bitlbee-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17194
 msgid "This is the configuration for BitlBee, with the following fields:"
-msgstr ""
+msgstr "Dies ist die Konfiguration für BitlBee. Sie hat folgende Felder:"
 
 #. type: item
 #: doc/guix.texi:17196
 #, no-wrap
 msgid "@code{interface} (default: @code{\"127.0.0.1\"})"
-msgstr ""
+msgstr "@code{interface} (Vorgabe: @code{\"127.0.0.1\"})"
 
 #. type: itemx
 #: doc/guix.texi:17197
 #, no-wrap
 msgid "@code{port} (default: @code{6667})"
-msgstr ""
+msgstr "@code{port} (Vorgabe: @code{6667})"
 
 #. type: table
 #: doc/guix.texi:17200
 msgid "Listen on the network interface corresponding to the IP address specified in @var{interface}, on @var{port}."
-msgstr ""
+msgstr "Lauscht auf der Netzwerkschnittstelle, die der als @var{interface} angegebenen IP-Adresse entspricht, auf dem angegebenen @var{port}."
 
 #. type: table
 #: doc/guix.texi:17204
 msgid "When @var{interface} is @code{127.0.0.1}, only local clients can connect; when it is @code{0.0.0.0}, connections can come from any networking interface."
-msgstr ""
+msgstr "Wenn als @var{interface} @code{127.0.0.1} angegeben wurde, können sich nur lokale Clients verbinden; bei @code{0.0.0.0} können die Verbindungen von jeder Netzwerkschnittstelle aus hergestellt werden."
 
 #. type: item
 #: doc/guix.texi:17205
 #, no-wrap
 msgid "@code{package} (default: @code{bitlbee})"
-msgstr ""
+msgstr "@code{package} (Vorgabe: @code{bitlbee})"
 
 #. type: table
 #: doc/guix.texi:17207
 msgid "The BitlBee package to use."
-msgstr ""
+msgstr "Das zu benutzende BitlBee-Paket."
 
 #. type: item
 #: doc/guix.texi:17208
@@ -32066,18 +32082,18 @@ msgstr "@code{plugins} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:17210
 msgid "List of plugin packages to use---e.g., @code{bitlbee-discord}."
-msgstr ""
+msgstr "Die Liste zu verwendender Plugin-Pakete — z.B.@: @code{bitlbee-discord}."
 
 #. type: item
 #: doc/guix.texi:17211
 #, no-wrap
 msgid "@code{extra-settings} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{extra-settings} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:17213
 msgid "Configuration snippet added as-is to the BitlBee configuration file."
-msgstr ""
+msgstr "Ein Konfigurationsschnipsel, das wortwörtlich in die BitlBee-Konfigurationsdatei eingefügt wird."
 
 #. type: subsubheading
 #: doc/guix.texi:17216
@@ -32088,7 +32104,7 @@ msgstr "Quassel-Dienst"
 #. type: Plain text
 #: doc/guix.texi:17222
 msgid "@url{https://quassel-irc.org/,Quassel} is a distributed IRC client, meaning that one or more clients can attach to and detach from the central core."
-msgstr ""
+msgstr "@url{https://quassel-irc.org/,Quassel} ist ein verteilter IRC-Client, was bedeutet, dass sich ein oder mehr Clients mit dem zentralen Kern verbinden und die Verbindung wieder trennen können."
 
 #. type: defvr
 #: doc/guix.texi:17223
@@ -32099,7 +32115,7 @@ msgstr "{Scheme-Variable} quassel-service-type"
 #. type: defvr
 #: doc/guix.texi:17227
 msgid "This is the service type for the @url{https://quassel-irc.org/,Quassel} IRC backend daemon.  Its value is a @code{quassel-configuration} (see below)."
-msgstr ""
+msgstr "Dies ist der Diensttyp für den Daemon zum IRC-Hintergrundsystem („Backend“) @url{https://quassel-irc.org/,Quassel}. Sein Wert ist eine @code{quassel-configuration} (siehe unten)."
 
 #. type: deftp
 #: doc/guix.texi:17229
@@ -32110,7 +32126,7 @@ msgstr "{Datentyp} quassel-configuration"
 #. type: deftp
 #: doc/guix.texi:17231
 msgid "This is the configuration for Quassel, with the following fields:"
-msgstr ""
+msgstr "Die Konfiguration für Quassel mit den folgenden Feldern:"
 
 #. type: item
 #: doc/guix.texi:17233
@@ -32138,7 +32154,7 @@ msgstr "@code{port} (Vorgabe: @code{4242})"
 #. type: table
 #: doc/guix.texi:17241
 msgid "Listen on the network interface(s) corresponding to the IPv4 or IPv6 interfaces specified in the comma delimited @var{interface}, on @var{port}."
-msgstr ""
+msgstr "Lauscht auf der/den Netzwerkschnittstelle(n), die den in der kommagetrennten @var{interface}-Liste festgelegten IPv4- oder IPv6-Schnittstellen entsprechen, auf dem angegebenen @var{port}."
 
 #. type: item
 #: doc/guix.texi:17242
@@ -32149,35 +32165,35 @@ msgstr "@code{loglevel} (Vorgabe: @code{\"Info\"})"
 #. type: table
 #: doc/guix.texi:17245
 msgid "The level of logging desired.  Accepted values are Debug, Info, Warning and Error."
-msgstr ""
+msgstr "Die gewünschte Detailstufe der Protokollierung. Akzeptiert werden die Werte Debug (ausführlich zur Fehlersuche), Info, Warning (nur Warnungen und Fehler) und Error (nur Fehler)."
 
 #. type: cindex
 #: doc/guix.texi:17251
 #, no-wrap
 msgid "Murmur (VoIP server)"
-msgstr ""
+msgstr "Murmur (VoIP-Internettelefonie-Server)"
 
 #. type: cindex
 #: doc/guix.texi:17252
 #, no-wrap
 msgid "VoIP server"
-msgstr ""
+msgstr "Internettelefonie-Server (VoIP)"
 
 #. type: Plain text
 #: doc/guix.texi:17256
 msgid "This section describes how to set up and run a Murmur server.  Murmur is the server of the @uref{https://mumble.info, Mumble} voice-over-IP (VoIP) suite."
-msgstr ""
+msgstr "Dieser Abschnitt beschreibt, wie Sie einen Murmur-Server einrichten und ausführen. Murmur ist der Server zur Internettelefonie-Suite @uref{https://mumble.info, Mumble} für „Voice over IP“ (VoIP)."
 
 #. type: deftp
 #: doc/guix.texi:17257
 #, no-wrap
 msgid "{Data Type} murmur-configuration"
-msgstr ""
+msgstr "{Datentyp} murmur-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17260
 msgid "The service type for the Murmur server.  An example configuration can look like this:"
-msgstr ""
+msgstr "Der Diensttyp für den Murmur-Server. Eine Beispielkonfiguration kann so aussehen:"
 
 #. type: example
 #: doc/guix.texi:17269
@@ -32191,241 +32207,248 @@ msgid ""
 "          (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n"
 "          (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n"
 msgstr ""
+"(service murmur-service-type\n"
+"         (murmur-configuration\n"
+"          (welcome-text\n"
+"            \"Willkommen zu diesem mit Guix betriebenen Mumble-Server!\")\n"
+"          (cert-required? #t) ;Anmeldungen mit Textpasswort deaktivieren\n"
+"          (ssl-cert \"/etc/letsencrypt/live/mumble.example.com/fullchain.pem\")\n"
+"          (ssl-key \"/etc/letsencrypt/live/mumble.example.com/privkey.pem\")))\n"
 
 #. type: deftp
 #: doc/guix.texi:17273
 msgid "After reconfiguring your system, you can manually set the murmur @code{SuperUser} password with the command that is printed during the activation phase."
-msgstr ""
+msgstr "Nachdem Sie Ihr System rekonfiguriert haben, können Sie das Passwort des Murmur-Administratornutzers @code{SuperUser} mit Hilfe des Befehls von Hand festlegen, der Ihnen in Murmurs Aktivierungsphase angezeigt wird."
 
 #. type: deftp
 #: doc/guix.texi:17282
 msgid "It is recommended to register a normal Mumble user account and grant it admin or moderator rights.  You can use the @code{mumble} client to login as new normal user, register yourself, and log out.  For the next step login with the name @code{SuperUser} use the @code{SuperUser} password that you set previously, and grant your newly registered mumble user administrator or moderator rights and create some channels."
-msgstr ""
+msgstr "Es wird empfohlen, ein normales Mumble-Benutzerkonto zu registrieren und mit Administrator- oder Moderatorrechten auszustatten. Sie können auch das Clientprogramm @code{mumble} benutzen, um sich als neuer normaler Benutzer anzumelden und zu registrieren, und sich dann abmelden. Im nächsten Schritt melden Sie sich mit dem Benutzernamen @code{SuperUser} mit dem vorher festgelegten @code{SuperUser}-Passwort an und statten Ihren registrierten Mumble-Benutzer mit Administrator- oder Moderatorrechten aus oder erzeugen ein paar Kanäle."
 
 #. type: deftp
 #: doc/guix.texi:17284
 msgid "Available @code{murmur-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{murmur-configuration}-Felder sind:"
 
 #. type: item
 #: doc/guix.texi:17286
 #, no-wrap
 msgid "@code{package} (default: @code{mumble})"
-msgstr ""
+msgstr "@code{package} (Vorgabe: @code{mumble})"
 
 #. type: table
 #: doc/guix.texi:17288
 msgid "Package that contains @code{bin/murmurd}."
-msgstr ""
+msgstr "Das Paket, das @code{bin/murmurd} enthält."
 
 #. type: item
 #: doc/guix.texi:17289
 #, no-wrap
 msgid "@code{user} (default: @code{\"murmur\"})"
-msgstr ""
+msgstr "@code{user} (Vorgabe: @code{\"murmur\"})"
 
 #. type: table
 #: doc/guix.texi:17291
 msgid "User who will run the Murmur server."
-msgstr ""
+msgstr "Der Benutzer, der den Murmur-Server ausführt."
 
 #. type: item
 #: doc/guix.texi:17292
 #, no-wrap
 msgid "@code{group} (default: @code{\"murmur\"})"
-msgstr ""
+msgstr "@code{group} (Vorgabe: @code{\"murmur\"})"
 
 #. type: table
 #: doc/guix.texi:17294
 msgid "Group of the user who will run the murmur server."
-msgstr ""
+msgstr "Die Gruppe des Benutzers, der den Murmur-Server ausführt."
 
 #. type: item
 #: doc/guix.texi:17295
 #, no-wrap
 msgid "@code{port} (default: @code{64738})"
-msgstr ""
+msgstr "@code{port} (Vorgabe: @code{64738})"
 
 #. type: table
 #: doc/guix.texi:17297
 msgid "Port on which the server will listen."
-msgstr ""
+msgstr "Der Port, auf dem der Server lauschen wird."
 
 #. type: item
 #: doc/guix.texi:17298
 #, no-wrap
 msgid "@code{welcome-text} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{welcome-text} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:17300
 msgid "Welcome text sent to clients when they connect."
-msgstr ""
+msgstr "Der Willkommenstext, der an Clients geschickt wird, sobald sie eine Verbindung aufgebaut haben."
 
 #. type: item
 #: doc/guix.texi:17301
 #, no-wrap
 msgid "@code{server-password} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{server-password} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:17303
 msgid "Password the clients have to enter in order to connect."
-msgstr ""
+msgstr "Das Passwort, das Clients eingeben müssen, um sich verbinden zu können."
 
 #. type: item
 #: doc/guix.texi:17304
 #, no-wrap
 msgid "@code{max-users} (default: @code{100})"
-msgstr ""
+msgstr "@code{max-users} (Vorgabe: @code{100})"
 
 #. type: table
 #: doc/guix.texi:17306
 msgid "Maximum of users that can be connected to the server at once."
-msgstr ""
+msgstr "Die Maximalzahl von Nutzern, die gleichzeitig mit dem Server verbunden sein können."
 
 #. type: item
 #: doc/guix.texi:17307
 #, no-wrap
 msgid "@code{max-user-bandwidth} (default: @code{#f})"
-msgstr ""
+msgstr "@code{max-user-bandwidth} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17309
 msgid "Maximum voice traffic a user can send per second."
-msgstr ""
+msgstr "Wieviele Stimmdaten ein Benutzer pro Sekunde versenden kann."
 
 #. type: item
 #: doc/guix.texi:17310
 #, no-wrap
 msgid "@code{database-file} (default: @code{\"/var/lib/murmur/db.sqlite\"})"
-msgstr ""
+msgstr "@code{database-file} (Vorgabe: @code{\"/var/lib/murmur/db.sqlite\"})"
 
 #. type: table
 #: doc/guix.texi:17313
 msgid "File name of the sqlite database.  The service's user will become the owner of the directory."
-msgstr ""
+msgstr "Der Dateiname der SQLite-Datenbank. Das Benutzerkonto für den Dienst wird Besitzer des Verzeichnisses."
 
 #. type: item
 #: doc/guix.texi:17314
 #, no-wrap
 msgid "@code{log-file} (default: @code{\"/var/log/murmur/murmur.log\"})"
-msgstr ""
+msgstr "@code{log-file} (Vorgabe: @code{\"/var/log/murmur/murmur.log\"})"
 
 #. type: table
 #: doc/guix.texi:17317
 msgid "File name of the log file.  The service's user will become the owner of the directory."
-msgstr ""
+msgstr "Der Dateiname der Protokolldatei. Das Benutzerkonto für den Dienst wird Besitzer des Verzeichnisses."
 
 #. type: item
 #: doc/guix.texi:17318
 #, no-wrap
 msgid "@code{autoban-attempts} (default: @code{10})"
-msgstr ""
+msgstr "@code{autoban-attempts} (Vorgabe: @code{10})"
 
 #. type: table
 #: doc/guix.texi:17321
 msgid "Maximum number of logins a user can make in @code{autoban-timeframe} without getting auto banned for @code{autoban-time}."
-msgstr ""
+msgstr "Wie oft sich ein Benutzer innerhalb des in @code{autoban-timeframe} angegebenen Zeitrahmens verbinden kann, ohne automatisch für die in  @code{autoban-time} angegebene Zeit vom Server verbannt zu werden."
 
 #. type: item
 #: doc/guix.texi:17322
 #, no-wrap
 msgid "@code{autoban-timeframe} (default: @code{120})"
-msgstr ""
+msgstr "@code{autoban-timeframe} (Vorgabe: @code{120})"
 
 #. type: table
 #: doc/guix.texi:17324
 msgid "Timeframe for autoban in seconds."
-msgstr ""
+msgstr "Der Zeitrahmen für automatisches Bannen in Sekunden."
 
 #. type: item
 #: doc/guix.texi:17325
 #, no-wrap
 msgid "@code{autoban-time} (default: @code{300})"
-msgstr ""
+msgstr "@code{autoban-time} (Vorgabe: @code{300})"
 
 #. type: table
 #: doc/guix.texi:17328
 msgid "Amount of time in seconds for which a client gets banned when violating the autoban limits."
-msgstr ""
+msgstr "Wie lange in Sekunden ein Client gebannt wird, wenn er die Autobann-Beschränkungen überschreitet."
 
 #. type: item
 #: doc/guix.texi:17329
 #, no-wrap
 msgid "@code{opus-threshold} (default: @code{100})"
-msgstr ""
+msgstr "@code{opus-threshold} (Vorgabe: @code{100})"
 
 #. type: table
 #: doc/guix.texi:17332
 msgid "Percentage of clients that need to support opus before switching over to opus audio codec."
-msgstr ""
+msgstr "Der Prozentanteil der Clients, die Opus unterstützen müssen, bevor der Opus-Audiocodec verwendet wird."
 
 #. type: item
 #: doc/guix.texi:17333
 #, no-wrap
 msgid "@code{channel-nesting-limit} (default: @code{10})"
-msgstr ""
+msgstr "@code{channel-nesting-limit} (Vorgabe: @code{10})"
 
 #. type: table
 #: doc/guix.texi:17335
 msgid "How deep channels can be nested at maximum."
-msgstr ""
+msgstr "Wie tief Kanäle höchstens ineinander genistet sein können."
 
 #. type: item
 #: doc/guix.texi:17336
 #, no-wrap
 msgid "@code{channelname-regex} (default: @code{#f})"
-msgstr ""
+msgstr "@code{channelname-regex} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17338
 msgid "A string in form of a Qt regular expression that channel names must conform to."
-msgstr ""
+msgstr "Eine Zeichenkette in Form eines regulären Ausdrucks von Qt, zu dem Kanalnamen passen müssen."
 
 #. type: item
 #: doc/guix.texi:17339
 #, no-wrap
 msgid "@code{username-regex} (default: @code{#f})"
-msgstr ""
+msgstr "@code{username-regex} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17341
 msgid "A string in form of a Qt regular expression that user names must conform to."
-msgstr ""
+msgstr "Eine Zeichenkette in Form eines regulären Ausdrucks von Qt, zu dem Nutzernamen passen müssen."
 
 #. type: item
 #: doc/guix.texi:17342
 #, no-wrap
 msgid "@code{text-message-length} (default: @code{5000})"
-msgstr ""
+msgstr "@code{text-message-length} (Vorgabe: @code{5000})"
 
 #. type: table
 #: doc/guix.texi:17344
 msgid "Maximum size in bytes that a user can send in one text chat message."
-msgstr ""
+msgstr "Wieviele Bytes ein Benutzer höchstens in einer Textchatnachricht verschicken kann."
 
 #. type: item
 #: doc/guix.texi:17345
 #, no-wrap
 msgid "@code{image-message-length} (default: @code{(* 128 1024)})"
-msgstr ""
+msgstr "@code{image-message-length} (Vorgabe: @code{(* 128 1024)})"
 
 #. type: table
 #: doc/guix.texi:17347
 msgid "Maximum size in bytes that a user can send in one image message."
-msgstr ""
+msgstr "Wieviele Bytes ein Benutzer höchstens in einer Bildnachricht verschicken kann."
 
 #. type: item
 #: doc/guix.texi:17348
 #, no-wrap
 msgid "@code{cert-required?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{cert-required?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17351
 msgid "If it is set to @code{#t} clients that use weak password authentification will not be accepted. Users must have completed the certificate wizard to join."
-msgstr ""
+msgstr "Falls dies auf @code{#t} gesetzt ist, werden Clients abgelehnt, die sich bloß mit Passwörtern authentizieren. Benutzer müssen den Zertifikatsassistenten abgeschlossen haben, bevor sie sich verbinden können."
 
 #. type: item
 #: doc/guix.texi:17352
@@ -32436,67 +32459,67 @@ msgstr "@code{remember-channel?} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:17355
 msgid "Should murmur remember the last channel each user was in when they disconnected and put them into the remembered channel when they rejoin."
-msgstr ""
+msgstr "Ob sich Murmur für jeden Nutzer den Kanal merken sollte, auf dem er sich zuletzt befunden hat, als er die Verbindung getrennt hat, so dass er wieder auf dem gemerkten Kanal landet, wenn er dem Server wieder beitritt."
 
 #. type: item
 #: doc/guix.texi:17356
 #, no-wrap
 msgid "@code{allow-html?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{allow-html?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17358
 msgid "Should html be allowed in text messages, user comments, and channel descriptions."
-msgstr ""
+msgstr "Ob HTML in Textnachrichten, Nutzerkommentaren und Kanalbeschreibungen zugelassen wird."
 
 #. type: item
 #: doc/guix.texi:17359
 #, no-wrap
 msgid "@code{allow-ping?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{allow-ping?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17363
 msgid "Setting to true exposes the current user count, the maximum user count, and the server's maximum bandwidth per client to unauthenticated users. In the Mumble client, this information is shown in the Connect dialog."
-msgstr ""
+msgstr "Wenn es auf wahr gesetzt ist, wird an nicht angemeldete Anwender die momentane Benutzerzahl, die maximale Benutzerzahl und die maximale Bandbreite pro Benutzer übermittelt. Im Mumble-Client werden diese Informationen im Verbinden-Dialog angezeigt."
 
 #. type: table
 #: doc/guix.texi:17365
 msgid "Disabling this setting will prevent public listing of the server."
-msgstr ""
+msgstr "Wenn diese Einstellung deaktiviert ist, wird der Server nicht in der öffentlichen Serverliste aufgeführt."
 
 #. type: item
 #: doc/guix.texi:17366
 #, no-wrap
 msgid "@code{bonjour?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{bonjour?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17368
 msgid "Should the server advertise itself in the local network through the bonjour protocol."
-msgstr ""
+msgstr "Ob der Server im lokalen Netzwerk anderen über das Bonjour-Protokoll mitgeteilt werden soll."
 
 #. type: item
 #: doc/guix.texi:17369
 #, no-wrap
 msgid "@code{send-version?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{send-version?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17371
 msgid "Should the murmur server version be exposed in ping requests."
-msgstr ""
+msgstr "Ob die Murmur-Serverversion Clients gegenüber in Ping-Anfragen mitgeteilt werden soll."
 
 #. type: item
 #: doc/guix.texi:17372
 #, no-wrap
 msgid "@code{log-days} (default: @code{31})"
-msgstr ""
+msgstr "@code{log-days} (Vorgabe: @code{31})"
 
 #. type: table
 #: doc/guix.texi:17376
 msgid "Murmur also stores logs in the database, which are accessible via RPC.  The default is 31 days of months, but you can set this setting to 0 to keep logs forever, or -1 to disable logging to the database."
-msgstr ""
+msgstr "Murmur führt in der Datenbank Protokolle, auf die über entfernte Prozeduraufrufe („Remote Procedure Calls“, kurz RPC) zugegriffen werden kann. Nach Vorgabe bleiben diese 31 Tage lang erhalten, aber sie können diese Einstellung auf 0 setzen, damit sie ewig gespeichert werden, oder auf -1, um @emph{keine} Protokolle in die Datenbank zu schreiben."
 
 #. type: item
 #: doc/guix.texi:17377
@@ -32507,186 +32530,186 @@ msgstr "@code{obfuscate-ips?} (Vorgabe: @code{#t})"
 #. type: table
 #: doc/guix.texi:17379
 msgid "Should logged ips be obfuscated to protect the privacy of users."
-msgstr ""
+msgstr "Ob IP-Adressen in Protokollen anonymisiert werden sollen, um die Privatsphäre von Nutzern zu schützen."
 
 #. type: item
 #: doc/guix.texi:17380
 #, no-wrap
 msgid "@code{ssl-cert} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ssl-cert} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17382
 msgid "File name of the SSL/TLS certificate used for encrypted connections."
-msgstr ""
+msgstr "Der Dateiname des SSL-/TLS-Zertifikats, das für verschlüsselte Verbindungen benutzt werden soll."
 
 #. type: example
 #: doc/guix.texi:17385
 #, no-wrap
 msgid "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n"
-msgstr ""
+msgstr "(ssl-cert \"/etc/letsencrypt/live/example.com/fullchain.pem\")\n"
 
 #. type: item
 #: doc/guix.texi:17386
 #, no-wrap
 msgid "@code{ssl-key} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ssl-key} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17388
 msgid "Filepath to the ssl private key used for encrypted connections."
-msgstr ""
+msgstr "Dateipfad zum privaten Schlüssel für SSL, was für verschlüsselte Verbindungen benutzt wird."
 
 #. type: example
 #: doc/guix.texi:17390
 #, no-wrap
 msgid "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n"
-msgstr ""
+msgstr "(ssl-key \"/etc/letsencrypt/live/example.com/privkey.pem\")\n"
 
 #. type: item
 #: doc/guix.texi:17392
 #, no-wrap
 msgid "@code{ssl-dh-params} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ssl-dh-params} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17397
 msgid "File name of a PEM-encoded file with Diffie-Hellman parameters for the SSL/TLS encryption.  Alternatively you set it to @code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} or @code{\"@@ffdhe8192\"} to use bundled parameters from RFC 7919."
-msgstr ""
+msgstr "Dateiname einer PEM-kodierten Datei mit Diffie-Hellman-Parametern für die SSL-/TLS-Verschlüsselung. Alternativ setzen Sie ihn auf @code{\"@@ffdhe2048\"}, @code{\"@@ffdhe3072\"}, @code{\"@@ffdhe4096\"}, @code{\"@@ffdhe6144\"} oder @code{\"@@ffdhe8192\"}, wodurch die mitgelieferten Parameter aus RFC 7919 genutzt werden."
 
 #. type: item
 #: doc/guix.texi:17398
 #, no-wrap
 msgid "@code{ssl-ciphers} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ssl-ciphers} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17401
 msgid "The @code{ssl-ciphers} option chooses the cipher suites to make available for use in SSL/TLS."
-msgstr ""
+msgstr "Die Option @code{ssl-ciphers} wählt aus, welche Cipher-Suites zur Verwendung in SSL/TLS verfügbar sein sollen."
 
 #. type: table
 #: doc/guix.texi:17405
 msgid "This option is specified using @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL cipher list notation}."
-msgstr ""
+msgstr "Diese Option wird in der @uref{https://www.openssl.org/docs/apps/ciphers.html#CIPHER-LIST-FORMAT, OpenSSL-Notation für Cipher-Listen} angegeben."
 
 #. type: table
 #: doc/guix.texi:17410
 msgid "It is recommended that you try your cipher string using 'openssl ciphers <string>' before setting it here, to get a feel for which cipher suites you will get.  After setting this option, it is recommend that you inspect your Murmur log to ensure that Murmur is using the cipher suites that you expected it to."
-msgstr ""
+msgstr "Es wird empfohlen, dass Sie Ihre Cipher-Zeichenkette mit „openssl ciphers <Zeichenkette>“ prüfen, bevor Sie sie hier einsetzen, um ein Gefühl dafür zu bekommen, was für eine Cipher-Suite sie damit bekommen. Nachdem Sie diese Option festgelegt haben, wird empfohlen, dass Sie Ihr Murmur-Protokoll durchsehen und sicherstellen, dass Murmur auch wirklich die Cipher-Suites benutzt, die Sie erwarten."
 
 #. type: table
 #: doc/guix.texi:17414
 msgid "Note: Changing this option may impact the backwards compatibility of your Murmur server, and can remove the ability for older Mumble clients to be able to connect to it."
-msgstr ""
+msgstr "Beachten Sie: Änderungen hieran können die Rückwärtskompatibilität Ihres Murmur-Servers beeinträchtigen; dadurch kann es für ältere Mumblie-Clients unmöglich werden, sich damit zu verbinden."
 
 #. type: item
 #: doc/guix.texi:17415
 #, no-wrap
 msgid "@code{public-registration} (default: @code{#f})"
-msgstr ""
+msgstr "@code{public-registration} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17417
 msgid "Must be a @code{<murmur-public-registration-configuration>} record or @code{#f}."
-msgstr ""
+msgstr "Hier muss ein @code{<murmur-public-registration-configuration>}-Verbundsobjekt oder @code{#f} angegeben werden."
 
 #. type: table
 #: doc/guix.texi:17422
 msgid "You can optionally register your server in the public server list that the @code{mumble} client shows on startup.  You cannot register your server if you have set a @code{server-password}, or set @code{allow-ping} to @code{#f}."
-msgstr ""
+msgstr "Sie können Ihren Server optional in die öffentliche Serverliste eintragen lassen, die der Mumble-Client @code{mumble} beim Start anzeigt. Sie können Ihren Server nicht registrieren, wenn Sie ein @code{server-password} festgelegt oder @code{allow-ping} auf @code{#f} gesetzt haben."
 
 #. type: table
 #: doc/guix.texi:17424
 msgid "It might take a few hours until it shows up in the public list."
-msgstr ""
+msgstr "Es könnte ein paar Stunden dauern, bis er in der öffentlichen Liste zu finden ist."
 
 #. type: item
 #: doc/guix.texi:17425 doc/guix.texi:18856
 #, no-wrap
 msgid "@code{file} (default: @code{#f})"
-msgstr ""
+msgstr "@code{file} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17427
 msgid "Optional alternative override for this configuration."
-msgstr ""
+msgstr "Optional kann hier eine vorrangig benutzte alternative Konfiguration festgelegt werden."
 
 #. type: deftp
 #: doc/guix.texi:17430
 #, no-wrap
 msgid "{Data Type} murmur-public-registration-configuration"
-msgstr ""
+msgstr "{Datentyp} murmur-public-registration-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17432
 msgid "Configuration for public registration of a murmur service."
-msgstr ""
+msgstr "Konfiguration für das öffentliche Registrieren eines Murmur-Dienstes."
 
 #. type: table
 #: doc/guix.texi:17436
 msgid "This is a display name for your server. Not to be confused with the hostname."
-msgstr ""
+msgstr "Dies ist ein Anzeigename für Ihren Server. Er ist nicht zu verwechseln mit dem Rechnernamen („Hostname“)."
 
 #. type: itemx
 #: doc/guix.texi:17437 doc/guix.texi:23817
 #, no-wrap
 msgid "password"
-msgstr ""
+msgstr "password"
 
 #. type: table
 #: doc/guix.texi:17440
 msgid "A password to identify your registration.  Subsequent updates will need the same password. Don't lose your password."
-msgstr ""
+msgstr "Ein Passwort, um Ihre Registrierung zu identifizieren. Nachfolgende Aktualisierungen müssen dasselbe Passwort benutzen. Verlieren Sie Ihr Passwort nicht."
 
 #. type: code{#1}
 #: doc/guix.texi:17441
 #, no-wrap
 msgid "url"
-msgstr ""
+msgstr "url"
 
 #. type: table
 #: doc/guix.texi:17444
 msgid "This should be a @code{http://} or @code{https://} link to your web site."
-msgstr ""
+msgstr "Dies sollte ein Link mit @code{http://} oder @code{https://} auf Ihren Webauftritt sein."
 
 #. type: item
 #: doc/guix.texi:17445
 #, no-wrap
 msgid "@code{hostname} (default: @code{#f})"
-msgstr ""
+msgstr "@code{hostname} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17448
 msgid "By default your server will be listed by its IP address.  If it is set your server will be linked by this host name instead."
-msgstr ""
+msgstr "Nach Vorgabe wird Ihr Server über seine IP-Adresse aufgeführt. Wenn dies gesetzt ist, wird er stattdessen mit diesem Rechnernamen verknüpft."
 
 #. type: subsubheading
 #: doc/guix.texi:17456
 #, no-wrap
 msgid "Tailon Service"
-msgstr ""
+msgstr "Tailon-Dienst"
 
 #. type: Plain text
 #: doc/guix.texi:17460
 msgid "@uref{https://tailon.readthedocs.io/, Tailon} is a web application for viewing and searching log files."
-msgstr ""
+msgstr "@uref{https://tailon.readthedocs.io/, Tailon} ist eine Web-Anwendung, um Protokolldateien zu betrachten und zu durchsuchen."
 
 #. type: Plain text
 #: doc/guix.texi:17463
 msgid "The following example will configure the service with default values.  By default, Tailon can be accessed on port 8080 (@code{http://localhost:8080})."
-msgstr ""
+msgstr "Das folgende Beispiel zeigt, wie Sie den Dienst mit den Vorgabewerten konfigurieren. Nach Vorgabe kann auf Tailon auf Port 8080 zugegriffen werden (@code{http://localhost:8080})."
 
 #. type: example
 #: doc/guix.texi:17466
 #, no-wrap
 msgid "(service tailon-service-type)\n"
-msgstr ""
+msgstr "(service tailon-service-type)\n"
 
 #. type: Plain text
 #: doc/guix.texi:17470
 msgid "The following example customises more of the Tailon configuration, adding @command{sed} to the list of allowed commands."
-msgstr ""
+msgstr "Im folgenden Beispiel werden mehr Anpassungen an der Tailon-Konfiguration vorgenommen: @command{sed} gehört dort auch zur Liste der erlaubten Befehle dazu."
 
 #. type: example
 #: doc/guix.texi:17477
@@ -32698,33 +32721,38 @@ msgid ""
 "             (tailon-configuration-file\n"
 "               (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"
 msgstr ""
+"(service tailon-service-type\n"
+"         (tailon-configuration\n"
+"           (config-file\n"
+"             (tailon-configuration-file\n"
+"               (allowed-commands '(\"tail\" \"grep\" \"awk\" \"sed\"))))))\n"
 
 #. type: deftp
 #: doc/guix.texi:17480
 #, no-wrap
 msgid "{Data Type} tailon-configuration"
-msgstr ""
+msgstr "{Datentyp} tailon-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17483
 msgid "Data type representing the configuration of Tailon.  This type has the following parameters:"
-msgstr ""
+msgstr "Der Datentyp, der die Konfiguration von Tailon repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:17485
 #, no-wrap
 msgid "@code{config-file} (default: @code{(tailon-configuration-file)})"
-msgstr ""
+msgstr "@code{config-file} (Vorgabe: @code{(tailon-configuration-file)})"
 
 #. type: table
 #: doc/guix.texi:17489
 msgid "The configuration file to use for Tailon. This can be set to a @dfn{tailon-configuration-file} record value, or any gexp (@pxref{G-Expressions})."
-msgstr ""
+msgstr "Die Konfigurationsdatei, die für Tailon benutzt werden soll. Als Wert kann ein @dfn{tailon-configuration-file}-Verbundsobjekt oder ein beliebiger G-Ausdruck dienen (siehe @ref{G-Expressions})."
 
 #. type: table
 #: doc/guix.texi:17492
 msgid "For example, to instead use a local file, the @code{local-file} function can be used:"
-msgstr ""
+msgstr "Um zum Beispiel stattdessen eine lokale Datei zu benutzen, kann von der Funktion @code{local-file} Gebrauch gemacht werden."
 
 #. type: example
 #: doc/guix.texi:17497
@@ -32734,149 +32762,152 @@ msgid ""
 "         (tailon-configuration\n"
 "           (config-file (local-file \"./my-tailon.conf\"))))\n"
 msgstr ""
+"(service tailon-service-type\n"
+"         (tailon-configuration\n"
+"           (config-file (local-file \"./my-tailon.conf\"))))\n"
 
 #. type: item
 #: doc/guix.texi:17499
 #, no-wrap
 msgid "@code{package} (default: @code{tailon})"
-msgstr ""
+msgstr "@code{package} (Vorgabe: @code{tailon})"
 
 #. type: table
 #: doc/guix.texi:17501
 msgid "The tailon package to use."
-msgstr ""
+msgstr "Das tailon-Paket, das benutzt werden soll."
 
 #. type: deftp
 #: doc/guix.texi:17505
 #, no-wrap
 msgid "{Data Type} tailon-configuration-file"
-msgstr ""
+msgstr "{Datentyp} tailon-configuration-file"
 
 #. type: deftp
 #: doc/guix.texi:17508
 msgid "Data type representing the configuration options for Tailon.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfigurationsoptionen für Tailon repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:17510
 #, no-wrap
 msgid "@code{files} (default: @code{(list \"/var/log\")})"
-msgstr ""
+msgstr "@code{files} (Vorgabe: @code{(list \"/var/log\")})"
 
 #. type: table
 #: doc/guix.texi:17515
 msgid "List of files to display. The list can include strings for a single file or directory, or a list, where the first item is the name of a subsection, and the remaining items are the files or directories in that subsection."
-msgstr ""
+msgstr "Die Liste der anzuzeigenden Dateien. In der Liste dürfen Zeichenketten stehen, die jeweils für eine einzelne Datei oder ein Verzeichnis stehen, oder auch Listen, deren erstes Element den Namen eines Unterbereichs angibt und deren übrige Elemente die Dateien oder Verzeichnisse in diesem Unterbereich benennen."
 
 #. type: item
 #: doc/guix.texi:17516
 #, no-wrap
 msgid "@code{bind} (default: @code{\"localhost:8080\"})"
-msgstr ""
+msgstr "@code{bind} (Vorgabe: @code{\"localhost:8080\"})"
 
 #. type: table
 #: doc/guix.texi:17518
 msgid "Address and port to which Tailon should bind on."
-msgstr ""
+msgstr "Adresse und Port, an die sich Tailon binden soll."
 
 #. type: item
 #: doc/guix.texi:17519
 #, no-wrap
 msgid "@code{relative-root} (default: @code{#f})"
-msgstr ""
+msgstr "@code{relative-root} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17521
 msgid "URL path to use for Tailon, set to @code{#f} to not use a path."
-msgstr ""
+msgstr "Welcher URL-Pfad für Tailon benutzt werden soll. Wenn Sie hierfür @code{#f} angeben, wird kein Pfad benutzt."
 
 #. type: item
 #: doc/guix.texi:17522
 #, no-wrap
 msgid "@code{allow-transfers?} (default: @code{#t})"
-msgstr ""
+msgstr "@code{allow-transfers?} (Vorgabe: @code{#t})"
 
 #. type: table
 #: doc/guix.texi:17524
 msgid "Allow downloading the log files in the web interface."
-msgstr ""
+msgstr "Ob es möglich sein soll, die Protokolldateien über die Weboberfläche herunterzuladen."
 
 #. type: item
 #: doc/guix.texi:17525
 #, no-wrap
 msgid "@code{follow-names?} (default: @code{#t})"
-msgstr ""
+msgstr "@code{follow-names?} (Vorgabe: @code{#t})"
 
 #. type: table
 #: doc/guix.texi:17527
 msgid "Allow tailing of not-yet existent files."
-msgstr ""
+msgstr "Ob noch nicht existierende Dateien „getailt“ werden können."
 
 #. type: item
 #: doc/guix.texi:17528
 #, no-wrap
 msgid "@code{tail-lines} (default: @code{200})"
-msgstr ""
+msgstr "@code{tail-lines} (Vorgabe: @code{200})"
 
 #. type: table
 #: doc/guix.texi:17530
 msgid "Number of lines to read initially from each file."
-msgstr ""
+msgstr "Wieviele Zeilen am Anfang aus jeder Datei gelesen werden."
 
 #. type: item
 #: doc/guix.texi:17531
 #, no-wrap
 msgid "@code{allowed-commands} (default: @code{(list \"tail\" \"grep\" \"awk\")})"
-msgstr ""
+msgstr "@code{allowed-commands} (Vorgabe: @code{(list \"tail\" \"grep\" \"awk\")})"
 
 #. type: table
 #: doc/guix.texi:17533
 msgid "Commands to allow running. By default, @code{sed} is disabled."
-msgstr ""
+msgstr "Welche Befehle ausgeführt werden dürfen. Nach Vorgabe wird @code{sed} @emph{nicht} erlaubt."
 
 #. type: item
 #: doc/guix.texi:17534
 #, no-wrap
 msgid "@code{debug?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{debug?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17536
 msgid "Set @code{debug?} to @code{#t} to show debug messages."
-msgstr ""
+msgstr "Legen Sie @code{debug?} als @code{#t} fest, um Nachrichten zur Fehlersuche anzuzeigen."
 
 #. type: item
 #: doc/guix.texi:17537
 #, no-wrap
 msgid "@code{wrap-lines} (default: @code{#t})"
-msgstr ""
+msgstr "@code{wrap-lines} (Vorgabe: @code{#t})"
 
 #. type: table
 #: doc/guix.texi:17541
 msgid "Initial line wrapping state in the web interface. Set to @code{#t} to initially wrap lines (the default), or to @code{#f} to initially not wrap lines."
-msgstr ""
+msgstr "Ob lange Zeilen nach der Anfangseinstellung in der Weboberfläche umgebrochen werden sollen. Setzen Sie es auf @code{#t}, werden Zeilen in der Anfangseinstellung umgebrochen (die Vorgabe), bei @code{#f} werden sie anfänglich nicht umgebrochen."
 
 #. type: item
 #: doc/guix.texi:17542
 #, no-wrap
 msgid "@code{http-auth} (default: @code{#f})"
-msgstr ""
+msgstr "@code{http-auth} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17546
 msgid "HTTP authentication type to use. Set to @code{#f} to disable authentication (the default). Supported values are @code{\"digest\"} or @code{\"basic\"}."
-msgstr ""
+msgstr "Welcher HTTP-Authentifizierungstyp benutzt werden soll. Setzen Sie dies auf @code{#f}, damit sich Benutzer nicht authentizieren müssen (die Vorgabe). Unterstützte Werte sind @code{\"digest\"} oder @code{\"basic\"}."
 
 #. type: item
 #: doc/guix.texi:17547
 #, no-wrap
 msgid "@code{users} (default: @code{#f})"
-msgstr ""
+msgstr "@code{users} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:17552
 msgid "If HTTP authentication is enabled (see @code{http-auth}), access will be restricted to the credentials provided here. To configure users, use a list of pairs, where the first element of the pair is the username, and the 2nd element of the pair is the password."
-msgstr ""
+msgstr "Wenn HTTP-Authentifizierung aktiviert ist (siehe @code{http-auth}), wird der Zugriff nur gewährt, nachdem die hier angegebenen Zugangsinformationen eingegeben wurden. Um Nutzer hinzuzufügen, geben Sie hier eine Liste von Paaren an, deren erstes Element jeweils der Benutzername und deren zweites Element das Passwort ist."
 
 #. type: example
 #: doc/guix.texi:17558
@@ -32887,34 +32918,38 @@ msgid ""
 "  (users     '((\"user1\" . \"password1\")\n"
 "               (\"user2\" . \"password2\"))))\n"
 msgstr ""
+"(tailon-configuration-file\n"
+"  (http-auth \"basic\")\n"
+"  (users     '((\"benutzer1\" . \"passwort1\")\n"
+"               (\"benutzer2\" . \"passwort2\"))))\n"
 
 #. type: subsubheading
 #: doc/guix.texi:17564
 #, no-wrap
 msgid "Darkstat Service"
-msgstr ""
+msgstr "Darkstat-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:17565
 #, no-wrap
 msgid "darkstat"
-msgstr ""
+msgstr "darkstat"
 
 #. type: Plain text
 #: doc/guix.texi:17568
 msgid "Darkstat is a packet sniffer that captures network traffic, calculates statistics about usage, and serves reports over HTTP."
-msgstr ""
+msgstr "Darkstat ist ein Netzwerkanalyseprogramm, das Pakete im Datenverkehr aufzeichnet, Statistiken zur Netzwerknutzung berechnet und über HTTP Berichte dazu bereitstellt."
 
 #. type: defvar
 #: doc/guix.texi:17569
 #, no-wrap
 msgid "{Scheme Variable} darkstat-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} darkstat-service-type"
 
 #. type: defvar
 #: doc/guix.texi:17574
 msgid "This is the service type for the @uref{https://unix4lyfe.org/darkstat/, darkstat} service, its value must be a @code{darkstat-configuration} record as in this example:"
-msgstr ""
+msgstr "Dies ist der Diensttyp für den @uref{https://unix4lyfe.org/darkstat/, darkstat-Dienst}. Sein Wert muss ein @code{darkstat-configuration}-Verbundsobjekt sein, wie in diesem Beispiel:"
 
 #. type: example
 #: doc/guix.texi:17579
@@ -32924,100 +32959,103 @@ msgid ""
 "         (darkstat-configuration\n"
 "           (interface \"eno1\")))\n"
 msgstr ""
+"(service darkstat-service-type\n"
+"         (darkstat-configuration\n"
+"           (interface \"eno1\")))\n"
 
 #. type: deftp
 #: doc/guix.texi:17582
 #, no-wrap
 msgid "{Data Type} darkstat-configuration"
-msgstr ""
+msgstr "{Datentyp} darkstat-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17584
 msgid "Data type representing the configuration of @command{darkstat}."
-msgstr ""
+msgstr "Datentyp, der die Konfiguration von @command{darkstat} repräsentiert."
 
 #. type: item
 #: doc/guix.texi:17586
 #, no-wrap
 msgid "@code{package} (default: @code{darkstat})"
-msgstr ""
+msgstr "@code{package} (Vorgabe: @code{darkstat})"
 
 #. type: table
 #: doc/guix.texi:17588
 msgid "The darkstat package to use."
-msgstr ""
+msgstr "Welches darkstat-Paket verwendet werden soll."
 
 #. type: code{#1}
 #: doc/guix.texi:17589
 #, no-wrap
 msgid "interface"
-msgstr ""
+msgstr "interface"
 
 #. type: table
 #: doc/guix.texi:17591
 msgid "Capture traffic on the specified network interface."
-msgstr ""
+msgstr "Datenverkehr an der angegebenen Netzwerkschnittstelle mitschneiden."
 
 #. type: item
 #: doc/guix.texi:17592
 #, no-wrap
 msgid "@code{port} (default: @code{\"667\"})"
-msgstr ""
+msgstr "@code{port} (Vorgabe: @code{\"667\"})"
 
 #. type: table
 #: doc/guix.texi:17594
 msgid "Bind the web interface to the specified port."
-msgstr ""
+msgstr "Bindet die Weboberfläche an den angegebenen Port."
 
 #. type: item
 #: doc/guix.texi:17595
 #, no-wrap
 msgid "@code{bind-address} (default: @code{\"127.0.0.1\"})"
-msgstr ""
+msgstr "@code{bind-address} (Vorgabe: @code{\"127.0.0.1\"})"
 
 #. type: table
 #: doc/guix.texi:17597 doc/guix.texi:17635
 msgid "Bind the web interface to the specified address."
-msgstr ""
+msgstr "Bindet die Weboberfläche an die angegebene Adresse."
 
 #. type: item
 #: doc/guix.texi:17598
 #, no-wrap
 msgid "@code{base} (default: @code{\"/\"})"
-msgstr ""
+msgstr "@code{base} (Vorgabe: @code{\"/\"})"
 
 #. type: table
 #: doc/guix.texi:17601
 msgid "Specify the path of the base URL.  This can be useful if @command{darkstat} is accessed via a reverse proxy."
-msgstr ""
+msgstr "Geben Sie den Pfad der Basis-URL an. Das kann nützlich sein, wenn auf @command{darkstat} über einen inversen Proxy („Reverse Proxy“) zugegriffen wird."
 
 #. type: subsubheading
 #: doc/guix.texi:17605
 #, no-wrap
 msgid "Prometheus Node Exporter Service"
-msgstr ""
+msgstr "Prometheus-Node-Exporter-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:17607
 #, no-wrap
 msgid "prometheus-node-exporter"
-msgstr ""
+msgstr "prometheus-node-exporter"
 
 #. type: Plain text
 #: doc/guix.texi:17612
 msgid "The Prometheus ``node exporter'' makes hardware and operating system statistics provided by the Linux kernel available for the Prometheus monitoring system.  This service should be deployed on all physical nodes and virtual machines, where monitoring these statistics is desirable."
-msgstr ""
+msgstr "Der Prometheus-„Node-Exporter“ stellt Statistiken über Hardware und Betriebssystem für das Prometheus-Systemüberwachungssystem bereit, die vom Linux-Kernel geliefert werden. Dieser Dienst sollte auf allen physischen Netzwerkknoten und virtuellen Maschinen installiert werden, für die eine Überwachung ihrer Statistiken gewünscht wird."
 
 #. type: defvar
 #: doc/guix.texi:17613
 #, no-wrap
 msgid "{Scheme variable} prometheus-node-exporter-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} prometheus-node-exporter-service-type"
 
 #. type: defvar
 #: doc/guix.texi:17618
 msgid "This is the service type for the @uref{https://github.com/prometheus/node_exporter/, prometheus-node-exporter} service, its value must be a @code{prometheus-node-exporter-configuration} record as in this example:"
-msgstr ""
+msgstr "Dies ist der Diensttyp für den @uref{https://github.com/prometheus/node_exporter/, „prometheus-node-exporter“-Dienst}. Sein Wert muss ein @code{prometheus-node-exporter-configuration}-Verbundsobjekt wie in diesem Beispiel sein:"
 
 #. type: example
 #: doc/guix.texi:17623
@@ -33027,12 +33065,15 @@ msgid ""
 "         (prometheus-node-exporter-configuration\n"
 "           (web-listen-address \":9100\")))\n"
 msgstr ""
+"(service prometheus-node-exporter-service-type\n"
+"         (prometheus-node-exporter-configuration\n"
+"           (web-listen-address \":9100\")))\n"
 
 #. type: deftp
 #: doc/guix.texi:17626
 #, no-wrap
 msgid "{Data Type} prometheus-node-exporter-configuration"
-msgstr ""
+msgstr "{Datentyp} prometheus-node-exporter-configuration"
 
 #. type: deftp
 #: doc/guix.texi:17628
@@ -33066,71 +33107,71 @@ msgstr "Zabbix-Server"
 #: doc/guix.texi:17640
 #, no-wrap
 msgid "zabbix zabbix-server"
-msgstr ""
+msgstr "Zabbix, Zabbix-Server"
 
 #. type: Plain text
 #: doc/guix.texi:17643
 msgid "Zabbix provides monitoring metrics, among others network utilization, CPU load and disk space consumption:"
-msgstr ""
+msgstr "Zabbix stellt Metriken zur Systemüberwachung zur Verfügung, unter anderem die Netzwerk- und Prozessorauslastung sowie den Plattenplatzverbrauch, und bietet dabei:"
 
 #. type: item
 #: doc/guix.texi:17645
 #, no-wrap
 msgid "High performance, high capacity (able to monitor hundreds of thousands of devices)."
-msgstr ""
+msgstr "Hohe Leistungsfähigkeit und hohe Kapazität (hunderttausende Geräte können überwacht werden)."
 
 #. type: item
 #: doc/guix.texi:17646
 #, no-wrap
 msgid "Auto-discovery of servers and network devices and interfaces."
-msgstr ""
+msgstr "Automatische Erkennung von Servern, Netzwerkgeräten und -schnittstellen."
 
 #. type: item
 #: doc/guix.texi:17647
 #, no-wrap
 msgid "Low-level discovery, allows to automatically start monitoring new items, file systems or network interfaces among others."
-msgstr ""
+msgstr "Systemnahe Erkennung, wodurch automatisch mit der Überwachung neuer Objekte, Dateisysteme, Netzwerkschnittstellen und anderer Dinge begonnen werden kann."
 
 #. type: item
 #: doc/guix.texi:17648
 #, no-wrap
 msgid "Distributed monitoring with centralized web administration."
-msgstr ""
+msgstr "Verteilte Überwachung mit zentralisierter Web-Administrierbarkeit."
 
 #. type: item
 #: doc/guix.texi:17649
 #, no-wrap
 msgid "Native high performance agents."
-msgstr ""
+msgstr "Native Hochleistungsagenten."
 
 #. type: item
 #: doc/guix.texi:17650
 #, no-wrap
 msgid "SLA, and ITIL KPI metrics on reporting."
-msgstr ""
+msgstr "Berichte zum SLA und über ITIL-KPI-Metriken."
 
 #. type: item
 #: doc/guix.texi:17651
 #, no-wrap
 msgid "High-level (business) view of monitored resources through user-defined visual console screens and dashboards."
-msgstr ""
+msgstr "Überblickssicht (geschäftlich) auf die überwachten Ressourcen über benutzerdefinierte visuelle Konsolenbildschirme und Dashboards."
 
 #. type: item
 #: doc/guix.texi:17652
 #, no-wrap
 msgid "Remote command execution through Zabbix proxies."
-msgstr ""
+msgstr "Entfernte Befehlsausführung über Zabbix-Proxys."
 
 #. type: Plain text
 #: doc/guix.texi:17658
 msgid "Available @code{zabbix-server-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{zabbix-server-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17659
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} package zabbix-server"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} „package“ zabbix-server"
 
 #. type: deftypevr
 #: doc/guix.texi:17661
@@ -33141,36 +33182,36 @@ msgstr "Das zabbix-server-Paket."
 #: doc/guix.texi:17664
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string user"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette user"
 
 #. type: deftypevr
 #: doc/guix.texi:17666
 msgid "User who will run the Zabbix server."
-msgstr ""
+msgstr "Das Benutzerkonto, mit dem der Zabbix-Server ausgeführt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:17668 doc/guix.texi:17675 doc/guix.texi:17689
 #: doc/guix.texi:17696 doc/guix.texi:17797 doc/guix.texi:17804
 #: doc/guix.texi:17915 doc/guix.texi:17922
 msgid "Defaults to @samp{\"zabbix\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"zabbix\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17671
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} group group"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Gruppe group"
 
 #. type: deftypevr
 #: doc/guix.texi:17673
 msgid "Group who will run the Zabbix server."
-msgstr ""
+msgstr "Die Gruppe, mit der der Zabbix-Server ausgeführt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:17678
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string db-host"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-host"
 
 #. type: deftypevr
 #: doc/guix.texi:17680 doc/guix.texi:17899
@@ -33180,13 +33221,13 @@ msgstr "Rechnername der Datenbank."
 #. type: deftypevr
 #: doc/guix.texi:17682
 msgid "Defaults to @samp{\"127.0.0.1\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"127.0.0.1\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17685
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string db-name"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-name"
 
 #. type: deftypevr
 #: doc/guix.texi:17687 doc/guix.texi:17913
@@ -33197,7 +33238,7 @@ msgstr "Datenbankname."
 #: doc/guix.texi:17692
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string db-user"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-user"
 
 #. type: deftypevr
 #: doc/guix.texi:17694 doc/guix.texi:17920
@@ -33208,18 +33249,18 @@ msgstr "Benutzerkonto der Datenbank."
 #: doc/guix.texi:17699
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string db-password"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette db-password"
 
 #. type: deftypevr
 #: doc/guix.texi:17702
 msgid "Database password.  Please, use @code{include-files} with @code{DBPassword=SECRET} inside a specified file instead."
-msgstr ""
+msgstr "Das Datenbankpasswort. Bitte benutzen Sie stattdessen @code{include-files} mit @code{DBPassword=SECRET} in einer angegebenen Datei."
 
 #. type: deftypevr
 #: doc/guix.texi:17707
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} number db-port"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zahl db-port"
 
 #. type: deftypevr
 #: doc/guix.texi:17709 doc/guix.texi:17906
@@ -33229,55 +33270,55 @@ msgstr "Datenbank-Portnummer."
 #. type: deftypevr
 #: doc/guix.texi:17711 doc/guix.texi:17908
 msgid "Defaults to @samp{5432}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{5432}."
 
 #. type: deftypevr
 #: doc/guix.texi:17714
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string log-type"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette log-type"
 
 #. type: deftypevr
 #: doc/guix.texi:17716 doc/guix.texi:17817
 msgid "Specifies where log messages are written to:"
-msgstr ""
+msgstr "Gibt an, wohin Protokollnachrichten geschrieben werden."
 
 #. type: itemize
 #: doc/guix.texi:17720 doc/guix.texi:17821
 msgid "@code{system} - syslog."
-msgstr ""
+msgstr "@code{system} - Syslog."
 
 #. type: itemize
 #: doc/guix.texi:17723 doc/guix.texi:17824
 msgid "@code{file} - file specified with @code{log-file} parameter."
-msgstr ""
+msgstr "@code{file} - Die im @code{log-file}-Parameter angegebene Datei."
 
 #. type: itemize
 #: doc/guix.texi:17726 doc/guix.texi:17827
 msgid "@code{console} - standard output."
-msgstr ""
+msgstr "@code{console} - Standardausgabe."
 
 #. type: deftypevr
 #: doc/guix.texi:17733
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string log-file"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette log-file"
 
 #. type: deftypevr
 #: doc/guix.texi:17735 doc/guix.texi:17836
 msgid "Log file name for @code{log-type} @code{file} parameter."
-msgstr ""
+msgstr "Protokolldateiname für den @code{file}-Parameter von @code{log-type}."
 
 #. type: deftypevr
 #: doc/guix.texi:17737
 msgid "Defaults to @samp{\"/var/log/zabbix/server.log\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/log/zabbix/server.log\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17740
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string pid-file"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette pid-file"
 
 #. type: deftypevr
 #: doc/guix.texi:17742 doc/guix.texi:17843
@@ -33287,89 +33328,89 @@ msgstr "Name der PID-Datei."
 #. type: deftypevr
 #: doc/guix.texi:17744
 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_server.pid\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/zabbix/zabbix_server.pid\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17747
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string ssl-ca-location"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette ssl-ca-location"
 
 #. type: deftypevr
 #: doc/guix.texi:17750
 msgid "The location of certificate authority (CA) files for SSL server certificate verification."
-msgstr ""
+msgstr "Der Ort mit den Dateien über die Zertifikatsautoritäten (Certificate Authoritys, CAs) zur Prüfung der SSL-Serverzertifikate."
 
 #. type: deftypevr
 #: doc/guix.texi:17752
 msgid "Defaults to @samp{\"/etc/ssl/certs/ca-certificates.crt\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/ssl/certs/ca-certificates.crt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17755
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string ssl-cert-location"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette ssl-cert-location"
 
 #. type: deftypevr
 #: doc/guix.texi:17757
 msgid "Location of SSL client certificates."
-msgstr ""
+msgstr "Der Ort mit den SSL-Client-Zertifikaten."
 
 #. type: deftypevr
 #: doc/guix.texi:17759
 msgid "Defaults to @samp{\"/etc/ssl/certs\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/ssl/certs\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17762
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} string extra-options"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Zeichenkette extra-options"
 
 #. type: deftypevr
 #: doc/guix.texi:17764 doc/guix.texi:17868
 msgid "Extra options will be appended to Zabbix server configuration file."
-msgstr ""
+msgstr "Zusätzliche Optionen werden an die Zabbix-Server-Konfigurationsdatei angehängt."
 
 #. type: deftypevr
 #: doc/guix.texi:17769
 #, no-wrap
 msgid "{@code{zabbix-server-configuration} parameter} include-files include-files"
-msgstr ""
+msgstr "{@code{zabbix-server-configuration}-Parameter} Einzubindende-Dateien include-files"
 
 #. type: deftypevr
 #: doc/guix.texi:17772 doc/guix.texi:17876
 msgid "You may include individual files or all files in a directory in the configuration file."
-msgstr ""
+msgstr "Sie können einzelne Dateien oder alle Dateien in einem Verzeichnis in die Konfigurationsdatei einbinden."
 
 #. type: subsubheading
 #: doc/guix.texi:17779
 #, no-wrap
 msgid "Zabbix agent"
-msgstr ""
+msgstr "Zabbix-Agent"
 
 #. type: cindex
 #: doc/guix.texi:17780
 #, no-wrap
 msgid "zabbix zabbix-agent"
-msgstr ""
+msgstr "Zabbix, Zabbix-Agent"
 
 #. type: Plain text
 #: doc/guix.texi:17783
 msgid "Zabbix agent gathers information for Zabbix server."
-msgstr ""
+msgstr "Der Zabbix-Agent sammelt Informationen für den Zabbix-Server."
 
 #. type: Plain text
 #: doc/guix.texi:17787
 msgid "Available @code{zabbix-agent-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{zabbix-agent-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17788
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} package zabbix-agent"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} „package“ zabbix-agent"
 
 #. type: deftypevr
 #: doc/guix.texi:17790
@@ -33380,255 +33421,255 @@ msgstr "Das zabbix-agent-Paket."
 #: doc/guix.texi:17793
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string user"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette user"
 
 #. type: deftypevr
 #: doc/guix.texi:17795
 msgid "User who will run the Zabbix agent."
-msgstr ""
+msgstr "Das Benutzerkonto, mit dem der Zabbix-Agent ausgeführt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:17800
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} group group"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Gruppe group"
 
 #. type: deftypevr
 #: doc/guix.texi:17802
 msgid "Group who will run the Zabbix agent."
-msgstr ""
+msgstr "Die Gruppe, mit der der Zabbix-Agent ausgeführt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:17807
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string hostname"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette hostname"
 
 #. type: deftypevr
 #: doc/guix.texi:17810
 msgid "Unique, case sensitive hostname which is required for active checks and must match hostname as configured on the server."
-msgstr ""
+msgstr "Der eindeutige Rechnername in richtiger Groß-/Kleinschreibung, der für aktive Überprüfungen benötigt wird und dem im Server eingestellten Rechnernamen entsprechen muss."
 
 #. type: deftypevr
 #: doc/guix.texi:17812
 msgid "Defaults to @samp{\"Zabbix server\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"Zabbix server\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17815
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string log-type"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette log-type"
 
 #. type: deftypevr
 #: doc/guix.texi:17834
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string log-file"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette log-file"
 
 #. type: deftypevr
 #: doc/guix.texi:17838
 msgid "Defaults to @samp{\"/var/log/zabbix/agent.log\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/log/zabbix/agent.log\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17841
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string pid-file"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette pid-file"
 
 #. type: deftypevr
 #: doc/guix.texi:17845
 msgid "Defaults to @samp{\"/var/run/zabbix/zabbix_agent.pid\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/zabbix/zabbix_agent.pid\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:17848
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} list server"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Liste server"
 
 #. type: deftypevr
 #: doc/guix.texi:17852
 msgid "List of IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers and Zabbix proxies.  Incoming connections will be accepted only from the hosts listed here."
-msgstr ""
+msgstr "Die Liste der IP-Adressen, optional in CIDR-Notation angegeben, oder die Rechnernamen von Zabbix-Servern und Zabbix-Proxys. Eingehende Verbindungen werden nur dann angenommen, wenn sie von hier angegebenen Rechnern stammen."
 
 #. type: deftypevr
 #: doc/guix.texi:17854 doc/guix.texi:17863
 msgid "Defaults to @samp{(\"127.0.0.1\")}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{(\"127.0.0.1\")}."
 
 #. type: deftypevr
 #: doc/guix.texi:17857
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} list server-active"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Liste server-active"
 
 #. type: deftypevr
 #: doc/guix.texi:17861
 msgid "List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix proxies for active checks.  If port is not specified, default port is used.  If this parameter is not specified, active checks are disabled."
-msgstr ""
+msgstr "Die Liste aus IP:Port-Paaren (oder Rechnername:Port-Paaren) von Zabbix-Servern und Zabbix-Proxys für aktive Überprüfungen. Wenn kein Port angegeben wurde, wird der Vorgabeport benutzt. Wenn dieser Parameter @emph{nicht} angegeben wird, werden aktive Überprüfungen deaktiviert."
 
 #. type: deftypevr
 #: doc/guix.texi:17866
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} string extra-options"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Zeichenkette extra-options"
 
 #. type: deftypevr
 #: doc/guix.texi:17873
 #, no-wrap
 msgid "{@code{zabbix-agent-configuration} parameter} include-files include-files"
-msgstr ""
+msgstr "{@code{zabbix-agent-configuration}-Parameter} Einzubindende-Dateien include-files"
 
 #. type: subsubheading
 #: doc/guix.texi:17883
 #, no-wrap
 msgid "Zabbix front-end"
-msgstr ""
+msgstr "Zabbix-Frontend"
 
 #. type: cindex
 #: doc/guix.texi:17884
 #, no-wrap
 msgid "zabbix zabbix-front-end"
-msgstr ""
+msgstr "Zabbix, Zabbix-Frontend"
 
 #. type: Plain text
 #: doc/guix.texi:17887
 msgid "This service provides a WEB interface to Zabbix server."
-msgstr ""
+msgstr "Dieser Dienst stellt eine Weboberfläche als Vordergrundsystem (@dfn{Frontend}) für den Zabbix-Server zur Verfügung."
 
 #. type: Plain text
 #: doc/guix.texi:17891
 msgid "Available @code{zabbix-front-end-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{zabbix-front-end-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:17892
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} nginx-server-configuration-list nginx"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} „nginx-server-configuration“-Liste nginx"
 
 #. type: deftypevr
 #: doc/guix.texi:17894 doc/guix.texi:22296
 msgid "NGINX configuration."
-msgstr ""
+msgstr "NGINX-Konfiguration."
 
 #. type: deftypevr
 #: doc/guix.texi:17897
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string db-host"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-host"
 
 #. type: deftypevr
 #: doc/guix.texi:17904
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} number db-port"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zahl db-port"
 
 #. type: deftypevr
 #: doc/guix.texi:17911
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string db-name"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-name"
 
 #. type: deftypevr
 #: doc/guix.texi:17918
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string db-user"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-user"
 
 #. type: deftypevr
 #: doc/guix.texi:17925
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string db-password"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-password"
 
 #. type: deftypevr
 #: doc/guix.texi:17927
 msgid "Database password.  Please, use @code{db-secret-file} instead."
-msgstr ""
+msgstr "Das Datenbankpasswort. Bitte benutzen Sie stattdessen @code{db-secret-file}."
 
 #. type: deftypevr
 #: doc/guix.texi:17932
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string db-secret-file"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette db-secret-file"
 
 #. type: deftypevr
 #: doc/guix.texi:17936
 msgid "Secret file which will be appended to @file{zabbix.conf.php} file.  This file contains credentials for use by Zabbix front-end.  You are expected to create it manually."
-msgstr ""
+msgstr "Die Datei mit den Geheimnis-Informationen, die an die @file{zabbix.conf.php}-Datei angehängt wird. Diese Datei enthält Zugangsdaten für die Nutzung durch das Zabbix-Frontend. Es wird von Ihnen erwartet, dass Sie sie manuell erzeugen."
 
 #. type: deftypevr
 #: doc/guix.texi:17941
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} string zabbix-host"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zeichenkette zabbix-host"
 
 #. type: deftypevr
 #: doc/guix.texi:17943
 msgid "Zabbix server hostname."
-msgstr ""
+msgstr "Zabbix-Server-Rechnername."
 
 #. type: deftypevr
 #: doc/guix.texi:17948
 #, no-wrap
 msgid "{@code{zabbix-front-end-configuration} parameter} number zabbix-port"
-msgstr ""
+msgstr "{@code{zabbix-front-end-configuration}-Parameter} Zahl zabbix-port"
 
 #. type: deftypevr
 #: doc/guix.texi:17950
 msgid "Zabbix server port."
-msgstr ""
+msgstr "Zabbix-Server-Port."
 
 #. type: deftypevr
 #: doc/guix.texi:17952
 msgid "Defaults to @samp{10051}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{10051}."
 
 #. type: cindex
 #: doc/guix.texi:17960
 #, no-wrap
 msgid "Kerberos"
-msgstr ""
+msgstr "Kerberos"
 
 #. type: Plain text
 #: doc/guix.texi:17964
 msgid "The @code{(gnu services kerberos)} module provides services relating to the authentication protocol @dfn{Kerberos}."
-msgstr ""
+msgstr "Das @code{(gnu services kerberos)}-Modul stellt Dienste zur Verfügung, die mit dem Authentifizierungsprotokoll @dfn{Kerberos} zu tun haben."
 
 #. type: subsubheading
 #: doc/guix.texi:17965
 #, no-wrap
 msgid "Krb5 Service"
-msgstr ""
+msgstr "Krb5-Dienst"
 
 #. type: Plain text
 #: doc/guix.texi:17972
 msgid "Programs using a Kerberos client library normally expect a configuration file in @file{/etc/krb5.conf}.  This service generates such a file from a definition provided in the operating system declaration.  It does not cause any daemon to be started."
-msgstr ""
+msgstr "Programme, die eine Kerberos-Clientbibliothek benutzen, erwarten meist, dass sich eine Konfigurationsdatei in @file{/etc/krb5.conf} befindet. Dieser Dienst erzeugt eine solche Datei aus einer Definition, die in der Betriebssystemdeklaration angegebenen wurde. Durch ihn wird kein Daemon gestartet."
 
 #. type: Plain text
 #: doc/guix.texi:17976
 msgid "No ``keytab'' files are provided by this service---you must explicitly create them.  This service is known to work with the MIT client library, @code{mit-krb5}.  Other implementations have not been tested."
-msgstr ""
+msgstr "Keine „Schlüsseltabellen“-Dateien werden durch diesen Dienst zur Verfügung gestellt — Sie müssen sie ausdrücklich selbst anlegen. Dieser Dienst funktioniert bekanntermaßen mit der MIT-Clientbibliothek @code{mit-krb5}. Andere Implementierungen wurden nicht getestet."
 
 #. type: defvr
 #: doc/guix.texi:17977
 #, no-wrap
 msgid "{Scheme Variable} krb5-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} krb5-service-type"
 
 #. type: defvr
 #: doc/guix.texi:17979
 msgid "A service type for Kerberos 5 clients."
-msgstr ""
+msgstr "Ein Diensttyp für Kerberos-5-Clients."
 
 #. type: Plain text
 #: doc/guix.texi:17983
 msgid "Here is an example of its use:"
-msgstr ""
+msgstr "Hier ist ein Beispiel, wie man ihn benutzt:"
 
 #. type: lisp
 #: doc/guix.texi:17997
@@ -33648,205 +33689,218 @@ msgid ""
 "                    (admin-server \"kerb-admin.argrx.edu\")\n"
 "                    (kdc \"keys.argrx.edu\"))))))\n"
 msgstr ""
+"(service krb5-service-type\n"
+"         (krb5-configuration\n"
+"          (default-realm \"EXAMPLE.COM\")\n"
+"          (allow-weak-crypto? #t)\n"
+"          (realms (list\n"
+"                   (krb5-realm\n"
+"                    (name \"EXAMPLE.COM\")\n"
+"                    (admin-server \"groucho.example.com\")\n"
+"                    (kdc \"karl.example.com\"))\n"
+"                   (krb5-realm\n"
+"                    (name \"ARGRX.EDU\")\n"
+"                    (admin-server \"kerb-admin.argrx.edu\")\n"
+"                    (kdc \"keys.argrx.edu\"))))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:18001
 msgid "This example provides a Kerberos@tie{}5 client configuration which:"
-msgstr ""
+msgstr "Dieses Beispiel stellt eine Client-Konfiguration für Kerberos@tie{}5 zur Verfügung, mit der:"
 
 #. type: item
 #: doc/guix.texi:18002
 #, no-wrap
 msgid "Recognizes two realms, @i{viz:} ``EXAMPLE.COM'' and ``ARGRX.EDU'', both"
-msgstr ""
+msgstr "Zwei Administrationsbereiche erkannt werden, nämlich: „EXAMPLE.COM“"
 
 #. type: itemize
 #: doc/guix.texi:18004
 msgid "of which have distinct administration servers and key distribution centers;"
-msgstr ""
+msgstr "und „ARGRX.EDU“, die beide verschiedene Administrationsserver und Schlüsselverteilungszentren haben,"
 
 #. type: item
 #: doc/guix.texi:18004
 #, no-wrap
 msgid "Will default to the realm ``EXAMPLE.COM'' if the realm is not explicitly"
-msgstr ""
+msgstr "als Vorgabe der Administrationsbereich „EXAMPLE.COM“ verwendet wird,"
 
 #. type: itemize
 #: doc/guix.texi:18006
 msgid "specified by clients;"
-msgstr ""
+msgstr "falls der Administrationsbereich von Clients nicht ausdrücklich angegeben wurde, und"
 
 #. type: item
 #: doc/guix.texi:18006
 #, no-wrap
 msgid "Accepts services which only support encryption types known to be weak."
-msgstr ""
+msgstr "auch Dienste angenommen werden, die nur Verschlüsselungstypen unterstützen, die bekanntermaßen schwach sind."
 
 #. type: Plain text
 #: doc/guix.texi:18014
 msgid "The @code{krb5-realm} and @code{krb5-configuration} types have many fields.  Only the most commonly used ones are described here.  For a full list, and more detailed explanation of each, see the MIT @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} documentation."
-msgstr ""
+msgstr "Die Typen @code{krb5-realm} und @code{krb5-configuration} haben viele Felder. Hier werden nur die am häufigsten benutzten beschrieben. Eine vollständige Liste und jeweils detailliertere Erklärungen finden Sie in der Dokumentation von @uref{https://web.mit.edu/kerberos/krb5-devel/doc/admin/conf_files/krb5_conf.html,,krb5.conf} vom MIT."
 
 #. type: deftp
 #: doc/guix.texi:18016
 #, no-wrap
 msgid "{Data Type} krb5-realm"
-msgstr ""
+msgstr "{Datentyp} krb5-realm"
 
 #. type: cindex
 #: doc/guix.texi:18017
 #, no-wrap
 msgid "realm, kerberos"
-msgstr ""
+msgstr "Administrationsbereich, Kerberos"
 
 #. type: table
 #: doc/guix.texi:18023
 msgid "This field is a string identifying the name of the realm.  A common convention is to use the fully qualified DNS name of your organization, converted to upper case."
-msgstr ""
+msgstr "Dieses Feld enthält eine Zeichenkette, die den Namen des Administrationsbereichs bezeichnet. Üblich ist, den vollständigen DNS-Namen („Fully Qualified DNS Name“) Ihrer Organisation nur in Großbuchstaben zu benutzen."
 
 #. type: code{#1}
 #: doc/guix.texi:18024
 #, no-wrap
 msgid "admin-server"
-msgstr ""
+msgstr "admin-server"
 
 #. type: table
 #: doc/guix.texi:18027
 msgid "This field is a string identifying the host where the administration server is running."
-msgstr ""
+msgstr "Dieses Feld enthält eine Zeichenkette, die den Rechner benennt, auf dem der Administrationsserver läuft."
 
 #. type: code{#1}
 #: doc/guix.texi:18028
 #, no-wrap
 msgid "kdc"
-msgstr ""
+msgstr "kdc"
 
 #. type: table
 #: doc/guix.texi:18031
 msgid "This field is a string identifying the key distribution center for the realm."
-msgstr ""
+msgstr "Dieses Feld enthält eine Zeichenkette, die das Schlüsselverteilungszentrum für den Administrationsbereich angibt."
 
 #. type: deftp
 #: doc/guix.texi:18034
 #, no-wrap
 msgid "{Data Type} krb5-configuration"
-msgstr ""
+msgstr "{Datentyp} krb5-configuration"
 
 #. type: item
 #: doc/guix.texi:18037
 #, no-wrap
 msgid "@code{allow-weak-crypto?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{allow-weak-crypto?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:18040
 msgid "If this flag is @code{#t} then services which only offer encryption algorithms known to be weak will be accepted."
-msgstr ""
+msgstr "Wenn diese Option auf @code{#t} gesetzt ist, werden auch Dienste akzeptiert, die nur Verschlüsselungsalgorithmen anbieten, die bekanntermaßen schwach sind."
 
 #. type: item
 #: doc/guix.texi:18041
 #, no-wrap
 msgid "@code{default-realm} (default: @code{#f})"
-msgstr ""
+msgstr "@code{default-realm} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:18048
 msgid "This field should be a string identifying the default Kerberos realm for the client.  You should set this field to the name of your Kerberos realm.  If this value is @code{#f} then a realm must be specified with every Kerberos principal when invoking programs such as @command{kinit}."
-msgstr ""
+msgstr "Dieses Feld sollte eine Zeichenkette enthalten, die den voreingestellten Kerberos-Administrationsbereich für den Client angibt. Sie sollten in diesem Feld den Namen Ihres Kerberos-Administrationsbereichs eintragen. Wenn der Wert @code{#f} ist, dann muss ein Administrationsbereich mit jedem Kerberos-Prinzipal zusammen angegeben werden, wenn Programme wie @command{kinit} aufgerufen werden."
 
 #. type: code{#1}
 #: doc/guix.texi:18049
 #, no-wrap
 msgid "realms"
-msgstr ""
+msgstr "realms"
 
 #. type: table
 #: doc/guix.texi:18054
 msgid "This should be a non-empty list of @code{krb5-realm} objects, which clients may access.  Normally, one of them will have a @code{name} field matching the @code{default-realm} field."
-msgstr ""
+msgstr "Hierin sollte eine nichtleere Liste von je einem @code{krb5-realm}-Objekt pro Administrationsbereich stehen, auf den Clients zugreifen können. Normalerweise hat einer davon ein @code{name}-Feld, das mit dem @code{default-realm}-Feld übereinstimmt."
 
 #. type: subsubheading
 #: doc/guix.texi:18058
 #, no-wrap
 msgid "PAM krb5 Service"
-msgstr ""
+msgstr "PAM-krb5-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:18059
 #, no-wrap
 msgid "pam-krb5"
-msgstr ""
+msgstr "pam-krb5"
 
 #. type: Plain text
 #: doc/guix.texi:18065
 msgid "The @code{pam-krb5} service allows for login authentication and password management via Kerberos.  You will need this service if you want PAM enabled applications to authenticate users using Kerberos."
-msgstr ""
+msgstr "Der @code{pam-krb5}-Dienst ermöglicht es, bei der Anmeldung und Passwortverwaltung Benutzer über Kerberos zu authentifizieren. Sie brauchen diesen Dienst, damit Anwendungen, die PAM benutzen können, Nutzer über Kerberos authentifizieren können."
 
 #. type: defvr
 #: doc/guix.texi:18066
 #, no-wrap
 msgid "{Scheme Variable} pam-krb5-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} pam-krb5-service-type"
 
 #. type: defvr
 #: doc/guix.texi:18068
 msgid "A service type for the Kerberos 5 PAM module."
-msgstr ""
+msgstr "Ein Diensttyp für das PAM-Modul zu Kerberos@tie{}5."
 
 #. type: deftp
 #: doc/guix.texi:18070
 #, no-wrap
 msgid "{Data Type} pam-krb5-configuration"
-msgstr ""
+msgstr "{Datentyp} pam-krb5-configuration"
 
 #. type: deftp
 #: doc/guix.texi:18073
 msgid "Data type representing the configuration of the Kerberos 5 PAM module.  This type has the following parameters:"
-msgstr "Der Datentyp, der die Konfiguration eines PAM-Moduls für Kerberos 5 repräsentiert. Dieser Typ hat die folgenden Parameter:"
+msgstr "Der Datentyp, der die Konfiguration des PAM-Moduls für Kerberos 5 repräsentiert. Dieser Typ hat die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:18074
 #, no-wrap
 msgid "@code{pam-krb5} (default: @code{pam-krb5})"
-msgstr ""
+msgstr "@code{pam-krb5} (Vorgabe: @code{pam-krb5})"
 
 #. type: table
 #: doc/guix.texi:18076
 msgid "The pam-krb5 package to use."
-msgstr ""
+msgstr "Das pam-krb5-Paket, das benutzt werden soll."
 
 #. type: item
 #: doc/guix.texi:18077
 #, no-wrap
 msgid "@code{minimum-uid} (default: @code{1000})"
-msgstr ""
+msgstr "@code{minimum-uid} (Vorgabe: @code{1000})"
 
 #. type: table
 #: doc/guix.texi:18080
 msgid "The smallest user ID for which Kerberos authentications should be attempted.  Local accounts with lower values will silently fail to authenticate."
-msgstr ""
+msgstr "Der kleinste Benutzeridentifikator (UID), für den Authentifizierung über Kerberos versucht werden sollte. Lokale Benutzerkonten mit niedrigeren Zahlwerten können sich nicht authentizieren und bekommen dazu keine Meldung angezeigt."
 
 #. type: cindex
 #: doc/guix.texi:18086
 #, no-wrap
 msgid "LDAP"
-msgstr ""
+msgstr "LDAP"
 
 #. type: cindex
 #: doc/guix.texi:18087
 #, no-wrap
 msgid "nslcd, LDAP service"
-msgstr ""
+msgstr "nslcd, LDAP-Dienst"
 
 #. type: Plain text
 #: doc/guix.texi:18094
 msgid "The @code{(gnu services authentication)} module provides the @code{nslcd-service-type}, which can be used to authenticate against an LDAP server.  In addition to configuring the service itself, you may want to add @code{ldap} as a name service to the Name Service Switch. @xref{Name Service Switch} for detailed information."
-msgstr ""
+msgstr "Das Modul @code{(gnu services authentication)} stellt den Diensttyp @code{nslcd-service-type} zur Verfügung, mit dem sich Benutzer gegenüber einem LDAP-Server authentizieren können. Sie möchten dabei wahrscheinlich nicht nur den Dienst konfigurieren, sondern auch @code{ldap} als einen Namensdienst („Name Service“) für den Name Service Switch hinzufügen. Siehe @ref{Name Service Switch} für Details."
 
 #. type: Plain text
 #: doc/guix.texi:18098
 msgid "Here is a simple operating system declaration with a default configuration of the @code{nslcd-service-type} and a Name Service Switch configuration that consults the @code{ldap} name service last:"
-msgstr ""
+msgstr "Hier ist ein Beispiel für eine einfache Betriebssystemdeklaration mit einer der Vorgabe entsprechenden Konfiguration des @code{nslcd-service-type} und einer Konfiguration des Name Service Switch, die den @code{ldap}-Namensdienst zuletzt prüft:"
 
 #. type: example
 #: doc/guix.texi:18121
@@ -33874,17 +33928,38 @@ msgid ""
 "      (netgroup services)\n"
 "      (gshadow  services)))))\n"
 msgstr ""
+"(use-service-modules authentication)\n"
+"(use-modules (gnu system nss))\n"
+"...\n"
+"(operating-system\n"
+"  ...\n"
+"  (services\n"
+"    (cons*\n"
+"      (service nslcd-service-type)\n"
+"      (service dhcp-client-service-type)\n"
+"      %base-services))\n"
+"  (name-service-switch\n"
+"   (let ((services (list (name-service (name \"db\"))\n"
+"                         (name-service (name \"files\"))\n"
+"                         (name-service (name \"ldap\")))))\n"
+"     (name-service-switch\n"
+"      (inherit %mdns-host-lookup-nss)\n"
+"      (password services)\n"
+"      (shadow   services)\n"
+"      (group    services)\n"
+"      (netgroup services)\n"
+"      (gshadow  services)))))\n"
 
 #. type: Plain text
 #: doc/guix.texi:18126
 msgid "Available @code{nslcd-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{nslcd-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:18127
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} package nss-pam-ldapd"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} „package“ nss-pam-ldapd"
 
 #. type: deftypevr
 #: doc/guix.texi:18129
@@ -33895,12 +33970,12 @@ msgstr "Das @code{nss-pam-ldapd}-Paket, was benutzt werden soll."
 #: doc/guix.texi:18132
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number threads"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl threads"
 
 #. type: deftypevr
 #: doc/guix.texi:18136
 msgid "The number of threads to start that can handle requests and perform LDAP queries.  Each thread opens a separate connection to the LDAP server.  The default is to start 5 threads."
-msgstr ""
+msgstr "Die Anzahl zu startender Threads, die Anfragen bearbeiten und LDAP-Abfragen durchführen können. Jeder Thread öffnet eine separate Verbindung zum LDAP-Server. Die Vorgabe ist, 5 Threads zu starten."
 
 #. type: deftypevr
 #: doc/guix.texi:18138 doc/guix.texi:18180 doc/guix.texi:18188
@@ -33934,187 +34009,187 @@ msgstr "Der Vorgabewert ist @samp{disabled} (d.h.@: deaktiviert)."
 #: doc/guix.texi:18141
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} string uid"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette uid"
 
 #. type: deftypevr
 #: doc/guix.texi:18143
 msgid "This specifies the user id with which the daemon should be run."
-msgstr ""
+msgstr "Gibt den Benutzeridentifikator an, unter dem der Daemon ausgeführt werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:18145 doc/guix.texi:18152
 msgid "Defaults to @samp{\"nslcd\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"nslcd\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:18148
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} string gid"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette gid"
 
 #. type: deftypevr
 #: doc/guix.texi:18150
 msgid "This specifies the group id with which the daemon should be run."
-msgstr ""
+msgstr "Gibt den Gruppenidentifikator an, unter dem der Daemon ausgeführt werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:18155
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} log-option log"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Protokolleinstellung log"
 
 #. type: deftypevr
 #: doc/guix.texi:18162
 msgid "This option controls the way logging is done via a list containing SCHEME and LEVEL.  The SCHEME argument may either be the symbols \"none\" or \"syslog\", or an absolute file name.  The LEVEL argument is optional and specifies the log level.  The log level may be one of the following symbols: \"crit\", \"error\", \"warning\", \"notice\", \"info\" or \"debug\".  All messages with the specified log level or higher are logged."
-msgstr ""
+msgstr "Diese Einstellung steuert über eine Liste aus SCHEMA und STUFE, wie protokolliert wird. Als SCHEMA-Argument darf entweder eines der Symbole \"none\" (keines) oder \"syslog\" angegeben werden oder ein absoluter Dateiname. Das Argument STUFE ist optional und legt die Protokollierungsstufe fest. Die Protokollierungsstufe kann als eines der folgenden Symbole angegeben werden: \"crit\" (kritisch), \"error\" (Fehler), \"warning\" (Warnung), \"notice\" (Benachrichtigung), \"info\" (Information) oder \"debug\" (Fehlersuche). Alle Mitteilungen mit der angegebenen Protokollierungsstufe oder einer höheren werden protokolliert."
 
 #. type: deftypevr
 #: doc/guix.texi:18164
 msgid "Defaults to @samp{(\"/var/log/nslcd\" info)}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{(\"/var/log/nslcd\" info)}."
 
 #. type: deftypevr
 #: doc/guix.texi:18167
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} list uri"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Liste uri"
 
 #. type: deftypevr
 #: doc/guix.texi:18170
 msgid "The list of LDAP server URIs.  Normally, only the first server will be used with the following servers as fall-back."
-msgstr ""
+msgstr "Die Liste der LDAP-Server-URIs. Normalerweise wird nur der erste Server benutzt; nachfolgende Server dienen als Ersatz."
 
 #. type: deftypevr
 #: doc/guix.texi:18172
 msgid "Defaults to @samp{(\"ldap://localhost:389/\")}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{(\"ldap://localhost:389/\")}."
 
 #. type: deftypevr
 #: doc/guix.texi:18175
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string ldap-version"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette ldap-version"
 
 #. type: deftypevr
 #: doc/guix.texi:18178
 msgid "The version of the LDAP protocol to use.  The default is to use the maximum version supported by the LDAP library."
-msgstr ""
+msgstr "Die zu benutzende Version des LDAP-Protokolls. Nach Vorgabe wird die höchste Version benutzt, die von der LDAP-Bibliothek unterstützt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:18183
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string binddn"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette binddn"
 
 #. type: deftypevr
 #: doc/guix.texi:18186
 msgid "Specifies the distinguished name with which to bind to the directory server for lookups.  The default is to bind anonymously."
-msgstr ""
+msgstr "Gibt den „Distinguished Name“ an, der an den Verzeichnisserver („Directory Server“) gebunden wird, um Einträge aufzulösen. Nach Vorgabe wird anonym gebunden."
 
 #. type: deftypevr
 #: doc/guix.texi:18191
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string bindpw"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette bindpw"
 
 #. type: deftypevr
 #: doc/guix.texi:18194
 msgid "Specifies the credentials with which to bind.  This option is only applicable when used with binddn."
-msgstr ""
+msgstr "Gibt die Zugangsinformationen an, mit denen gebunden wird. Diese Einstellung ist nur dann wirksam, wenn sie mit binddn benutzt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:18199
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmoddn"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette rootpwmoddn"
 
 #. type: deftypevr
 #: doc/guix.texi:18202
 msgid "Specifies the distinguished name to use when the root user tries to modify a user's password using the PAM module."
-msgstr ""
+msgstr "Gibt den „Distinguished Name“ an, der benutzt wird, wenn der Administratornutzer „root“ versucht, das Passwort eines Benutzers mit Hilfe des PAM-Moduls zu verändern."
 
 #. type: deftypevr
 #: doc/guix.texi:18207
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string rootpwmodpw"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette rootpwmodpw"
 
 #. type: deftypevr
 #: doc/guix.texi:18211
 msgid "Specifies the credentials with which to bind if the root user tries to change a user's password.  This option is only applicable when used with rootpwmoddn"
-msgstr ""
+msgstr "Gibt die Zugangsinformationen an, die benutzt werden, wenn der Administratornutzer „root“ versucht, das Passwort eines Benutzers zu verändern. Diese Einstellung ist nur dann wirksam, wenn sie mit rootpwmoddn benutzt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:18216
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-mech"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-mech"
 
 #. type: deftypevr
 #: doc/guix.texi:18219
 msgid "Specifies the SASL mechanism to be used when performing SASL authentication."
-msgstr ""
+msgstr "Gibt an, welcher SASL-Mechanismus benutzt werden soll, um Authentifizierung über SASL durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:18224
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-realm"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-realm"
 
 #. type: deftypevr
 #: doc/guix.texi:18226
 msgid "Specifies the SASL realm to be used when performing SASL authentication."
-msgstr ""
+msgstr "Gibt den SASL-Administrationsbereich an, um Authentifizierungen über SASL durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:18231
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authcid"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-authcid"
 
 #. type: deftypevr
 #: doc/guix.texi:18234
 msgid "Specifies the authentication identity to be used when performing SASL authentication."
-msgstr ""
+msgstr "Gibt die Authentizierungsidentität an, um Authentifizierungen über SASL durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:18239
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string sasl-authzid"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette sasl-authzid"
 
 #. type: deftypevr
 #: doc/guix.texi:18242
 msgid "Specifies the authorization identity to be used when performing SASL authentication."
-msgstr ""
+msgstr "Gibt die Autorisierungsidentität an, um Authentifizierungen über SASL durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:18247
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean sasl-canonicalize?"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck sasl-canonicalize?"
 
 #. type: deftypevr
 #: doc/guix.texi:18252
 msgid "Determines whether the LDAP server host name should be canonicalised.  If this is enabled the LDAP library will do a reverse host name lookup.  By default, it is left up to the LDAP library whether this check is performed or not."
-msgstr ""
+msgstr "Legt fest, ob der kanonische Rechnername („Hostname“) des LDAP-Servers ermittelt werden soll. Wenn ja, wird die LDAP-Bibliothek eine inverse Auflösung („Reverse Lookup“) des Rechnernamens durchführen. Die Vorgabe ist, es der LDAP-Bibliothek zu überlassen, ob eine solche Überprüfung durchgeführt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:18257
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string krb5-ccname"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette krb5-ccname"
 
 #. type: deftypevr
 #: doc/guix.texi:18259
 msgid "Set the name for the GSS-API Kerberos credentials cache."
-msgstr ""
+msgstr "Legt den Namen für den Zwischenspeicher der GSS-API-Kerberos-Zugangsdaten fest."
 
 #. type: deftypevr
 #: doc/guix.texi:18264
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} string base"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Zeichenkette base"
 
 #. type: deftypevr
 #: doc/guix.texi:18266
@@ -34130,369 +34205,369 @@ msgstr "Vorgegeben ist @samp{\"dc=example,dc=com\"}."
 #: doc/guix.texi:18271
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} scope-option scope"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Suchbereichs-Einstellung scope"
 
 #. type: deftypevr
 #: doc/guix.texi:18275
 msgid "Specifies the search scope (subtree, onelevel, base or children).  The default scope is subtree; base scope is almost never useful for name service lookups; children scope is not supported on all servers."
-msgstr ""
+msgstr "Legt den Suchbereich fest als subtree (Teilbaum), onelevel (eine Ebene), base (Basis) oder children (Kinder). Die Vorgabe für den Suchbereich ist subtree; base ist fast nie geeignet für Namensdienstauflösungen; children wird nicht auf allen Servern unterstützt."
 
 #. type: deftypevr
 #: doc/guix.texi:18277
 msgid "Defaults to @samp{(subtree)}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{(subtree)}."
 
 #. type: deftypevr
 #: doc/guix.texi:18280
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-deref-option deref"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Deref-Einstellung deref"
 
 #. type: deftypevr
 #: doc/guix.texi:18283
 msgid "Specifies the policy for dereferencing aliases.  The default policy is to never dereference aliases."
-msgstr ""
+msgstr "Legt die Richtlinie für das Dereferenzieren von Alias-Namen fest. Die vorgegebene Richtlinie ist, Alias-Namen niemals zu dereferenzieren."
 
 #. type: deftypevr
 #: doc/guix.texi:18288
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean referrals"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck referrals"
 
 #. type: deftypevr
 #: doc/guix.texi:18291
 msgid "Specifies whether automatic referral chasing should be enabled.  The default behaviour is to chase referrals."
-msgstr ""
+msgstr "Gibt an, ob Verweise („Referrals“) automatisch verfolgt werden sollen. Das vorgegebene Verhalten ist, sie zu verfolgen."
 
 #. type: deftypevr
 #: doc/guix.texi:18296
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} list-of-map-entries maps"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Liste-von-Abbildungseinträgen maps"
 
 #. type: deftypevr
 #: doc/guix.texi:18301
 msgid "This option allows for custom attributes to be looked up instead of the default RFC 2307 attributes.  It is a list of maps, each consisting of the name of a map, the RFC 2307 attribute to match and the query expression for the attribute as it is available in the directory."
-msgstr ""
+msgstr "Diese Option ermöglicht es, eigene Attribute bei der Auflösung anstelle der vorgegebenen RFC-2307-Attribute zu verwenden. Es ist eine Liste von Abbildungen („Maps“), von denen jede aus dem Namen der Abbildung, dem abzubildenden RFC-2307-Attribut und einem Anfrageausdruck besteht, mit dem es anhand des Verzeichnisses aufgelöst wird."
 
 #. type: deftypevr
 #: doc/guix.texi:18306
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} list-of-filter-entries filters"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Liste-von-Filtereinträgen filters"
 
 #. type: deftypevr
 #: doc/guix.texi:18309
 msgid "A list of filters consisting of the name of a map to which the filter applies and an LDAP search filter expression."
-msgstr ""
+msgstr "Eine Liste von Filtern, von denen jeder aus dem Namen einer Abbildung, auf die sich der Filter auswirkt, und einem LDAP-Suchfilter-Ausdruck besteht."
 
 #. type: deftypevr
 #: doc/guix.texi:18314
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number bind-timelimit"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl bind-timelimit"
 
 #. type: deftypevr
 #: doc/guix.texi:18317
 msgid "Specifies the time limit in seconds to use when connecting to the directory server.  The default value is 10 seconds."
-msgstr ""
+msgstr "Gibt die Zeitbeschränkung in Sekunden an, wie lange eine Verbindung zum Verzeichnisserver dauern darf. Die Vorgabe ist 10 Sekunden."
 
 #. type: deftypevr
 #: doc/guix.texi:18322
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number timelimit"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl timelimit"
 
 #. type: deftypevr
 #: doc/guix.texi:18326
 msgid "Specifies the time limit (in seconds) to wait for a response from the LDAP server.  A value of zero, which is the default, is to wait indefinitely for searches to be completed."
-msgstr ""
+msgstr "Gibt die Zeitbeschränkung (in Sekunden) an, wie lange auf eine Antwort vom LDAP-Server gewartet wird. Ein Wert von null, was die Vorgabe ist, bewirkt, dass beliebig lange gewartet wird, bis Suchen abgeschlossen sind."
 
 #. type: deftypevr
 #: doc/guix.texi:18331
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number idle-timelimit"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl idle-timelimit"
 
 #. type: deftypevr
 #: doc/guix.texi:18335
 msgid "Specifies the period if inactivity (in seconds) after which the con‐ nection to the LDAP server will be closed.  The default is not to time out connections."
-msgstr ""
+msgstr "Gibt an, wie lange bei Inaktivität gewartet wird (in Sekunden), bis die Verbindung zum LDAP-Server geschlossen wird. Die Vorgabe ist, dass es zu keiner Zeitüberschreitung bei Verbindungen kommen kann."
 
 #. type: deftypevr
 #: doc/guix.texi:18340
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-sleeptime"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl reconnect-sleeptime"
 
 #. type: deftypevr
 #: doc/guix.texi:18344
 msgid "Specifies the number of seconds to sleep when connecting to all LDAP servers fails.  By default one second is waited between the first failure and the first retry."
-msgstr ""
+msgstr "Gibt die Anzahl an Sekunden an, wie lange „schlafend“ gewartet wird, wenn zu @emph{keinem} LDAP-Server eine Verbindung hergestellt werden kann. Die Vorgabe ist, zwischen dem ersten Fehlversuch und dem ersten neuen Versuch 1@tie{}Sekunde zu warten."
 
 #. type: deftypevr
 #: doc/guix.texi:18349
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number reconnect-retrytime"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl reconnect-retrytime"
 
 #. type: deftypevr
 #: doc/guix.texi:18353
 msgid "Specifies the time after which the LDAP server is considered to be permanently unavailable.  Once this time is reached retries will be done only once per this time period.  The default value is 10 seconds."
-msgstr ""
+msgstr "Gibt an, nach wieviel Zeit der LDAP-Server als dauerhaft nicht verfügbar angesehen wird. Sobald dieser Fall eintritt, wird eine Verbindungsaufnahme nur noch einmal pro weiterem Ablauf dieser Zeitperiode versucht. Der Vorgabewert beträgt 10@tie{}Sekunden."
 
 #. type: deftypevr
 #: doc/guix.texi:18358
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-ssl-option ssl"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-SSL-Einstellung ssl"
 
 #. type: deftypevr
 #: doc/guix.texi:18362
 msgid "Specifies whether to use SSL/TLS or not (the default is not to).  If 'start-tls is specified then StartTLS is used rather than raw LDAP over SSL."
-msgstr ""
+msgstr "Gibt an, ob SSL/TLS benutzt werden soll oder nicht (die Vorgabe ist, es @emph{nicht} zu benutzen). Wenn 'start-tls angegeben wird, dann wird StartTLS statt schlichtem LDAP über SSL benutzt."
 
 #. type: deftypevr
 #: doc/guix.texi:18367
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-tls-reqcert-option tls-reqcert"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-„tls-reqcert“-Einstellung tls-reqcert"
 
 #. type: deftypevr
 #: doc/guix.texi:18370
 msgid "Specifies what checks to perform on a server-supplied certificate.  The meaning of the values is described in the ldap.conf(5) manual page."
-msgstr ""
+msgstr "Gibt an, welche Überprüfungen auf einem vom Server empfangenen Zertifikat durchgeführt werden sollen. Die Bedeutung der Werte wird auf der Handbuchseite zu ldap.conf(5) beschrieben."
 
 #. type: deftypevr
 #: doc/guix.texi:18375
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertdir"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cacertdir"
 
 #. type: deftypevr
 #: doc/guix.texi:18378
 msgid "Specifies the directory containing X.509 certificates for peer authen‐ tication.  This parameter is ignored when using GnuTLS."
-msgstr ""
+msgstr "Gibt das Verzeichnis an, das X.509-Zertifikate zur Authentifikation von Kommunikationspartnern enthält. Dieser Parameter wird ignoriert, wenn Sie GnuTLS benutzen lassen."
 
 #. type: deftypevr
 #: doc/guix.texi:18383
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cacertfile"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cacertfile"
 
 #. type: deftypevr
 #: doc/guix.texi:18385
 msgid "Specifies the path to the X.509 certificate for peer authentication."
-msgstr ""
+msgstr "Gibt den Dateipfad zu dem X.509-Zertifikat zur Authentifikation von Kommunikationspartnern an."
 
 #. type: deftypevr
 #: doc/guix.texi:18390
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-randfile"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-randfile"
 
 #. type: deftypevr
 #: doc/guix.texi:18393
 msgid "Specifies the path to an entropy source.  This parameter is ignored when using GnuTLS."
-msgstr ""
+msgstr "Gibt den Pfad zu einer Entropiequelle an. Dieser Parameter wird ignoriert, wenn Sie GnuTLS benutzen lassen."
 
 #. type: deftypevr
 #: doc/guix.texi:18398
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-ciphers"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-ciphers"
 
 #. type: deftypevr
 #: doc/guix.texi:18400
 msgid "Specifies the ciphers to use for TLS as a string."
-msgstr ""
+msgstr "Gibt als eine Zeichenkette an, welche Ciphers für TLS benutzt werden sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:18405
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-cert"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-cert"
 
 #. type: deftypevr
 #: doc/guix.texi:18408
 msgid "Specifies the path to the file containing the local certificate for client TLS authentication."
-msgstr ""
+msgstr "Gibt den Pfad zu der Datei an, die das lokale Zertifikat zur TLS-Authentizierung als Client enthält."
 
 #. type: deftypevr
 #: doc/guix.texi:18413
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string tls-key"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette tls-key"
 
 #. type: deftypevr
 #: doc/guix.texi:18416
 msgid "Specifies the path to the file containing the private key for client TLS authentication."
-msgstr ""
+msgstr "Gibt den Pfad zu der Datei an, die den privaten Schlüssel zur TLS-Authentizierung als Client enthält."
 
 #. type: deftypevr
 #: doc/guix.texi:18421
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number pagesize"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl pagesize"
 
 #. type: deftypevr
 #: doc/guix.texi:18425
 msgid "Set this to a number greater than 0 to request paged results from the LDAP server in accordance with RFC2696.  The default (0) is to not request paged results."
-msgstr ""
+msgstr "Geben Sie hier eine Zahl größer als 0 an, um beim LDAP-Server seitenweise Antworten anzufordern, entsprechend RFC2696. Die Vorgabe (0) fordert alle Ergebnisse auf einmal an."
 
 #. type: deftypevr
 #: doc/guix.texi:18430
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-ignore-users-option nss-initgroups-ignoreusers"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-„ignore-users“-Einstellung nss-initgroups-ignoreusers"
 
 #. type: deftypevr
 #: doc/guix.texi:18434
 msgid "This option prevents group membership lookups through LDAP for the specified users.  Alternatively, the value 'all-local may be used.  With that value nslcd builds a full list of non-LDAP users on startup."
-msgstr ""
+msgstr "Diese Einstellung verhindert, dass für die angegebenen Benutzer die Gruppenmitgliedschaft über LDAP aufgelöst wird. Alternativ kann der Wert 'all-local verwendet werden. Für diesen Wert erzeugt nslcd eine vollständige Liste aller Nicht-LDAP-Benutzer, wenn es startet."
 
 #. type: deftypevr
 #: doc/guix.texi:18439
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number nss-min-uid"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-min-uid"
 
 #. type: deftypevr
 #: doc/guix.texi:18442
 msgid "This option ensures that LDAP users with a numeric user id lower than the specified value are ignored."
-msgstr ""
+msgstr "Diese Einstellung lässt sicherstellen, dass LDAP-Benutzer, deren numerischer Benutzeridentifikator kleiner als der angegebene Wert ist, ignoriert werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18447
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number nss-uid-offset"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-uid-offset"
 
 #. type: deftypevr
 #: doc/guix.texi:18450
 msgid "This option specifies an offset that is added to all LDAP numeric user ids.  This can be used to avoid user id collisions with local users."
-msgstr ""
+msgstr "Diese Einstellung gibt einen Versatz an, der auf den numerischen Benutzeridentifikator jedes LDAP-Nutzers aufaddiert wird. Damit können Konflikte zwischen den Benutzeridentifikatoren lokaler Benutzerkonten und LDAP vermieden werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18455
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-number nss-gid-offset"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zahl nss-gid-offset"
 
 #. type: deftypevr
 #: doc/guix.texi:18458
 msgid "This option specifies an offset that is added to all LDAP numeric group ids.  This can be used to avoid user id collisions with local groups."
-msgstr ""
+msgstr "Diese Einstellung gibt einen Versatz an, der auf den numerischen Gruppenidentifikator jedes LDAP-Nutzers aufaddiert wird. Damit können Konflikte zwischen den Gruppenidentifikatoren lokaler Gruppen und LDAP vermieden werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18463
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-nested-groups"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-nested-groups"
 
 #. type: deftypevr
 #: doc/guix.texi:18469
 msgid "If this option is set, the member attribute of a group may point to another group.  Members of nested groups are also returned in the higher level group and parent groups are returned when finding groups for a specific user.  The default is not to perform extra searches for nested groups."
-msgstr ""
+msgstr "Wenn diese Einstellung aktiviert ist, können die Attribute einer Gruppe auch wieder Verweise auf eine andere Gruppe sein. Attribute darin genisteter Gruppen werden für die Gruppe auf höherer Ebene ebenfalls zurückgeliefert und Elterngruppen werden zurückgeliefert, wenn nach den Gruppen eines bestimmten Nutzers gesucht wird. Die Vorgabe ist, keine zusätzlichen Suchen nach genisteten Gruppen durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:18474
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-getgrent-skipmembers"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-getgrent-skipmembers"
 
 #. type: deftypevr
 #: doc/guix.texi:18479
 msgid "If this option is set, the group member list is not retrieved when looking up groups.  Lookups for finding which groups a user belongs to will remain functional so the user will likely still get the correct groups assigned on login."
-msgstr ""
+msgstr "Wenn diese Einstellung aktiviert ist, wird die Liste der Gruppenmitglieder beim Auflösen von Gruppen nicht angefragt. Zu welchen Gruppen ein Benutzer gehört, kann weiterhin angefragt werden, damit dem Benutzer bei der Anmeldung wahrscheinlich dennoch die richtigen Gruppen zugeordnet werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18484
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean nss-disable-enumeration"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck nss-disable-enumeration"
 
 #. type: deftypevr
 #: doc/guix.texi:18490
 msgid "If this option is set, functions which cause all user/group entries to be loaded from the directory will not succeed in doing so.  This can dramatically reduce LDAP server load in situations where there are a great number of users and/or groups.  This option is not recommended for most configurations."
-msgstr ""
+msgstr "Wenn diese Einstellung aktiviert ist, scheitern Funktionen, die alle Benutzer-/Gruppeneinträge aus dem Verzeichnis zu laden versuchen. Dadurch kann die Auslastung von LDAP-Servern wesentlich reduziert werden, wenn es eine große Anzahl von Benutzern und/oder Gruppen gibt. Diese Einstellung wird für die meisten Konfigurationen @emph{nicht} empfohlen."
 
 #. type: deftypevr
 #: doc/guix.texi:18495
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string validnames"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette validnames"
 
 #. type: deftypevr
 #: doc/guix.texi:18499
 msgid "This option can be used to specify how user and group names are verified within the system.  This pattern is used to check all user and group names that are requested and returned from LDAP."
-msgstr ""
+msgstr "Mit dieser Einstellung kann festgelegt werden, wie Benutzer- und Gruppennamen vom System geprüft werden. Das angegebene Muster wird zur Prüfung aller Benutzer- und Gruppennamen benutzt, die über LDAP angefragt und zurückgeliefert werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18504
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean ignorecase"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck ignorecase"
 
 #. type: deftypevr
 #: doc/guix.texi:18509
 msgid "This specifies whether or not to perform searches using case-insensitive matching.  Enabling this could open up the system to authorization bypass vulnerabilities and introduce nscd cache poisoning vulnerabilities which allow denial of service."
-msgstr ""
+msgstr "Hiermit wird festgelegt, ob bei Suchen nach passenden Einträgen @emph{nicht} auf Groß- und Kleinschreibung geachtet wird. Wenn Sie dies aktivieren, könnte es zu Sicherheitslücken kommen, mit denen Autorisierungen umgangen („Authorization Bypass“) oder der nscd-Zwischenspeicher vergiftet werden kann („Cache Poisoning“), was gezielte Überlastungen ermöglichen würde („Denial of Service“)."
 
 #. type: deftypevr
 #: doc/guix.texi:18514
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-boolean pam-authc-ppolicy"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck pam-authc-ppolicy"
 
 #. type: deftypevr
 #: doc/guix.texi:18517
 msgid "This option specifies whether password policy controls are requested and handled from the LDAP server when performing user authentication."
-msgstr ""
+msgstr "Mit dieser Einstellung wird festgelegt, ob Passwortrichtliniensteuerung vom LDAP-Server angefragt und behandelt wird, wenn Nutzer authentifiziert werden."
 
 #. type: deftypevr
 #: doc/guix.texi:18522
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authc-search"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-authc-search"
 
 #. type: deftypevr
 #: doc/guix.texi:18528
 msgid "By default nslcd performs an LDAP search with the user's credentials after BIND (authentication) to ensure that the BIND operation was successful.  The default search is a simple check to see if the user's DN exists.  A search filter can be specified that will be used instead.  It should return at least one entry."
-msgstr ""
+msgstr "Nach Vorgabe führt nslcd eine LDAP-Suche nach jeder BIND-Operation (zur Authentizierung) durch, um sicherzustellen, dass die BIND-Operation erfolgreich durchgeführt wurde. Die vorgegebene Suche ist eine einfache Überprüfung, ob der DN eines Benutzers existiert. Hier kann ein Suchfilter angegeben werden, der stattdessen benutzt werden soll. Er sollte mindestens einen Eintrag liefern."
 
 #. type: deftypevr
 #: doc/guix.texi:18533
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string pam-authz-search"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-authz-search"
 
 #. type: deftypevr
 #: doc/guix.texi:18537
 msgid "This option allows flexible fine tuning of the authorisation check that should be performed.  The search filter specified is executed and if any entries match, access is granted, otherwise access is denied."
-msgstr ""
+msgstr "Diese Einstellung ermöglicht flexible Feineinstellungen an der durchzuführenden Autorisierungsprüfung. Der angegebene Suchfilter wird ausgeführt, woraufhin Zugriff gewährt wird, wenn mindestens ein Eintrag passt, andernfall wird der Zugriff verweigert."
 
 #. type: deftypevr
 #: doc/guix.texi:18542
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} maybe-string pam-password-prohibit-message"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Vielleicht-Zeichenkette pam-password-prohibit-message"
 
 #. type: deftypevr
 #: doc/guix.texi:18547
 msgid "If this option is set password modification using pam_ldap will be denied and the specified message will be presented to the user instead.  The message can be used to direct the user to an alternative means of changing their password."
-msgstr ""
+msgstr "Wenn diese Einstellung festgelegt wurde, werden Passwortänderungen über pam_ldap abgelehnt und dem Anwender wird stattdessen die festgelegte Nachricht gezeigt. Die Nachricht kann benutzt werden, um den Anwender auf alternative Methoden aufmerksam zu machen, wie er sein Passwort ändern kann."
 
 #. type: deftypevr
 #: doc/guix.texi:18552
 #, no-wrap
 msgid "{@code{nslcd-configuration} parameter} list pam-services"
-msgstr ""
+msgstr "{@code{nslcd-configuration}-Parameter} Liste pam-services"
 
 #. type: deftypevr
 #: doc/guix.texi:18554
 msgid "List of pam service names for which LDAP authentication should suffice."
-msgstr ""
+msgstr "Die Liste der PAM-Dienstnamen, für die eine LDAP-Authentizierung als ausreichend gilt."
 
 #. type: cindex
 #: doc/guix.texi:18565
@@ -35137,7 +35212,7 @@ msgstr "@code{root} (Vorgabe: @code{\"/srv/http\"})"
 #. type: table
 #: doc/guix.texi:18902
 msgid "Root of the website nginx will serve."
-msgstr "Wurzelverzeichnis der Webpräsenz, die über nginx abgerufen werden kann."
+msgstr "Wurzelverzeichnis des Webauftritts, der über nginx abgerufen werden kann."
 
 #. type: item
 #: doc/guix.texi:18903
@@ -35578,7 +35653,7 @@ msgstr "php-fpm"
 #. type: Plain text
 #: doc/guix.texi:19124
 msgid "PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size."
-msgstr "PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung, die über einige zusätzliche Funktionalitäten verfügt, die für Webpräsenzen jeder Größe nützlich sind."
+msgstr "PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung, die über einige zusätzliche Funktionalitäten verfügt, die für Webauftritte jeder Größe nützlich sind."
 
 #. type: Plain text
 #: doc/guix.texi:19126
@@ -35707,135 +35782,135 @@ msgstr "\"ip.ad.res.se:Port\""
 #. type: table
 #: doc/guix.texi:19156
 msgid "Listen on a TCP socket to a specific address on a specific port."
-msgstr ""
+msgstr "Lässt auf einem TCP-Socket auf der angegebenen Adresse auf dem angegebenen Port lauschen."
 
 #. type: code{#1}
 #: doc/guix.texi:19156
 #, no-wrap
 msgid "\"port\""
-msgstr ""
+msgstr "\"port\""
 
 #. type: table
 #: doc/guix.texi:19158
 msgid "Listen on a TCP socket to all addresses on a specific port."
-msgstr ""
+msgstr "Lässt auf einem TCP-Socket auf allen Adressen auf dem angegebenen Port lauschen."
 
 #. type: code{#1}
 #: doc/guix.texi:19158
 #, no-wrap
 msgid "\"/path/to/unix/socket\""
-msgstr ""
+msgstr "\"/pfad/zum/unix/socket\""
 
 #. type: table
 #: doc/guix.texi:19160
 msgid "Listen on a unix socket."
-msgstr ""
+msgstr "Lässt auf einem Unix-Socket lauschen."
 
 #. type: item
 #: doc/guix.texi:19162
 #, no-wrap
 msgid "@code{user} (default: @code{php-fpm})"
-msgstr ""
+msgstr "@code{user} (Vorgabe: @code{php-fpm})"
 
 #. type: table
 #: doc/guix.texi:19164
 msgid "User who will own the php worker processes."
-msgstr ""
+msgstr "Der Benutzer, dem die PHP-Arbeiterprozesse gehören werden."
 
 #. type: item
 #: doc/guix.texi:19164
 #, no-wrap
 msgid "@code{group} (default: @code{php-fpm})"
-msgstr ""
+msgstr "@code{group} (Vorgabe: @code{php-fpm})"
 
 #. type: table
 #: doc/guix.texi:19166
 msgid "Group of the worker processes."
-msgstr ""
+msgstr "Die Gruppe für die Arbeiterprozesse."
 
 #. type: item
 #: doc/guix.texi:19166
 #, no-wrap
 msgid "@code{socket-user} (default: @code{php-fpm})"
-msgstr ""
+msgstr "@code{socket-user} (Vorgabe: @code{php-fpm})"
 
 #. type: table
 #: doc/guix.texi:19168
 msgid "User who can speak to the php-fpm socket."
-msgstr ""
+msgstr "Der Benutzer, der mit dem php-fpm-Socket kommunizieren kann."
 
 #. type: item
 #: doc/guix.texi:19168
 #, no-wrap
 msgid "@code{socket-group} (default: @code{php-fpm})"
-msgstr ""
+msgstr "@code{socket-group} (Vorgabe: @code{php-fpm})"
 
 #. type: table
 #: doc/guix.texi:19170
 msgid "Group that can speak to the php-fpm socket."
-msgstr ""
+msgstr "Die Gruppe, die mit dem php-fpm-Socket kommunizieren kann."
 
 #. type: item
 #: doc/guix.texi:19170
 #, no-wrap
 msgid "@code{pid-file} (default: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"
-msgstr ""
+msgstr "@code{pid-file} (Vorgabe: @code{(string-append \"/var/run/php\" (version-major (package-version php)) \"-fpm.pid\")})"
 
 #. type: table
 #: doc/guix.texi:19173
 msgid "The process id of the php-fpm process is written to this file once the service has started."
-msgstr ""
+msgstr "Der Prozessidentifikator des php-fpm-Prozesses wird in diese Datei geschrieben, sobald der Dienst gestartet wurde."
 
 #. type: item
 #: doc/guix.texi:19173
 #, no-wrap
 msgid "@code{log-file} (default: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"
-msgstr ""
+msgstr "@code{log-file} (Vorgabe: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.log\")})"
 
 #. type: table
 #: doc/guix.texi:19175
 msgid "Log for the php-fpm master process."
-msgstr ""
+msgstr "Wohin das Protokoll für den php-fpm-Hauptprozess geschrieben wird."
 
 #. type: item
 #: doc/guix.texi:19175
 #, no-wrap
 msgid "@code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})"
-msgstr ""
+msgstr "@code{process-manager} (Vorgabe: @code{(php-fpm-dynamic-process-manager-configuration)})"
 
 #. type: table
 #: doc/guix.texi:19178
 msgid "Detailed settings for the php-fpm process manager.  Must be either:"
-msgstr ""
+msgstr "Detaillierte Einstellungen für die php-fpm-Prozessverwaltung. Sie müssen eines der Folgenden sein:"
 
 #. type: code{#1}
 #: doc/guix.texi:19179
 #, no-wrap
 msgid "<php-fpm-dynamic-process-manager-configuration>"
-msgstr ""
+msgstr "<php-fpm-dynamic-process-manager-configuration>"
 
 #. type: code{#1}
 #: doc/guix.texi:19180
 #, no-wrap
 msgid "<php-fpm-static-process-manager-configuration>"
-msgstr ""
+msgstr "<php-fpm-static-process-manager-configuration>"
 
 #. type: code{#1}
 #: doc/guix.texi:19181
 #, no-wrap
 msgid "<php-fpm-on-demand-process-manager-configuration>"
-msgstr ""
+msgstr "<php-fpm-on-demand-process-manager-configuration>"
 
 #. type: item
 #: doc/guix.texi:19183
 #, no-wrap
 msgid "@code{display-errors} (default @code{#f})"
-msgstr ""
+msgstr "@code{display-errors} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19188
 msgid "Determines whether php errors and warning should be sent to clients and displayed in their browsers.  This is useful for local php development, but a security risk for public sites, as error messages can reveal passwords and personal data."
-msgstr ""
+msgstr "Legt fest, ob PHP-Fehler und Warnungen an Clients geschickt und in ihren Browsern angezeigt werden. Dies ist nützlich für lokale PHP-Entwicklung, aber ein Sicherheitsrisiko für öffentliche Webauftritte, weil Fehlermeldungen Passwörter und Passwortdaten offenlegen können."
 
 #. type: item
 #: doc/guix.texi:19188
@@ -35846,117 +35921,117 @@ msgstr "@code{timezone} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19190
 msgid "Specifies @code{php_admin_value[date.timezone]} parameter."
-msgstr ""
+msgstr "Legt den Parameter @code{php_admin_value[date.timezone]} fest."
 
 #. type: item
 #: doc/guix.texi:19190
 #, no-wrap
 msgid "@code{workers-logfile} (default @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"
-msgstr ""
+msgstr "@code{workers-logfile} (Vorgabe: @code{(string-append \"/var/log/php\" (version-major (package-version php)) \"-fpm.www.log\")})"
 
 #. type: table
 #: doc/guix.texi:19193
 msgid "This file will log the @code{stderr} outputs of php worker processes.  Can be set to @code{#f} to disable logging."
-msgstr ""
+msgstr "In dieser Datei werden @code{stderr}-Ausgaben von PHP-Arbeiterprozessen protokolliert. Das Feld kann auf @code{#f} gesetzt werden, damit nicht protokolliert wird."
 
 #. type: item
 #: doc/guix.texi:19193
 #, no-wrap
 msgid "@code{file} (default @code{#f})"
-msgstr ""
+msgstr "@code{file} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19196
 msgid "An optional override of the whole configuration.  You can use the @code{mixed-text-file} function or an absolute filepath for it."
-msgstr ""
+msgstr "Optional kann hier ein vorrangig benutzter Ersatz für die gesamte Konfigurationsdatei angegeben werden. Sie können dafür die @code{mixed-text-file}-Funktion oder einen absoluten Dateipfad verwenden."
 
 #. type: deftp
 #: doc/guix.texi:19199
 #, no-wrap
 msgid "{Data type} php-fpm-dynamic-process-manager-configuration"
-msgstr ""
+msgstr "{Datentyp} php-fpm-dynamic-process-manager-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19203
 msgid "Data Type for the @code{dynamic} php-fpm process manager.  With the @code{dynamic} process manager, spare worker processes are kept around based on it's configured limits."
-msgstr ""
+msgstr "Datentyp für die @emph{dynamische} Prozessverwaltung durch php-fpm. Bei der @emph{dynamischen} Prozessverwaltung bleiben Arbeiterprozesse nach Abschluss ihrer Aufgabe weiterhin erhalten, solange die konfigurierten Beschränkungen eingehalten werden."
 
 #. type: item
 #: doc/guix.texi:19204 doc/guix.texi:19220 doc/guix.texi:19230
 #, no-wrap
 msgid "@code{max-children} (default: @code{5})"
-msgstr ""
+msgstr "@code{max-children} (Vorgabe: @code{5})"
 
 #. type: table
 #: doc/guix.texi:19206 doc/guix.texi:19222 doc/guix.texi:19232
 msgid "Maximum of worker processes."
-msgstr ""
+msgstr "Die maximale Anzahl an Arbeiterprozessen."
 
 #. type: item
 #: doc/guix.texi:19206
 #, no-wrap
 msgid "@code{start-servers} (default: @code{2})"
-msgstr ""
+msgstr "@code{start-servers} (Vorgabe: @code{2})"
 
 #. type: table
 #: doc/guix.texi:19208
 msgid "How many worker processes should be started on start-up."
-msgstr ""
+msgstr "Wieviele Arbeiterprozesse gleich zu Beginn gestartet werden sollen."
 
 #. type: item
 #: doc/guix.texi:19208
 #, no-wrap
 msgid "@code{min-spare-servers} (default: @code{1})"
-msgstr ""
+msgstr "@code{min-spare-servers} (Vorgabe: @code{1})"
 
 #. type: table
 #: doc/guix.texi:19210
 msgid "How many spare worker processes should be kept around at minimum."
-msgstr ""
+msgstr "Wieviele untätige Arbeiterprozesse mindestens weiterhin vorgehalten bleiben sollen."
 
 #. type: item
 #: doc/guix.texi:19210
 #, no-wrap
 msgid "@code{max-spare-servers} (default: @code{3})"
-msgstr ""
+msgstr "@code{max-spare-servers} (Vorgabe: @code{3})"
 
 #. type: table
 #: doc/guix.texi:19212
 msgid "How many spare worker processes should be kept around at maximum."
-msgstr ""
+msgstr "Wieviele untätige Arbeiterprozesse höchstens weiterhin vorgehalten bleiben sollen."
 
 #. type: deftp
 #: doc/guix.texi:19215
 #, no-wrap
 msgid "{Data type} php-fpm-static-process-manager-configuration"
-msgstr ""
+msgstr "{Datentyp} php-fpm-static-process-manager-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19219
 msgid "Data Type for the @code{static} php-fpm process manager.  With the @code{static} process manager, an unchanging number of worker processes are created."
-msgstr ""
+msgstr "Datentyp für die @emph{statische} Prozessverwaltung durch php-fpm. Bei der @emph{statischen} Prozessverwaltung wird eine unveränderliche Anzahl an Arbeiterprozessen erzeugt."
 
 #. type: deftp
 #: doc/guix.texi:19225
 #, no-wrap
 msgid "{Data type} php-fpm-on-demand-process-manager-configuration"
-msgstr ""
+msgstr "{Datentyp} php-fpm-on-demand-process-manager-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19229
 msgid "Data Type for the @code{on-demand} php-fpm process manager.  With the @code{on-demand} process manager, worker processes are only created as requests arrive."
-msgstr ""
+msgstr "Datentyp für die Prozessverwaltung @emph{nach Bedarf} durch php-fpm. Bei der Prozessverwaltung @emph{nach Bedarf} werden Arbeiterprozesse erst erzeugt, wenn Anfragen vorliegen."
 
 #. type: item
 #: doc/guix.texi:19232
 #, no-wrap
 msgid "@code{process-idle-timeout} (default: @code{10})"
-msgstr ""
+msgstr "@code{process-idle-timeout} (Vorgabe: @code{10})"
 
 #. type: table
 #: doc/guix.texi:19234
 msgid "The time in seconds after which a process with no requests is killed."
-msgstr ""
+msgstr "Die Zeit in Sekunden, nach der ein Prozess ohne Anfragen abgewürgt wird."
 
 #. type: deffn
 #: doc/guix.texi:19238
@@ -36008,12 +36083,12 @@ msgstr ""
 #: doc/guix.texi:19262
 #, no-wrap
 msgid "cat-avatar-generator"
-msgstr ""
+msgstr "cat-avatar-generator"
 
 #. type: Plain text
 #: doc/guix.texi:19266
 msgid "The cat avatar generator is a simple service to demonstrate the use of php-fpm in @code{Nginx}.  It is used to generate cat avatar from a seed, for instance the hash of a user's email address."
-msgstr ""
+msgstr "Der Cat Avatar Generator („Katzenavatargenerator“) ist ein einfacher Dienst, um die Nutzung von php-fpm in @code{Nginx} zu demonstrieren. Mit ihm können Katzenavatarbilder aus einem Startwert („Seed“) heraus erzeugt werden, zum Beispiel aus dem Hash der E-Mail-Adresse eines Benutzers."
 
 #. type: deffn
 #: doc/guix.texi:19267
@@ -36024,12 +36099,12 @@ msgstr "{Scheme-Prozedur} cat-avatar-generator-service @"
 #. type: deffn
 #: doc/guix.texi:19275
 msgid "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] Returns an nginx-server-configuration that inherits @code{configuration}.  It extends the nginx configuration to add a server block that serves @code{package}, a version of cat-avatar-generator.  During execution, cat-avatar-generator will be able to use @code{cache-dir} as its cache directory."
-msgstr ""
+msgstr "[#:cache-dir \"/var/cache/cat-avatar-generator\"] @ [#:package cat-avatar-generator] @ [#:configuration (nginx-server-configuration)] Liefert ein nginx-server-configuration-Objekt, das von der in @code{configuration} angegebenen Konfiguration erbt. Es erweitert die Nginx-Konfiguration, indem es einen Server-Block hinzufügt, der die in @code{package} angegebene Version vom cat-avatar-generator anbietet. Bei der Ausführung wird dem cat-avatar-generator Zugriff auf sein in @code{cache-dir} angegebenes Zwischenspeicherverzeichnis gewährt."
 
 #. type: Plain text
 #: doc/guix.texi:19278
 msgid "A simple setup for cat-avatar-generator can look like this:"
-msgstr ""
+msgstr "Eine einfache Konfiguration des cat-avatar-generator kann so aussehen:"
 
 #. type: example
 #: doc/guix.texi:19285
@@ -36042,56 +36117,62 @@ msgid ""
 "                 ...\n"
 "                 %base-services))\n"
 msgstr ""
+"(services (cons* (cat-avatar-generator-service\n"
+"                  #:configuration\n"
+"                  (nginx-server-configuration\n"
+"                    (server-name '(\"example.com\"))))\n"
+"                 ...\n"
+"                 %base-services))\n"
 
 #. type: subsubheading
 #: doc/guix.texi:19287
 #, no-wrap
 msgid "Hpcguix-web"
-msgstr ""
+msgstr "Hpcguix-web"
 
 #. type: cindex
 #: doc/guix.texi:19289
 #, no-wrap
 msgid "hpcguix-web"
-msgstr ""
+msgstr "hpcguix-web"
 
 #. type: Plain text
 #: doc/guix.texi:19294
 msgid "The @uref{hpcguix-web, https://github.com/UMCUGenetics/hpcguix-web/} program is a customizable web interface to browse Guix packages, initially designed for users of high-performance computing (HPC)  clusters."
-msgstr ""
+msgstr "Das Programm @uref{hpcguix-web, https://github.com/UMCUGenetics/hpcguix-web/} ist eine anpassbare Weboberfläche, um Guix-Pakete zu suchen. Am Anfang war es für Nutzer von Hochleistungs-Rechenclustern gedacht („High-Performance Computing“, kurz HPC)."
 
 #. type: defvr
 #: doc/guix.texi:19295
 #, no-wrap
 msgid "{Scheme Variable} hpcguix-web-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} hpcguix-web-service-type"
 
 #. type: defvr
 #: doc/guix.texi:19297
 msgid "The service type for @code{hpcguix-web}."
-msgstr ""
+msgstr "Der Diensttyp für @code{hpcguix-web}."
 
 #. type: deftp
 #: doc/guix.texi:19299
 #, no-wrap
 msgid "{Data Type} hpcguix-web-configuration"
-msgstr ""
+msgstr "{Datentyp} hpcguix-web-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19301
 msgid "Data type for the hpcguix-web service configuration."
-msgstr ""
+msgstr "Datentyp für die Konfiguration des hpcguix-web-Dienstes."
 
 #. type: code{#1}
 #: doc/guix.texi:19303
 #, no-wrap
 msgid "specs"
-msgstr ""
+msgstr "specs"
 
 #. type: table
 #: doc/guix.texi:19306
 msgid "A gexp (@pxref{G-Expressions}) specifying the hpcguix-web service configuration.  The main items available in this spec are:"
-msgstr ""
+msgstr "Ein G-Ausdruck (siehe @ref{G-Expressions}), der die Konfiguration des hpcguix-web-Dienstes festlegt. In dieser Spezifikation („Spec“) sollten vor allem diese Sachen angegeben werden:"
 
 #. type: item
 #: doc/guix.texi:19308
@@ -36146,7 +36227,7 @@ msgstr "@code{menu} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:19322
 msgid "Additional entry in page @code{menu}."
-msgstr ""
+msgstr "Zusätzlicher Eintrag auf der Menüseite."
 
 #. type: item
 #: doc/guix.texi:19323
@@ -36168,12 +36249,12 @@ msgstr "@code{package-list-expiration} (Vorgabe: @code{(* 12 3600)})"
 #. type: table
 #: doc/guix.texi:19329
 msgid "The expiration time, in seconds, after which the package list is rebuilt from the latest instances of the given channels."
-msgstr ""
+msgstr "Nach wieviel Zeit in Sekunden die Paketliste aus den neuesten Instanzen der angegebenen Kanäle neu erzeugt wird."
 
 #. type: table
 #: doc/guix.texi:19334
 msgid "See the hpcguix-web repository for a @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, complete example}."
-msgstr ""
+msgstr "Siehe das Repository von hpcguix-web für ein @uref{https://github.com/UMCUGenetics/hpcguix-web/blob/master/hpcweb-configuration.scm, vollständiges Beispiel}."
 
 #. type: item
 #: doc/guix.texi:19335
@@ -36189,7 +36270,7 @@ msgstr "Das hpcguix-web-Paket, was benutzt werden soll."
 #. type: Plain text
 #: doc/guix.texi:19341
 msgid "A typical hpcguix-web service declaration looks like this:"
-msgstr ""
+msgstr "Eine typische Deklaration eines hpcguix-web-Dienstes sieht so aus:"
 
 #. type: example
 #: doc/guix.texi:19350
@@ -36203,40 +36284,47 @@ msgid ""
 "                (title-prefix \"Guix-HPC - \")\n"
 "                (menu '((\"/about\" \"ABOUT\"))))))))\n"
 msgstr ""
+"(service hpcguix-web-service-type\n"
+"         (hpcguix-web-configuration\n"
+"          (specs\n"
+"           #~(define site-config\n"
+"               (hpcweb-configuration\n"
+"                (title-prefix \"Guix-HPC - \")\n"
+"                (menu '((\"/about\" \"ABOUT\"))))))))\n"
 
 #. type: quotation
 #: doc/guix.texi:19357
 msgid "The hpcguix-web service periodically updates the package list it publishes by pulling channels from Git.  To that end, it needs to access X.509 certificates so that it can authenticate Git servers when communicating over HTTPS, and it assumes that @file{/etc/ssl/certs} contains those certificates."
-msgstr ""
+msgstr "Der hpcguix-web-Dienst aktualisiert die Liste der Pakete, die er veröffentlicht, periodisch, indem er die Kanäle über einen Git-„Pull“ lädt. Dazu muss er auf X.509-Zertifikate zugreifen, damit Git-Server authentifiziert werden können, wenn mit diesen über HTTPS kommuniziert wird, wofür der Dienst davon ausgeht, dass sich jene Zertifikate in @file{/etc/ssl/certs} befinden."
 
 #. type: quotation
 #: doc/guix.texi:19361
 msgid "Thus, make sure to add @code{nss-certs} or another certificate package to the @code{packages} field of your configuration.  @ref{X.509 Certificates}, for more information on X.509 certificates."
-msgstr ""
+msgstr "Stellen Sie also sicher, dass @code{nss-certs} oder ein anderes Zertifikatspaket im @code{packages}-Feld ihrer Konfiguration steht. Siehe @ref{X.509 Certificates} für weitere Informationen zu X.509-Zertifikaten."
 
 #. type: cindex
 #: doc/guix.texi:19366
 #, no-wrap
 msgid "Web"
-msgstr ""
+msgstr "Web"
 
 #. type: cindex
 #: doc/guix.texi:19367
 #, no-wrap
 msgid "HTTP, HTTPS"
-msgstr ""
+msgstr "HTTP, HTTPS"
 
 #. type: cindex
 #: doc/guix.texi:19368
 #, no-wrap
 msgid "Let's Encrypt"
-msgstr ""
+msgstr "Let's Encrypt"
 
 #. type: cindex
 #: doc/guix.texi:19369
 #, no-wrap
 msgid "TLS certificates"
-msgstr ""
+msgstr "TLS-Zertifikate"
 
 #. type: Plain text
 #: doc/guix.texi:19376
@@ -36251,12 +36339,12 @@ msgstr "@url{https://letsencrypt.org/, Let’s Encrypt} macht das @code{certbot}
 #. type: Plain text
 #: doc/guix.texi:19395
 msgid "The certbot service automates this process: the initial key generation, the initial certification request to the Let's Encrypt service, the web server challenge/response integration, writing the certificate to disk, the automated periodic renewals, and the deployment tasks associated with the renewal (e.g.@: reloading services, copying keys with different permissions)."
-msgstr ""
+msgstr "Mit dem certbot-Dienst wird dieser Prozess automatisiert. Er sorgt dafür, dass am Anfang Schlüssel erzeugt werden und eine erste Zertifizierungsanfrage an den Dienst von Let’s Encrypt gestellt wird. Weiterhin ist das Challenge-/Response-Verfahren per Web-Server integriert. Das Zertifikat wird auf die Platte geschrieben und automatisch periodisch erneuert und bei der Erneuerung anfallende Aufgaben werden erledigt (z.B.@: das Neuladen von Diensten und das Kopieren von Schlüsseln mit abweichenden Berechtigungen)."
 
 #. type: Plain text
 #: doc/guix.texi:19401
 msgid "Certbot is run twice a day, at a random minute within the hour.  It won't do anything until your certificates are due for renewal or revoked, but running it regularly would give your service a chance of staying online in case a Let's Encrypt-initiated revocation happened for some reason."
-msgstr ""
+msgstr "Certbot wird zweimal täglich zu einer zufälligen Minute der Stunde ausgeführt. Es tut so lange nichts, bis eine Erneuerung Ihrer Zertifikate fällig wird oder sie gesperrt wurden, durch regelmäßige Ausführung bekommen Sie aber die Chance, dass Ihr Server am Netz bleibt, wenn Let’s Encrypt eine Sperrung aus irgendeinem Grund anordnet."
 
 #. type: Plain text
 #: doc/guix.texi:19405
@@ -36267,12 +36355,12 @@ msgstr "Durch die Nutzung dieses Dienstes stimmen Sie dem „ACME Subscriber Agr
 #: doc/guix.texi:19406
 #, no-wrap
 msgid "{Scheme Variable} certbot-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} certbot-service-type"
 
 #. type: defvr
 #: doc/guix.texi:19409
 msgid "A service type for the @code{certbot} Let's Encrypt client.  Its value must be a @code{certbot-configuration} record as in this example:"
-msgstr ""
+msgstr "Ein Diensttyp für den @code{certbot}-Client für Let’s Encrypt. Sein Wert muss ein @code{certbot-configuration}-Verbundsobjekt wie in diesem Beispiel sein:"
 
 #. type: example
 #: doc/guix.texi:19416
@@ -36285,6 +36373,12 @@ msgid ""
 "       (kill pid SIGHUP))))\n"
 "\n"
 msgstr ""
+"(define %nginx-deploy-hook\n"
+"  (program-file\n"
+"   \"nginx-deploy-hook\"\n"
+"   #~(let ((pid (call-with-input-file \"/var/run/nginx/pid\" read)))\n"
+"       (kill pid SIGHUP))))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:19427
@@ -36301,135 +36395,145 @@ msgid ""
 "            (certificate-configuration\n"
 "             (domains '(\"bar.example.net\")))))))\n"
 msgstr ""
+"(service certbot-service-type\n"
+"         (certbot-configuration\n"
+"          (email \"foo@@example.net\")\n"
+"          (certificates\n"
+"           (list\n"
+"            (certificate-configuration\n"
+"             (domains '(\"example.net\" \"www.example.net\"))\n"
+"             (deploy-hook %nginx-deploy-hook))\n"
+"            (certificate-configuration\n"
+"             (domains '(\"bar.example.net\")))))))\n"
 
 #. type: defvr
 #: doc/guix.texi:19430
 msgid "See below for details about @code{certbot-configuration}."
-msgstr ""
+msgstr "Siehe unten für Details zur @code{certbot-configuration}."
 
 #. type: deftp
 #: doc/guix.texi:19432
 #, no-wrap
 msgid "{Data Type} certbot-configuration"
-msgstr ""
+msgstr "{Datentyp} certbot-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19435
 msgid "Data type representing the configuration of the @code{certbot} service.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des @code{certbot}-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19437
 #, no-wrap
 msgid "@code{package} (default: @code{certbot})"
-msgstr ""
+msgstr "@code{package} (Vorgabe: @code{certbot})"
 
 #. type: table
 #: doc/guix.texi:19439
 msgid "The certbot package to use."
-msgstr ""
+msgstr "Das certbot-Paket, das benutzt werden soll."
 
 #. type: item
 #: doc/guix.texi:19440
 #, no-wrap
 msgid "@code{webroot} (default: @code{/var/www})"
-msgstr ""
+msgstr "@code{webroot} (Vorgabe: @code{/var/www})"
 
 #. type: table
 #: doc/guix.texi:19443
 msgid "The directory from which to serve the Let's Encrypt challenge/response files."
-msgstr ""
+msgstr "Das Verzeichnis, aus dem heraus die Dateien für den Challenge-/Response-Prozess von Let’s Encrypt angeboten werden sollen."
 
 #. type: item
 #: doc/guix.texi:19444
 #, no-wrap
 msgid "@code{certificates} (default: @code{()})"
-msgstr ""
+msgstr "@code{certificates} (Vorgabe: @code{()})"
 
 #. type: table
 #: doc/guix.texi:19448
 msgid "A list of @code{certificates-configuration}s for which to generate certificates and request signatures.  Each certificate has a @code{name} and several @code{domains}."
-msgstr ""
+msgstr "Eine Liste der @code{certificates-configuration}-Objekte, für die Zertifikate und Anfragesignaturen erzeugt werden. Für jedes Zertifikat gibt es einen @code{name}-Eintrag und mehrere @code{domains}."
 
 #. type: table
 #: doc/guix.texi:19452
 msgid "Mandatory email used for registration, recovery contact, and important account notifications."
-msgstr ""
+msgstr "Die E-Mail-Adresse, die für die Registrierung, als Kontaktadresse bei der Wiederherstellung und für wichtige Kontenbenachrichtigungen angegeben werden @emph{muss}."
 
 #. type: item
 #: doc/guix.texi:19453
 #, no-wrap
 msgid "@code{rsa-key-size} (default: @code{2048})"
-msgstr ""
+msgstr "@code{rsa-key-size} (Vorgabe: @code{2048})"
 
 #. type: table
 #: doc/guix.texi:19455
 msgid "Size of the RSA key."
-msgstr ""
+msgstr "Wie groß der RSA-Schlüssel sein soll."
 
 #. type: item
 #: doc/guix.texi:19456
 #, no-wrap
 msgid "@code{default-location} (default: @i{see below})"
-msgstr ""
+msgstr "@code{default-location} (Vorgabe: @i{siehe unten})"
 
 #. type: table
 #: doc/guix.texi:19465
 msgid "The default @code{nginx-location-configuration}.  Because @code{certbot} needs to be able to serve challenges and responses, it needs to be able to run a web server.  It does so by extending the @code{nginx} web service with an @code{nginx-server-configuration} listening on the @var{domains} on port 80, and which has a @code{nginx-location-configuration} for the @code{/.well-known/} URI path subspace used by Let's Encrypt.  @xref{Web Services}, for more on these nginx configuration data types."
-msgstr ""
+msgstr "Die vorgegebene @code{nginx-location-configuration}. Weil @code{certbot} „Challenges“ und „Responses“ anbieten muss, muss durch ihn ein Web-Server ausgeführt werden können. Das tut er, indem er den @code{nginx}-Webdienst mit einer @code{nginx-server-configuration} erweitert, die auf den @var{domains} auf Port 80 lauscht und eine @code{nginx-location-configuration} für den URI-Pfad-Teilraum @code{/.well-known/} umfasst, der von Let’s Encrypt benutzt wird. Siehe @ref{Web Services} für mehr Informationen über diese nginx-Konfigurationsdatentypen."
 
 #. type: table
 #: doc/guix.texi:19469
 msgid "Requests to other URL paths will be matched by the @code{default-location}, which if present is added to all @code{nginx-server-configuration}s."
-msgstr ""
+msgstr "Anfragen an andere URL-Pfade werden mit der @code{default-location} abgeglichen. Wenn sie angegeben wurde, wird sie zu jeder @code{nginx-server-configuration} hinzugefügt."
 
 #. type: table
 #: doc/guix.texi:19473
 msgid "By default, the @code{default-location} will issue a redirect from @code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving you to define what to serve on your site via @code{https}."
-msgstr ""
+msgstr "Nach Vorgabe stellt die @code{default-location} eine Weiterleitung von @code{http://@var{domain}/…} nach @code{https://@var{domain}/…} her. Sie müssen dann nur noch festlegen, was Sie auf Ihrem Webauftritt über @code{https} anbieten wollen."
 
 #. type: table
 #: doc/guix.texi:19475
 msgid "Pass @code{#f} to not issue a default location."
-msgstr ""
+msgstr "Übergeben Sie @code{#f}, um keine @code{default-location} vorzugeben."
 
 #. type: deftp
 #: doc/guix.texi:19478
 #, no-wrap
 msgid "{Data Type} certificate-configuration"
-msgstr ""
+msgstr "{Datentyp} certificate-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19481
 msgid "Data type representing the configuration of a certificate.  This type has the following parameters:"
-msgstr ""
+msgstr "Der Datentyp, der die Konfiguration eines Zertifikats repräsentiert. Dieser Typ hat die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19483
 #, no-wrap
 msgid "@code{name} (default: @i{see below})"
-msgstr ""
+msgstr "@code{name} (Vorgabe: @i{siehe unten})"
 
 #. type: table
 #: doc/guix.texi:19487
 msgid "This name is used by Certbot for housekeeping and in file paths; it doesn't affect the content of the certificate itself.  To see certificate names, run @code{certbot certificates}."
-msgstr ""
+msgstr "Dieser Name wird vom Certbot intern zum Aufräumen und in Dateipfaden benutzt; er hat keinen Einfluss auf den Inhalt des erzeugten Zertifikats. Um Zertifikatsnamen einzusehen, führen Sie @code{certbot certificates} aus."
 
 #. type: table
 #: doc/guix.texi:19489
 msgid "Its default is the first provided domain."
-msgstr ""
+msgstr "Die Vorgabe ist die erste angegebene Domain."
 
 #. type: item
 #: doc/guix.texi:19490
 #, no-wrap
 msgid "@code{domains} (default: @code{()})"
-msgstr ""
+msgstr "@code{domains} (Vorgabe: @code{()})"
 
 #. type: table
 #: doc/guix.texi:19493
 msgid "The first domain provided will be the subject CN of the certificate, and all domains will be Subject Alternative Names on the certificate."
-msgstr ""
+msgstr "Die erste angegebene Domain wird als Name des Zertifikatseigentümers („Subject CN“) benutzt und alle Domains werden als alternative Namen („Subject Alternative Names“) auf dem Zertifikat stehen."
 
 #. type: item
 #: doc/guix.texi:19494
@@ -36440,7 +36544,7 @@ msgstr "@code{challenge} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19499
 msgid "The challenge type that has to be run by certbot.  If @code{#f} is specified, default to the HTTP challenge.  If a value is specified, defaults to the manual plugin (see @code{authentication-hook}, @code{cleanup-hook} and the documentation at @url{https://certbot.eff.org/docs/using.html#hooks})."
-msgstr ""
+msgstr "Welche Art von Challenge durch den Certbot ausgeführt wird. Wenn @code{#f} angegeben wird, wird die HTTP-Challenge voreingestellt. Wenn ein Wert angegeben wird, wird das Plugin benutzt, das auch bei manuellen Ausführungen benutzt wird (siehe @code{authentication-hook}, @code{cleanup-hook} und die Dokumentation unter @url{https://certbot.eff.org/docs/using.html#hooks})."
 
 #. type: item
 #: doc/guix.texi:19500
@@ -36451,7 +36555,7 @@ msgstr "@code{authentication-hook} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19506
 msgid "Command to be run in a shell once for each certificate challenge to be answered.  For this command, the shell variable @code{$CERTBOT_DOMAIN} will contain the domain being authenticated, @code{$CERTBOT_VALIDATION} contains the validation string and @code{$CERTBOT_TOKEN} contains the file name of the resource requested when performing an HTTP-01 challenge."
-msgstr ""
+msgstr "Welcher Befehl in einer Shell zum Antworten auf eine Zertifikats-„Challenge“ einmalig ausgeführt wird. Für diesen Befehl wird die Shell-Variable @code{$CERTBOT_DOMAIN} die Domain enthalten, für die sich der Certbot authentiziert, @code{$CERTBOT_VALIDATION} enthält die Validierungs-Zeichenkette und @code{$CERTBOT_TOKEN} enthält den Dateinamen der bei einer HTTP-01-Challenge angefragten Ressource."
 
 #. type: item
 #: doc/guix.texi:19507
@@ -36462,40 +36566,40 @@ msgstr "@code{cleanup-hook} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19513
 msgid "Command to be run in a shell once for each certificate challenge that have been answered by the @code{auth-hook}.  For this command, the shell variables available in the @code{auth-hook} script are still available, and additionally @code{$CERTBOT_AUTH_OUTPUT} will contain the standard output of the @code{auth-hook} script."
-msgstr ""
+msgstr "Welcher Befehl in einer Shell für jede Zertifikat-„Challenge“ einmalig ausgeführt wird, die vom @code{auth-hook} beantwortet wurde. Für diesen Befehl bleiben die Shell-Variablen weiterhin verfügbar, die im @code{auth-hook}-Skript zur Verfügung standen, und außerdem wird @code{$CERTBOT_AUTH_OUTPUT} die Standardausgabe des @code{auth-hook}-Skripts enthalten."
 
 #. type: item
 #: doc/guix.texi:19514
 #, no-wrap
 msgid "@code{deploy-hook} (default: @code{#f})"
-msgstr ""
+msgstr "@code{deploy-hook} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19522
 msgid "Command to be run in a shell once for each successfully issued certificate.  For this command, the shell variable @code{$RENEWED_LINEAGE} will point to the config live subdirectory (for example, @samp{\"/etc/letsencrypt/live/example.com\"}) containing the new certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will contain a space-delimited list of renewed certificate domains (for example, @samp{\"example.com www.example.com\"}."
-msgstr ""
+msgstr "Welcher Befehl in einer Shell für jedes erfolgreich ausgestellte Zertifikat einmalig ausgeführt wird. Bei diesem Befehl wird die Shell-Variable @code{$RENEWED_LINEAGE} auf das Unterverzeichnis für die aktuelle Konfiguration zeigen (zum Beispiel @samp{\"/etc/letsencrypt/live/example.com\"}), in dem sich die neuen Zertifikate und Schlüssel befinden. Die Shell-Variable @code{$RENEWED_DOMAINS} wird eine leerzeichengetrennte Liste der erneuerten Zertifikatsdomänen enthalten (zum Beispiel @samp{\"example.com www.example.com\"}."
 
 #. type: Plain text
 #: doc/guix.texi:19529
 msgid "For each @code{certificate-configuration}, the certificate is saved to @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}."
-msgstr ""
+msgstr "Für jede @code{certificate-configuration} wird das Zertifikat in @code{/etc/letsencrypt/live/@var{name}/fullchain.pem} und der Schlüssel in @code{/etc/letsencrypt/live/@var{name}/privkey.pem} gespeichert."
 
 #. type: cindex
 #: doc/guix.texi:19531
 #, no-wrap
 msgid "DNS (domain name system)"
-msgstr ""
+msgstr "DNS (Domain Name System)"
 
 #. type: cindex
 #: doc/guix.texi:19532
 #, no-wrap
 msgid "domain name system (DNS)"
-msgstr ""
+msgstr "Domain Name System (DNS)"
 
 #. type: Plain text
 #: doc/guix.texi:19540
 msgid "The @code{(gnu services dns)} module provides services related to the @dfn{domain name system} (DNS).  It provides a server service for hosting an @emph{authoritative} DNS server for multiple zones, slave or master.  This service uses @uref{https://www.knot-dns.cz/, Knot DNS}.  And also a caching and forwarding DNS server for the LAN, which uses @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq}."
-msgstr ""
+msgstr "Das Modul @code{(gnu services dns)} stellt Dienste zur Verfügung, die mit dem @dfn{Domain Name System} (DNS) zu tun haben. Es bietet einen Server-Dienst an, mit dem ein @emph{autoritativer} DNS-Server für mehrere Zonen betrieben werden kann, jeweils als untergeordneter „Slave“ oder als „Master“. Dieser Dienst benutzt @uref{https://www.knot-dns.cz/, Knot DNS}. Außerdem wird ein zwischenspeichernder und weiterleitender DNS-Server für das LAN bereitgestellt, der @uref{http://www.thekelleys.org.uk/dnsmasq/doc.html, dnsmasq} benutzt."
 
 #. type: subsubheading
 #: doc/guix.texi:19541
@@ -36506,7 +36610,7 @@ msgstr "Knot-Dienst"
 #. type: Plain text
 #: doc/guix.texi:19545
 msgid "An example configuration of an authoritative server for two zones, one master and one slave, is:"
-msgstr ""
+msgstr "Eine Beispielkonfiguration eines autoritativen Servers für zwei Zonen, eine „Master“, eine „Slave“, wäre:"
 
 #. type: lisp
 #: doc/guix.texi:19552
@@ -36519,6 +36623,12 @@ msgid ""
 "  (\"ns\" \"\"  \"IN\"  \"A\"  \"127.0.0.1\"))\n"
 "\n"
 msgstr ""
+"(define-zone-entries example.org.zone\n"
+";; Name TTL Class Type Data\n"
+"  (\"@@\"  \"\"  \"IN\"  \"A\"  \"127.0.0.1\")\n"
+"  (\"@@\"  \"\"  \"IN\"  \"NS\" \"ns\")\n"
+"  (\"ns\" \"\"  \"IN\"  \"A\"  \"127.0.0.1\"))\n"
+"\n"
 
 #. type: lisp
 #: doc/guix.texi:19559
@@ -36532,6 +36642,13 @@ msgid ""
 "            (entries example.org.zone)))))\n"
 "\n"
 msgstr ""
+"(define master-zone\n"
+"  (knot-zone-configuration\n"
+"    (domain \"example.org\")\n"
+"    (zone (zone-file\n"
+"            (origin \"example.org\")\n"
+"            (entries example.org.zone)))))\n"
+"\n"
 
 #. type: lisp
 #: doc/guix.texi:19565
@@ -36544,6 +36661,12 @@ msgid ""
 "    (master (list \"plop-master\"))))\n"
 "\n"
 msgstr ""
+"(define slave-zone\n"
+"  (knot-zone-configuration\n"
+"    (domain \"plop.org\")\n"
+"    (dnssec-policy \"default\")\n"
+"    (master (list \"plop-master\"))))\n"
+"\n"
 
 #. type: lisp
 #: doc/guix.texi:19570
@@ -36555,6 +36678,11 @@ msgid ""
 "    (address (list \"208.76.58.171\"))))\n"
 "\n"
 msgstr ""
+"(define plop-master\n"
+"  (knot-remote-configuration\n"
+"    (id \"plop-master\")\n"
+"    (address (list \"208.76.58.171\"))))\n"
+"\n"
 
 #. type: lisp
 #: doc/guix.texi:19579
@@ -36569,700 +36697,708 @@ msgid ""
 "                   ;; ...\n"
 "                   %base-services)))\n"
 msgstr ""
+"(operating-system\n"
+"  ;; ...\n"
+"  (services (cons* (service knot-service-type\n"
+"                     (knot-configuration\n"
+"                       (remotes (list plop-master))\n"
+"                       (zones (list master-zone slave-zone))))\n"
+"                   ;; ...\n"
+"                   %base-services)))\n"
 
 #. type: deffn
 #: doc/guix.texi:19581
 #, no-wrap
 msgid "{Scheme Variable} knot-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} knot-service-type"
 
 #. type: deffn
 #: doc/guix.texi:19583
 msgid "This is the type for the Knot DNS server."
-msgstr ""
+msgstr "Dies ist der Diensttyp für den Knot-DNS-Server."
 
 #. type: deffn
 #: doc/guix.texi:19591
 msgid "Knot DNS is an authoritative DNS server, meaning that it can serve multiple zones, that is to say domain names you would buy from a registrar.  This server is not a resolver, meaning that it can only resolve names for which it is authoritative.  This server can be configured to serve zones as a master server or a slave server as a per-zone basis.  Slave zones will get their data from masters, and will serve it as an authoritative server.  From the point of view of a resolver, there is no difference between master and slave."
-msgstr ""
+msgstr "Knot DNS ist ein autoritativer DNS-Server, das heißt, er kann mehrere Zonen bedienen, also mehrere Domainnamen, die Sie von einem Registrar kaufen würden. Dieser Server ist kein „Resolver“,  er dient also nur zur Auflösung von Namen, für die er autoritativ ist. Dieser Server kann so konfiguriert werden, dass er Zonen als „Master“-Server oder als „Slave“-Server bereitstellt, je nachdem, wie er für die jeweilige Zone eingestellt ist. Server für „Slave“-Zonen erhalten ihre Daten von „Master“-Servern und stellen mit ihnen einen autoritativen Server zur Verfügung. Für einen „Resolver“ macht es keinen Unterschied, ob er Namen auflöst, indem er einen „Master“ oder einen „Slave“ danach fragt."
 
 #. type: deffn
 #: doc/guix.texi:19593
 msgid "The following data types are used to configure the Knot DNS server:"
-msgstr ""
+msgstr "Die folgenden Datentypen werden benutzt, um den Knot-DNS-Server zu konfigurieren:"
 
 #. type: deftp
 #: doc/guix.texi:19595
 #, no-wrap
 msgid "{Data Type} knot-key-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-key-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19598
 msgid "Data type representing a key.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der einen Schlüssel repräsentiert. Dieser Typ hat die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19600 doc/guix.texi:19620 doc/guix.texi:19735
 #: doc/guix.texi:19761 doc/guix.texi:19796
 #, no-wrap
 msgid "@code{id} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{id} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19603
 msgid "An identifier for other configuration fields to refer to this key. IDs must be unique and must not be empty."
-msgstr ""
+msgstr "Ein Identifikator, mit dem sich andere Konfigurationsfelder auf diesen Schlüssel beziehen können. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein."
 
 #. type: item
 #: doc/guix.texi:19604
 #, no-wrap
 msgid "@code{algorithm} (default: @code{#f})"
-msgstr ""
+msgstr "@code{algorithm} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19608
 msgid "The algorithm to use.  Choose between @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-sha384} and @code{'hmac-sha512}."
-msgstr ""
+msgstr "Der Algorithmus, der benutzt werden soll. Wählen Sie zwischen @code{#f}, @code{'hmac-md5}, @code{'hmac-sha1}, @code{'hmac-sha224}, @code{'hmac-sha256}, @code{'hmac-sha384} und @code{'hmac-sha512}."
 
 #. type: item
 #: doc/guix.texi:19609
 #, no-wrap
 msgid "@code{secret} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{secret} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19611
 msgid "The secret key itself."
-msgstr ""
+msgstr "Was dabei der geheime Schlüssel sein soll."
 
 #. type: deftp
 #: doc/guix.texi:19615
 #, no-wrap
 msgid "{Data Type} knot-acl-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-acl-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19618
 msgid "Data type representing an Access Control List (ACL) configuration.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration einer Zugriffssteuerungsliste („Access Control List“, ACL) repräsentiert. Dieser Typ hat die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:19623
 msgid "An identifier for ether configuration fields to refer to this key. IDs must be unique and must not be empty."
-msgstr ""
+msgstr "Ein Identifikator, mit dem sich andere Konfigurationsfelder auf diesen Schlüssel beziehen können. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein."
 
 #. type: item
 #: doc/guix.texi:19624 doc/guix.texi:19739
 #, no-wrap
 msgid "@code{address} (default: @code{'()})"
-msgstr ""
+msgstr "@code{address} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19628
 msgid "An ordered list of IP addresses, network subnets, or network ranges represented with strings.  The query must match one of them.  Empty value means that address match is not required."
-msgstr ""
+msgstr "Eine geordnete Liste aus IP-Adresse, Netzwerk-Subnetzen oder Netzwerkbereichen, die jeweils als Zeichenketten angegeben werden. Die Anfrage muss zu einem davon passen. Ein leerer Wert bedeutet, dass die Adresse nicht passen muss."
 
 #. type: item
 #: doc/guix.texi:19629
 #, no-wrap
 msgid "@code{key} (default: @code{'()})"
-msgstr ""
+msgstr "@code{key} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19633
 msgid "An ordered list of references to keys represented with strings.  The string must match a key ID defined in a @code{knot-key-configuration}.  No key means that a key is not require to match that ACL."
-msgstr ""
+msgstr "Eine geordnete Liste von Referenzen auf Schlüssel, die jeweils als Zeichenketten angegeben werden. Die Zeichenkette muss zu einem Schlüsselidentifikator passen, der in einem der @code{knot-key-configuration}-Objekte definiert wurde. Wenn kein Schlüssel angegeben wird, bedeutet das, dass kein Schlüssel zu dieser Zugriffssteuerungsliste passen muss."
 
 #. type: item
 #: doc/guix.texi:19634
 #, no-wrap
 msgid "@code{action} (default: @code{'()})"
-msgstr ""
+msgstr "@code{action} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19638
 msgid "An ordered list of actions that are permitted or forbidden by this ACL.  Possible values are lists of zero or more elements from @code{'transfer}, @code{'notify} and @code{'update}."
-msgstr ""
+msgstr "Eine geordete Liste der Aktionen, die von dieser Zugriffssteuerungsliste zugelassen oder gesperrt werden. Mögliche Werte sind Listen aus null oder mehr Elementen, die jeweils @code{'transfer}, @code{'notify} oder @code{'update} sind."
 
 #. type: item
 #: doc/guix.texi:19639
 #, no-wrap
 msgid "@code{deny?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{deny?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19642
 msgid "When true, the ACL defines restrictions.  Listed actions are forbidden.  When false, listed actions are allowed."
-msgstr ""
+msgstr "Wenn dies auf wahr steht, werden mit der Zugriffssteuerungsliste Einschränkungen festgelegt, d.h.@: aufgelistet Aktionen werden gesperrt. Steht es auf falsch, werden aufgelistete Aktionen zugelassen."
 
 #. type: deftp
 #: doc/guix.texi:19646
 #, no-wrap
 msgid "{Data Type} zone-entry"
-msgstr ""
+msgstr "{Datentyp} zone-entry"
 
 #. type: deftp
 #: doc/guix.texi:19649
 msgid "Data type represnting a record entry in a zone file.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der einen Eintrag in einer Zonendatei repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19651
 #, no-wrap
 msgid "@code{name} (default: @code{\"@@\"})"
-msgstr ""
+msgstr "@code{name} (Vorgabe: @code{\"@@\"})"
 
 #. type: table
 #: doc/guix.texi:19657
 msgid "The name of the record.  @code{\"@@\"} refers to the origin of the zone.  Names are relative to the origin of the zone.  For example, in the @code{example.org} zone, @code{\"ns.example.org\"} actually refers to @code{ns.example.org.example.org}.  Names ending with a dot are absolute, which means that @code{\"ns.example.org.\"} refers to @code{ns.example.org}."
-msgstr ""
+msgstr "Der Name des Eintrags. @code{\"@@\"} bezieht sich auf den Ursprung der Zone. Namen sind relativ zum Ursprung der Zone. Zum Beispiel bezieht sich in einer Zone @code{example.org} der Eintrag @code{\"ns.example.org\"} tatsächlich auf @code{ns.example.org.example.org}. Namen, die auf einen Punkt enden, sind absolut. Das bedeutet, dass sich @code{\"ns.example.org.\"} auf @code{ns.example.org} bezieht."
 
 #. type: item
 #: doc/guix.texi:19658
 #, no-wrap
 msgid "@code{ttl} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{ttl} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19660
 msgid "The Time-To-Live (TTL) of this record.  If not set, the default TTL is used."
-msgstr ""
+msgstr "Wie lange dieser Eintrag zwischengespeichert werden darf, d.h.@: seine „Time-To-Live“ (TTL). Ist sie nicht festgelegt, wird die voreingestellte TTL benutzt."
 
 #. type: item
 #: doc/guix.texi:19661
 #, no-wrap
 msgid "@code{class} (default: @code{\"IN\"})"
-msgstr ""
+msgstr "@code{class} (Vorgabe: @code{\"IN\"})"
 
 #. type: table
 #: doc/guix.texi:19664
 msgid "The class of the record.  Knot currently supports only @code{\"IN\"} and partially @code{\"CH\"}."
-msgstr ""
+msgstr "Welche Klasse der Eintrag hat. Derzeit unterstützt Knot nur @code{\"IN\"} und teilweise @code{\"CH\"}."
 
 #. type: item
 #: doc/guix.texi:19665
 #, no-wrap
 msgid "@code{type} (default: @code{\"A\"})"
-msgstr ""
+msgstr "@code{type} (Vorgabe: @code{\"A\"})"
 
 #. type: table
 #: doc/guix.texi:19669
 msgid "The type of the record.  Common types include A (IPv4 address), AAAA (IPv6 address), NS (Name Server) and MX (Mail eXchange).  Many other types are defined."
-msgstr ""
+msgstr "Der Typ des Eintrags. Zu den üblichen Typen gehören A (für eine IPv4-Adresse), AAAA (für eine IPv6-Adresse), NS (der Namens-Server) und MX („Mail eXchange“ für E-Mails). Viele andere Typen sind auch definiert."
 
 #. type: item
 #: doc/guix.texi:19670
 #, no-wrap
 msgid "@code{data} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{data} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19674
 msgid "The data contained in the record.  For instance an IP address associated with an A record, or a domain name associated with an NS record.  Remember that domain names are relative to the origin unless they end with a dot."
-msgstr ""
+msgstr "Die Daten, die im Eintrag stehen, zum Beispiel eine IP-Adresse bei einem A-Eintrag oder ein Domain-Name bei einem NS-Eintrag. Bedenken Sie, dass Domain-Namen relativ zum Ursprung angegeben werden, außer wenn sie auf einen Punkt enden."
 
 #. type: deftp
 #: doc/guix.texi:19678
 #, no-wrap
 msgid "{Data Type} zone-file"
-msgstr ""
+msgstr "{Datentyp} zone-file"
 
 #. type: deftp
 #: doc/guix.texi:19681
 msgid "Data type representing the content of a zone file.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der den Inhalt einer Zonendatei repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:19690
 msgid "The list of entries.  The SOA record is taken care of, so you don't need to put it in the list of entries.  This list should probably contain an entry for your primary authoritative DNS server.  Other than using a list of entries directly, you can use @code{define-zone-entries} to define a object containing the list of entries more easily, that you can later pass to the @code{entries} field of the @code{zone-file}."
-msgstr ""
+msgstr "Die Liste der Einträge. Für den SOA-Eintrag wird automatisch gesorgt, also müssen Sie ihn nicht zur Liste der Einträge hinzufügen. In der Liste sollte vermutlich ein Eintrag für Ihren primären autoritativen DNS-Server stehen. Abgesehen vom direkten Aufzählen der Einträge können Sie @code{define-zone-entries} verwenden, um ein Objekt zu definieren, worin eine Liste von Einträgen leichter angegeben werden kann, und was sie dann im @code{entries}-Feld des @code{zone-file} angeben können."
 
 #. type: item
 #: doc/guix.texi:19691
 #, no-wrap
 msgid "@code{origin} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{origin} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19693
 msgid "The name of your zone.  This parameter cannot be empty."
-msgstr ""
+msgstr "Der Name Ihrer Zone. Dieser Parameter darf nicht leer sein."
 
 #. type: item
 #: doc/guix.texi:19694
 #, no-wrap
 msgid "@code{ns} (default: @code{\"ns\"})"
-msgstr ""
+msgstr "@code{ns} (Vorgabe: @code{\"ns\"})"
 
 #. type: table
 #: doc/guix.texi:19699
 msgid "The domain of your primary authoritative DNS server.  The name is relative to the origin, unless it ends with a dot.  It is mandatory that this primary DNS server corresponds to an NS record in the zone and that it is associated to an IP address in the list of entries."
-msgstr ""
+msgstr "Die Domain Ihres primären autoritativen DNS-Servers. Der Name wird relativ zum Ursprung angegeben, außer wenn er auf einen Punkt endet. Dieser primäre DNS-Server @emph{muss} verpflichtend einem NS-Eintrag in der Zone entsprechen, dem eine IP-Adresse in der Liste der Einträge zugeordnet werden muss."
 
 #. type: item
 #: doc/guix.texi:19700
 #, no-wrap
 msgid "@code{mail} (default: @code{\"hostmaster\"})"
-msgstr ""
+msgstr "@code{mail} (Vorgabe: @code{\"hostmaster\"})"
 
 #. type: table
 #: doc/guix.texi:19703
 msgid "An email address people can contact you at, as the owner of the zone.  This is translated as @code{<mail>@@<origin>}."
-msgstr ""
+msgstr "Eine E-Mail-Adresse, unter der man Sie als für diese Zone Verantwortlichen („Besitzer“/„Owner“) kontaktieren kann. Sie wird zu @code{<mail>@@<origin>} umgeschrieben."
 
 #. type: item
 #: doc/guix.texi:19704
 #, no-wrap
 msgid "@code{serial} (default: @code{1})"
-msgstr ""
+msgstr "@code{serial} (Vorgabe: @code{1})"
 
 #. type: table
 #: doc/guix.texi:19708
 msgid "The serial number of the zone.  As this is used to keep track of changes by both slaves and resolvers, it is mandatory that it @emph{never} decreases.  Always increment it when you make a change in your zone."
-msgstr ""
+msgstr "Die Seriennummer der Zone. Da sie von sowohl „Slaves“ als auch „Resolvern“ benutzt wird, um bei Änderungen auf dem Laufenden zu bleiben, ist es notwendig, dass sie @emph{niemals} kleiner gemacht wird. Erhöhen Sie sie, wann immer Sie eine Änderung an Ihrer Zone durchführen."
 
 #. type: item
 #: doc/guix.texi:19709
 #, no-wrap
 msgid "@code{refresh} (default: @code{(* 2 24 3600)})"
-msgstr ""
+msgstr "@code{refresh} (Vorgabe: @code{(* 2 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19713
 msgid "The frequency at which slaves will do a zone transfer.  This value is a number of seconds.  It can be computed by multiplications or with @code{(string->duration)}."
-msgstr ""
+msgstr "Die Häufigkeit, wie oft Slaves eine Zonenübertragung („Zone Transfer“) durchführen. Als Wert wird eine Anzahl von Sekunden angegeben. Sie kann über eine Multiplikation oder mit @code{(string->duration)} angegeben werden."
 
 #. type: item
 #: doc/guix.texi:19714
 #, no-wrap
 msgid "@code{retry} (default: @code{(* 15 60)})"
-msgstr ""
+msgstr "@code{retry} (Vorgabe: @code{(* 15 60)})"
 
 #. type: table
 #: doc/guix.texi:19717
 msgid "The period after which a slave will retry to contact its master when it fails to do so a first time."
-msgstr ""
+msgstr "Nach welcher Zeitperiode ein Slave versuchen wird, Kontakt mit seinem Master aufzunehmen, wenn er ihn beim ersten Mal nicht erreichen kann."
 
 #. type: item
 #: doc/guix.texi:19718
 #, no-wrap
 msgid "@code{expiry} (default: @code{(* 14 24 3600)})"
-msgstr ""
+msgstr "@code{expiry} (Vorgabe: @code{(* 14 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19722
 msgid "Default TTL of records.  Existing records are considered correct for at most this amount of time.  After this period, resolvers will invalidate their cache and check again that it still exists."
-msgstr ""
+msgstr "Die Voreinstellung, welche TTL für Einträge verwendet werden soll. Bestehende Einträge werden für höchstens diese Zeitspanne als korrekt angesehen. Nach Ablauf dieser Zeitspanne werden „Resolver“ ihren Zwischenspeicher als ungültig markieren und erneut prüfen, ob der Eintrag noch existiert."
 
 #. type: item
 #: doc/guix.texi:19723
 #, no-wrap
 msgid "@code{nx} (default: @code{3600})"
-msgstr ""
+msgstr "@code{nx} (Vorgabe: @code{3600})"
 
 #. type: table
 #: doc/guix.texi:19726
 msgid "Default TTL of inexistant records.  This delay is usually short because you want your new domains to reach everyone quickly."
-msgstr ""
+msgstr "Die voreingestellte TTL der @emph{nicht} existierenden Einträge. Sie stellt normalerweise eine kurze Verzögerung dar, weil Sie möchten, dass neue Domains für jeden schnell erkannt werden."
 
 #. type: deftp
 #: doc/guix.texi:19730
 #, no-wrap
 msgid "{Data Type} knot-remote-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-remote-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19733
 msgid "Data type representing a remote configuration.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration eines entfernten Servers („Remote“) repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:19738
 msgid "An identifier for other configuration fields to refer to this remote. IDs must be unique and must not be empty."
-msgstr ""
+msgstr "Ein Identifikator, mit dem man sich in anderen Konfigurationsfeldern auf diesen entfernten Server („Remote“) beziehen kann. IDs müssen eindeutig sein und dürfen @emph{nicht} leer sein."
 
 #. type: table
 #: doc/guix.texi:19743
 msgid "An ordered list of destination IP addresses.  Addresses are tried in sequence.  An optional port can be given with the @@ separator.  For instance: @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}.  Default port is 53."
-msgstr ""
+msgstr "Eine geordnete Liste der Empfänger-IP-Adressen. Adressen werden der Reihe nach durchprobiert. Optional kann eine Portnummer nach dem Trennzeichen @@ angegeben werden, zum Beispiel als @code{(list \"1.2.3.4\" \"2.3.4.5@@53\")}. Die Vorgabe ist 53."
 
 #. type: item
 #: doc/guix.texi:19744
 #, no-wrap
 msgid "@code{via} (default: @code{'()})"
-msgstr ""
+msgstr "@code{via} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19748
 msgid "An ordered list of source IP addresses.  An empty list will have Knot choose an appropriate source IP.  An optional port can be given with the @@ separator.  The default is to choose at random."
-msgstr ""
+msgstr "Eine geordnete Liste der Quell-IP-Adressen. Eine leere Liste wird Knot eine sinnvolle Quell-IP-Adresse auswählen lassen. Optional kann eine Portnummer nach dem Trennzeichen @@ angegeben werden. Die Vorgabe wird zufällig ausgewählt."
 
 #. type: item
 #: doc/guix.texi:19749
 #, no-wrap
 msgid "@code{key} (default: @code{#f})"
-msgstr ""
+msgstr "@code{key} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19752
 msgid "A reference to a key, that is a string containing the identifier of a key defined in a @code{knot-key-configuration} field."
-msgstr ""
+msgstr "Ein Verweis auf einen Schlüssel („Key“), also eine Zeichenkette, die den Identifikator eines Schlüssels enthält, der in einem @code{knot-key-configuration}-Feld festgelegt wurde."
 
 #. type: deftp
 #: doc/guix.texi:19756
 #, no-wrap
 msgid "{Data Type} knot-keystore-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-keystore-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19759
 msgid "Data type representing a keystore to hold dnssec keys.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der einen Schlüsselspeicher („Keystore“) repräsentiert, um DNSSEC-Schlüssel zu fassen. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:19763
 msgid "The id of the keystore.  It must not be empty."
-msgstr ""
+msgstr "Der Identifikator des Schlüsselspeichers. Er darf nicht leer gelassen werden."
 
 #. type: item
 #: doc/guix.texi:19764
 #, no-wrap
 msgid "@code{backend} (default: @code{'pem})"
-msgstr ""
+msgstr "@code{backend} (Vorgabe: @code{'pem})"
 
 #. type: table
 #: doc/guix.texi:19766
 msgid "The backend to store the keys in.  Can be @code{'pem} or @code{'pkcs11}."
-msgstr ""
+msgstr "Die Art von Hintergrundspeicher, in dem Schlüssel eingetragen werden. Sie kann @code{'pem} oder @code{'pkcs11} sein."
 
 #. type: item
 #: doc/guix.texi:19767
 #, no-wrap
 msgid "@code{config} (default: @code{\"/var/lib/knot/keys/keys\"})"
-msgstr ""
+msgstr "@code{config} (Vorgabe: @code{\"/var/lib/knot/keys/keys\"})"
 
 #. type: table
 #: doc/guix.texi:19771
 msgid "The configuration string of the backend.  An example for the PKCS#11 is: @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/.../lib/pkcs11/libsofthsm2.so\"}.  For the pem backend, the string reprensents a path in the file system."
-msgstr ""
+msgstr "Die Zeichenkette mit der Konfiguration des Hintergrundspeichers. Ein Beispiel für die PKCS#11 ist @code{\"pkcs11:token=knot;pin-value=1234 /gnu/store/…/lib/pkcs11/libsofthsm2.so\"}. Für pem als Hintergrundspeicher repräsentiert die Zeichenkette einen Pfad im Dateisystem."
 
 #. type: deftp
 #: doc/guix.texi:19775
 #, no-wrap
 msgid "{Data Type} knot-policy-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-policy-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19779
 msgid "Data type representing a dnssec policy.  Knot DNS is able to automatically sign your zones.  It can either generate and manage your keys automatically or use keys that you generate."
-msgstr ""
+msgstr "Datentyp, der die DNSSEC-Richtlinie repräsentiert. Knot DNS kann Ihre Zonen automatisch signieren. Der Dienst kann Ihre Schlüssel automatisch erzeugen und verwalten oder Schlüssel benutzen, die Sie selbst erzeugen."
 
 #. type: deftp
 #: doc/guix.texi:19786
 msgid "Dnssec is usually implemented using two keys: a Key Signing Key (KSK) that is used to sign the second, and a Zone Signing Key (ZSK) that is used to sign the zone.  In order to be trusted, the KSK needs to be present in the parent zone (usually a top-level domain).  If your registrar supports dnssec, you will have to send them your KSK's hash so they can add a DS record in their zone.  This is not automated and need to be done each time you change your KSK."
-msgstr ""
+msgstr "DNSSEC wird in der Regel mit zwei Schlüsseln implementiert: Ein Schlüssel, mit dem Schlüssel signiert werden („Key Signing Key“, KSK), signiert den zweiten Schlüssel, einen Schlüssel, der Zonen signiert („Zone Signing Key“, ZSK), mit dem die Zone signiert wird. Damit er als vertrauenswürdig angesehen wird, muss der KSK in der Elternzone stehen (meistens ist das eine Top-Level-Domain). Wenn Ihr Registrar DNSSEC unterstützt, müssen Sie ihm den Hash Ihres KSK übermitteln, damit er einen DS-Eintrag für Ihre Zone hinzufügen kann. Das passiert nicht automatisch und muss jedes Mal wiederholt werden, wenn Sie Ihren KSK ändern."
 
 #. type: deftp
 #: doc/guix.texi:19792
 msgid "The policy also defines the lifetime of keys.  Usually, ZSK can be changed easily and use weaker cryptographic functions (they use lower parameters) in order to sign records quickly, so they are changed often.  The KSK however requires manual interaction with the registrar, so they are changed less often and use stronger parameters because they sign only one record."
-msgstr ""
+msgstr "Die Richtlinie legt auch fest, wie lange Ihre Schlüssel gültig bleiben. Normalerweise kann der ZSK leicht geändert werden und benutzt kryptografisch schwächere Funktionen (also niedrigere Parameter), damit Einträge schnell signiert werden können, wodurch man sie oft verändern kann. Der KSK setzt jedoch eine manuelle Interaktion mit dem Registrar voraus, also werden sie weniger oft geändert und verwenden stärkere Parameter, weil mit ihnen nur ein einziger Eintrag signiert wird."
 
 #. type: deftp
 #: doc/guix.texi:19794
 msgid "This type has the following parameters:"
-msgstr ""
+msgstr "Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:19798
 msgid "The id of the policy.  It must not be empty."
-msgstr ""
+msgstr "Der Identifikator der Richtlinie. Er darf nicht leer sein."
 
 #. type: item
 #: doc/guix.texi:19799
 #, no-wrap
 msgid "@code{keystore} (default: @code{\"default\"})"
-msgstr ""
+msgstr "@code{keystore} (Vorgabe: @code{\"default\"})"
 
 #. type: table
 #: doc/guix.texi:19804
 msgid "A reference to a keystore, that is a string containing the identifier of a keystore defined in a @code{knot-keystore-configuration} field.  The @code{\"default\"} identifier means the default keystore (a kasp database that was setup by this service)."
-msgstr ""
+msgstr "Eine Referenz auf einen Schlüsselspeicher („Keystore“), also eine Zeichenkette, die den Identifikator eines Schlüsselspeichers enthält, der in einem @code{knot-keystore-configuration}-Feld gespeichert ist. Der Identifikator @code{\"default\"} sorgt dafür, dass der vorgegebene Schlüsselspeicher verwendet wird (eine KASP-Datenbank, die durch diesen Dienst eingerichtet wurde)."
 
 #. type: item
 #: doc/guix.texi:19805
 #, no-wrap
 msgid "@code{manual?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{manual?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19807
 msgid "Whether the key management is manual or automatic."
-msgstr ""
+msgstr "Ob Schlüssel manuell verwaltet werden sollen; andernfalls werden sie automatisch verwaltet."
 
 #. type: item
 #: doc/guix.texi:19808
 #, no-wrap
 msgid "@code{single-type-signing?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{single-type-signing?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19810
 msgid "When @code{#t}, use the Single-Type Signing Scheme."
-msgstr ""
+msgstr "Wenn es auf @code{#t} steht, werden dieselben Schlüssel als KSK und ZSK verwendet („Single-Type Signing Scheme“)."
 
 #. type: item
 #: doc/guix.texi:19811
 #, no-wrap
 msgid "@code{algorithm} (default: @code{\"ecdsap256sha256\"})"
-msgstr ""
+msgstr "@code{algorithm} (Vorgabe: @code{\"ecdsap256sha256\"})"
 
 #. type: table
 #: doc/guix.texi:19813
 msgid "An algorithm of signing keys and issued signatures."
-msgstr ""
+msgstr "Ein Algorithmus für zum Signieren verwendete Schlüssel und ausgestellte Signaturen."
 
 #. type: item
 #: doc/guix.texi:19814
 #, no-wrap
 msgid "@code{ksk-size} (default: @code{256})"
-msgstr ""
+msgstr "@code{ksk-size} (Vorgabe: @code{256})"
 
 #. type: table
 #: doc/guix.texi:19817
 msgid "The length of the KSK.  Note that this value is correct for the default algorithm, but would be unsecure for other algorithms."
-msgstr ""
+msgstr "Die Länge des KSK. Beachten Sie, dass dieser Wert für den vorgegebenen Algorithmus korrekt ist, aber für andere Algorithmen @emph{nicht} sicher wäre."
 
 #. type: item
 #: doc/guix.texi:19818
 #, no-wrap
 msgid "@code{zsk-size} (default: @code{256})"
-msgstr ""
+msgstr "@code{zsk-size} (Vorgabe: @code{256})"
 
 #. type: table
 #: doc/guix.texi:19821
 msgid "The length of the ZSK.  Note that this value is correct for the default algorithm, but would be unsecure for other algorithms."
-msgstr ""
+msgstr "Die Länge des ZSK. Beachten Sie, dass dieser Wert für den vorgegebenen Algorithmus korrekt ist, aber für andere Algorithmen @emph{nicht} sicher wäre."
 
 #. type: item
 #: doc/guix.texi:19822
 #, no-wrap
 msgid "@code{dnskey-ttl} (default: @code{'default})"
-msgstr ""
+msgstr "@code{dnskey-ttl} (Vorgabe: @code{'default})"
 
 #. type: table
 #: doc/guix.texi:19825
 msgid "The TTL value for DNSKEY records added into zone apex.  The special @code{'default} value means same as the zone SOA TTL."
-msgstr ""
+msgstr "Der TTL-Wert für DNSKEY-Einträge, die die Wurzel der Zone betreffen. Der besondere Wert @code{'default} bedeutet, dass dieselbe TTL wie für den SOA-Eintrag der Zone verwendet wird."
 
 #. type: item
 #: doc/guix.texi:19826
 #, no-wrap
 msgid "@code{zsk-lifetime} (default: @code{(* 30 24 3600)})"
-msgstr ""
+msgstr "@code{zsk-lifetime} (Vorgabe: @code{(* 30 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19828
 msgid "The period between ZSK publication and the next rollover initiation."
-msgstr ""
+msgstr "Die Zeitspanne zwischen der Veröffentlichung eines ZSK und dem Anfang des nächsten Schlüsselübergangs („Key Rollover“)."
 
 #. type: item
 #: doc/guix.texi:19829
 #, no-wrap
 msgid "@code{propagation-delay} (default: @code{(* 24 3600)})"
-msgstr ""
+msgstr "@code{propagation-delay} (Vorgabe: @code{(* 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19832
 msgid "An extra delay added for each key rollover step.  This value should be high enough to cover propagation of data from the master server to all slaves."
-msgstr ""
+msgstr "Eine zusätzliche Verlängerung, die bei jedem Schritt im Schlüsselübergang („Key Rollover“) gewartet wird. Dieser Wert sollte hoch genug sein, damit in dieser Zeit Daten vom Master-Server alle Slaves erreichen."
 
 #. type: item
 #: doc/guix.texi:19833
 #, no-wrap
 msgid "@code{rrsig-lifetime} (default: @code{(* 14 24 3600)})"
-msgstr ""
+msgstr "@code{rrsig-lifetime} (Vorgabe: @code{(* 14 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19835
 msgid "A validity period of newly issued signatures."
-msgstr ""
+msgstr "Wie lange neu ausgestellte Signaturen gültig bleiben."
 
 #. type: item
 #: doc/guix.texi:19836
 #, no-wrap
 msgid "@code{rrsig-refresh} (default: @code{(* 7 24 3600)})"
-msgstr ""
+msgstr "@code{rrsig-refresh} (Vorgabe: @code{(* 7 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19838
 msgid "A period how long before a signature expiration the signature will be refreshed."
-msgstr ""
+msgstr "Wie lange im Voraus vor einem Auslaufen der Signatur diese Signatur erneuert werden soll."
 
 #. type: item
 #: doc/guix.texi:19839
 #, no-wrap
 msgid "@code{nsec3?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{nsec3?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19841
 msgid "When @code{#t}, NSEC3 will be used instead of NSEC."
-msgstr ""
+msgstr "Ist es auf @code{#t} gesetzt, wird NSEC3 statt NSEC benutzt."
 
 #. type: item
 #: doc/guix.texi:19842
 #, no-wrap
 msgid "@code{nsec3-iterations} (default: @code{5})"
-msgstr ""
+msgstr "@code{nsec3-iterations} (Vorgabe: @code{5})"
 
 #. type: table
 #: doc/guix.texi:19844
 msgid "The number of additional times the hashing is performed."
-msgstr ""
+msgstr "Wie oft zusätzlich gehasht werden soll."
 
 #. type: item
 #: doc/guix.texi:19845
 #, no-wrap
 msgid "@code{nsec3-salt-length} (default: @code{8})"
-msgstr ""
+msgstr "@code{nsec3-salt-length} (Vorgabe: @code{8})"
 
 #. type: table
 #: doc/guix.texi:19848
 msgid "The length of a salt field in octets, which is appended to the original owner name before hashing."
-msgstr ""
+msgstr "Wie lange das kryptografische „Salt“ sein soll, als Anzahl von Oktetten. Es wird vor dem Hashen an den Namen des ursprünglichen Besitzers angehängt."
 
 #. type: item
 #: doc/guix.texi:19849
 #, no-wrap
 msgid "@code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})"
-msgstr ""
+msgstr "@code{nsec3-salt-lifetime} (Vorgabe: @code{(* 30 24 3600)})"
 
 #. type: table
 #: doc/guix.texi:19851
 msgid "The validity period of newly issued salt field."
-msgstr ""
+msgstr "Wie lange das neu ausgestellte Salt-Feld gültig bleiben soll."
 
 #. type: deftp
 #: doc/guix.texi:19855
 #, no-wrap
 msgid "{Data Type} knot-zone-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-zone-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19858
 msgid "Data type representing a zone served by Knot.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der eine durch Knot verfügbar gemachte Zone repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19860
 #, no-wrap
 msgid "@code{domain} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{domain} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19862
 msgid "The domain served by this configuration.  It must not be empty."
-msgstr ""
+msgstr "Die Domain, die durch diese Konfiguration zur Verfügung gestellt wird. Sie darf nicht leer sein."
 
 #. type: item
 #: doc/guix.texi:19863
 #, no-wrap
 msgid "@code{file} (default: @code{\"\"})"
-msgstr ""
+msgstr "@code{file} (Vorgabe: @code{\"\"})"
 
 #. type: table
 #: doc/guix.texi:19866
 msgid "The file where this zone is saved.  This parameter is ignored by master zones.  Empty means default location that depends on the domain name."
-msgstr ""
+msgstr "Die Datei, in der diese Zone abgespeichert wird. Dieser Parameter wird bei Master-Zonen ignoriert. Bleibt er leer, wird die vom Domain-Namen abhängige Voreinstellung benutzt."
 
 #. type: item
 #: doc/guix.texi:19867
 #, no-wrap
 msgid "@code{zone} (default: @code{(zone-file)})"
-msgstr ""
+msgstr "@code{zone} (Vorgabe: @code{(zone-file)})"
 
 #. type: table
 #: doc/guix.texi:19870
 msgid "The content of the zone file.  This parameter is ignored by slave zones.  It must contain a zone-file record."
-msgstr ""
+msgstr "Der Inhalt der Zonendatei. Dieser Parameter wird bei Slave-Zonen ignoriert. Er muss ein Verbundsobjekt vom Typ @code{zone-file} enthalten."
 
 #. type: item
 #: doc/guix.texi:19871
 #, no-wrap
 msgid "@code{master} (default: @code{'()})"
-msgstr ""
+msgstr "@code{master} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19874
 msgid "A list of master remotes.  When empty, this zone is a master.  When set, this zone is a slave.  This is a list of remotes identifiers."
-msgstr ""
+msgstr "Eine Liste von als „Master“ geltenden entfernten Servern. Ist sie leer, ist diese Zone ein Master, sonst ein Slave. Es handelt sich um eine Liste von Identifikatoren entfernter Server („Remotes“)."
 
 #. type: item
 #: doc/guix.texi:19875
 #, no-wrap
 msgid "@code{ddns-master} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ddns-master} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19878
 msgid "The main master.  When empty, it defaults to the first master in the list of masters."
-msgstr ""
+msgstr "Der vorrangige „Master“. Ist dies leer, wird hierfür der erste Master aus der Liste der Master benutzt."
 
 #. type: item
 #: doc/guix.texi:19879
 #, no-wrap
 msgid "@code{notify} (default: @code{'()})"
-msgstr ""
+msgstr "@code{notify} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19881
 msgid "A list of slave remote identifiers."
-msgstr ""
+msgstr "Eine Liste der Identifikatoren von entfernten Slave-Servern („Remotes“)."
 
 #. type: item
 #: doc/guix.texi:19882
 #, no-wrap
 msgid "@code{acl} (default: @code{'()})"
-msgstr ""
+msgstr "@code{acl} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19884
 msgid "A list of acl identifiers."
-msgstr ""
+msgstr "Eine Liste von Identifikatoren von Zugriffssteuerungslisten."
 
 #. type: item
 #: doc/guix.texi:19885
 #, no-wrap
 msgid "@code{semantic-checks?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{semantic-checks?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19887
 msgid "When set, this adds more semantic checks to the zone."
-msgstr ""
+msgstr "Wenn dies festgelegt ist, werden für die Zone mehr semantische Überprüfungen durchgeführt."
 
 #. type: item
 #: doc/guix.texi:19888
 #, no-wrap
 msgid "@code{disable-any?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{disable-any?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:19890
 msgid "When set, this forbids queries of the ANY type."
-msgstr ""
+msgstr "Wenn dies gesetzt ist, werden Anfragen vom Typ ANY gesperrt."
 
 #. type: item
 #: doc/guix.texi:19891
 #, no-wrap
 msgid "@code{zonefile-sync} (default: @code{0})"
-msgstr ""
+msgstr "@code{zonefile-sync} (Vorgabe: @code{0})"
 
 #. type: table
 #: doc/guix.texi:19894
 msgid "The delay between a modification in memory and on disk.  0 means immediate synchronization."
-msgstr ""
+msgstr "Wie lange nach einer Änderung der im Arbeitsspeicher zwischengespeicherten Daten gewartet wird, bis die Daten auf die Platte geschrieben werden. Bei 0 werden sie sofort synchronisiert."
 
 #. type: item
 #: doc/guix.texi:19895
@@ -37273,47 +37409,47 @@ msgstr "@code{zonefile-load} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19898
 msgid "The way the zone file contents are applied during zone load.  Possible values are:"
-msgstr ""
+msgstr "Wie die in der Zonendatei gespeicherten Daten benutzt werden, wenn die Zone geladen wird. Mögliche Werte sind:"
 
 #. type: item
 #: doc/guix.texi:19900
 #, no-wrap
 msgid "@code{#f} for using the default value from Knot,"
-msgstr ""
+msgstr "@code{#f} sorgt dafür, dass nach der Voreinstellung von Knot verfahren wird,"
 
 #. type: item
 #: doc/guix.texi:19901
 #, no-wrap
 msgid "@code{'none} for not using the zone file at all,"
-msgstr ""
+msgstr "@code{'none} bewirkt, dass die Zonendatei überhaupt nicht benutzt wird,"
 
 #. type: item
 #: doc/guix.texi:19902
 #, no-wrap
 msgid "@code{'difference} for computing the difference between already available"
-msgstr ""
+msgstr "@code{'difference} lässt den Unterschied zwischen den bereits vorliegenden"
 
 #. type: itemize
 #: doc/guix.texi:19904
 msgid "contents and zone contents and applying it to the current zone contents,"
-msgstr ""
+msgstr "Daten und dem gespeicherten Inhalt der Zone berechnen, welcher dann zum vorliegenden Zoneninhalt hinzugenommen wird,"
 
 #. type: item
 #: doc/guix.texi:19904
 #, no-wrap
 msgid "@code{'difference-no-serial} for the same as @code{'difference}, but"
-msgstr ""
+msgstr "@code{'difference-no-serial} für dasselbe wie bei @code{'difference},"
 
 #. type: itemize
 #: doc/guix.texi:19907
 msgid "ignoring the SOA serial in the zone file, while the server takes care of it automatically."
-msgstr ""
+msgstr "aber die SOA-Seriennummer in der Zonendatei wird ignoriert und der Server kümmert sich automatisch darum."
 
 #. type: item
 #: doc/guix.texi:19907
 #, no-wrap
 msgid "@code{'whole} for loading zone contents from the zone file."
-msgstr ""
+msgstr "@code{'whole} lässt den ganzen Inhalt der Zone aus der Zonendatei auslesen."
 
 #. type: item
 #: doc/guix.texi:19910
@@ -37324,7 +37460,7 @@ msgstr "@code{journal-content} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19915
 msgid "The way the journal is used to store zone and its changes.  Possible values are @code{'none} to not use it at all, @code{'changes} to store changes and @code{'all} to store contents.  @code{#f} does not set this option, so the default value from Knot is used."
-msgstr ""
+msgstr "Wie in den Aufzeichnungen die Zone und Änderungen daran gespeichert werden sollen. Mögliche Werte sind @code{'none}, um keine Aufzeichnungen zu führen, @code{'changes}, um Änderungen zu speichern, und @code{'all}, wodurch der gesamte Inhalt gespeichert wird. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird."
 
 #. type: item
 #: doc/guix.texi:19916
@@ -37335,7 +37471,7 @@ msgstr "@code{max-journal-usage} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19919
 msgid "The maximum size for the journal on disk.  @code{#f} does not set this option, so the default value from Knot is used."
-msgstr ""
+msgstr "Die maximale Größe, die Aufzeichnungen für die Wiederherstellbarkeit („Journal“) auf der Platte einnehmen können. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird."
 
 #. type: item
 #: doc/guix.texi:19920
@@ -37346,7 +37482,7 @@ msgstr "@code{max-journal-depth} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19923
 msgid "The maximum size of the history.  @code{#f} does not set this option, so the default value from Knot is used."
-msgstr ""
+msgstr "Wieviele Aufzeichnungen höchstens im Änderungsverlauf gespeichert werden. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird."
 
 #. type: item
 #: doc/guix.texi:19924
@@ -37357,7 +37493,7 @@ msgstr "@code{max-zone-size} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19928
 msgid "The maximum size of the zone file.  This limit is enforced for incoming transfer and updates.  @code{#f} does not set this option, so the default value from Knot is used."
-msgstr ""
+msgstr "Die maximale Größe der Zonendatei. Diese Beschränkung wird auf eingehende Übertragungen und Aktualisierungen angewandt. Für @code{#f} wird dieser Wert nicht gesetzt, so dass der in Knot voreingestellte Wert benutzt wird."
 
 #. type: item
 #: doc/guix.texi:19929
@@ -37368,51 +37504,51 @@ msgstr "@code{dnssec-policy} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:19933
 msgid "A reference to a @code{knot-policy-configuration} record, or the special name @code{\"default\"}.  If the value is @code{#f}, there is no dnssec signing on this zone."
-msgstr ""
+msgstr "Ein Verweis auf ein @code{knot-policy-configuration}-Verbundsobjekt oder der besondere Name @code{\"default\"}, um die Voreinstellung von Knot zu verwenden. Wenn dies als der Wert @code{#f} angegeben wurde, findet in dieser Zone kein Signieren mit DNSSEC statt."
 
 #. type: item
 #: doc/guix.texi:19934
 #, no-wrap
 msgid "@code{serial-policy} (default: @code{'increment})"
-msgstr ""
+msgstr "@code{serial-policy} (Vorgabe: @code{'increment})"
 
 #. type: table
 #: doc/guix.texi:19936
 msgid "A policy between @code{'increment} and @code{'unixtime}."
-msgstr ""
+msgstr "Eine Richtlinie; entweder @code{'increment} (Seriennummer hochzählen) oder @code{'unixtime} (Unix-Zeitstempel verwenden)."
 
 #. type: deftp
 #: doc/guix.texi:19940
 #, no-wrap
 msgid "{Data Type} knot-configuration"
-msgstr ""
+msgstr "{Datentyp} knot-configuration"
 
 #. type: deftp
 #: doc/guix.texi:19943
 msgid "Data type representing the Knot configuration.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration von Knot repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:19945
 #, no-wrap
 msgid "@code{knot} (default: @code{knot})"
-msgstr ""
+msgstr "@code{knot} (Vorgabe: @code{knot})"
 
 #. type: table
 #: doc/guix.texi:19947
 msgid "The Knot package."
-msgstr ""
+msgstr "Das Knot-Paket."
 
 #. type: item
 #: doc/guix.texi:19948
 #, no-wrap
 msgid "@code{run-directory} (default: @code{\"/var/run/knot\"})"
-msgstr ""
+msgstr "@code{run-directory} (Vorgabe: @code{\"/var/run/knot\"})"
 
 #. type: table
 #: doc/guix.texi:19950
 msgid "The run directory.  This directory will be used for pid file and sockets."
-msgstr ""
+msgstr "Das Laufzeit-Verzeichnis („run“-Verzeichnis). In diesem Verzeichnis werden die PID-Datei mit dem Prozessidentifikator und Sockets gespeichert."
 
 #. type: item
 #: doc/guix.texi:19951
@@ -37434,84 +37570,84 @@ msgstr "Geheimnisse, Knot-Dienst"
 #. type: table
 #: doc/guix.texi:19961
 msgid "This can be used to manage secrets out-of-band.  For example, secret keys may be stored in an out-of-band file not managed by Guix, and thus not visible in @file{/gnu/store}---e.g., you could store secret key configuration in @file{/etc/knot/secrets.conf} and add this file to the @code{includes} list."
-msgstr ""
+msgstr "Hiermit können Geheimnisse abseits von Guix’ Zuständigkeitsbereich gespeichert werden. Zum Beispiel können Sie geheime Schlüssel so in einer externen Datei speichern, die nicht von Guix verwaltet und daher auch nicht von jedem in @file{/gnu/store} ausgelesen werden kann — Sie können etwa Ihre geheime Schlüsselkonfiguration in @file{/etc/knot/secrets.conf} speichern und diese Datei dann zu Ihrer @code{includes}-Liste hinzufügen."
 
 #. type: table
 #: doc/guix.texi:19963
 msgid "It can also be used to add configuration not supported by this interface."
-msgstr ""
+msgstr "Sie können die @code{includes} auch benutzen, um von der Guix-Schnittstelle nicht unterstützte Einstellungen festzulegen."
 
 #. type: item
 #: doc/guix.texi:19964
 #, no-wrap
 msgid "@code{listen-v4} (default: @code{\"0.0.0.0\"})"
-msgstr ""
+msgstr "@code{listen-v4} (Vorgabe: @code{\"0.0.0.0\"})"
 
 #. type: table
 #: doc/guix.texi:19966 doc/guix.texi:19969
 msgid "An ip address on which to listen."
-msgstr ""
+msgstr "Eine IP-Adresse, auf der gelauscht werden soll."
 
 #. type: item
 #: doc/guix.texi:19967
 #, no-wrap
 msgid "@code{listen-v6} (default: @code{\"::\"})"
-msgstr ""
+msgstr "@code{listen-v6} (Vorgabe: @code{\"::\"})"
 
 #. type: item
 #: doc/guix.texi:19970
 #, no-wrap
 msgid "@code{listen-port} (default: @code{53})"
-msgstr ""
+msgstr "@code{listen-port} (Vorgabe: @code{53})"
 
 #. type: table
 #: doc/guix.texi:19972
 msgid "A port on which to listen."
-msgstr ""
+msgstr "Ein Port, auf dem gelauscht werden soll."
 
 #. type: item
 #: doc/guix.texi:19973
 #, no-wrap
 msgid "@code{keys} (default: @code{'()})"
-msgstr ""
+msgstr "@code{keys} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19975
 msgid "The list of knot-key-configuration used by this configuration."
-msgstr ""
+msgstr "Die Liste der @code{knot-key-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen."
 
 #. type: item
 #: doc/guix.texi:19976
 #, no-wrap
 msgid "@code{acls} (default: @code{'()})"
-msgstr ""
+msgstr "@code{acls} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19978
 msgid "The list of knot-acl-configuration used by this configuration."
-msgstr ""
+msgstr "Die Liste der @code{knot-acl-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen."
 
 #. type: item
 #: doc/guix.texi:19979
 #, no-wrap
 msgid "@code{remotes} (default: @code{'()})"
-msgstr ""
+msgstr "@code{remotes} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19981
 msgid "The list of knot-remote-configuration used by this configuration."
-msgstr ""
+msgstr "Die Liste der @code{knot-remote-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen."
 
 #. type: item
 #: doc/guix.texi:19982
 #, no-wrap
 msgid "@code{zones} (default: @code{'()})"
-msgstr ""
+msgstr "@code{zones} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:19984
 msgid "The list of knot-zone-configuration used by this configuration."
-msgstr ""
+msgstr "Die Liste der @code{knot-zone-configuration}-Objekte, die von dieser Konfiguration benutzt werden sollen."
 
 #. type: subsubheading
 #: doc/guix.texi:19988
@@ -37523,12 +37659,12 @@ msgstr "Dnsmasq-Dienst"
 #: doc/guix.texi:19990
 #, no-wrap
 msgid "{Scheme Variable} dnsmasq-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} dnsmasq-service-type"
 
 #. type: deffn
 #: doc/guix.texi:19993
 msgid "This is the type of the dnsmasq service, whose value should be an @code{dnsmasq-configuration} object as in this example:"
-msgstr ""
+msgstr "Dies ist der Diensttyp des dnsmasq-Dienstes, dessen Wert ein @code{dnsmasq-configuration}-Objekt wie in diesem Beispiel sein sollte:"
 
 #. type: example
 #: doc/guix.texi:19999
@@ -37539,6 +37675,10 @@ msgid ""
 "           (no-resolv? #t)\n"
 "           (servers '(\"192.168.1.1\"))))\n"
 msgstr ""
+"(service dnsmasq-service-type\n"
+"         (dnsmasq-configuration\n"
+"           (no-resolv? #t)\n"
+"           (servers '(\"192.168.1.1\"))))\n"
 
 #. type: deftp
 #: doc/guix.texi:20002
@@ -37560,7 +37700,7 @@ msgstr "@code{package} (Vorgabe: @var{dnsmasq})"
 #. type: table
 #: doc/guix.texi:20008
 msgid "Package object of the dnsmasq server."
-msgstr ""
+msgstr "Paketobjekt des dnsmasq-Servers."
 
 #. type: item
 #: doc/guix.texi:20009
@@ -37571,7 +37711,7 @@ msgstr "@code{no-hosts?} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:20011
 msgid "When true, don't read the hostnames in /etc/hosts."
-msgstr ""
+msgstr "Ist es auf wahr gesetzt, werden keine Rechnernamen („Hostnames“) aus /etc/hosts ausgelesen."
 
 #. type: item
 #: doc/guix.texi:20012
@@ -37582,7 +37722,7 @@ msgstr "@code{port} (Vorgabe: @code{53})"
 #. type: table
 #: doc/guix.texi:20015
 msgid "The port to listen on.  Setting this to zero completely disables DNS responses, leaving only DHCP and/or TFTP functions."
-msgstr ""
+msgstr "Der Port, auf dem gelauscht werden soll. Wird dies auf null gesetzt, werden keinerlei DNS-Anfragen beantwortet und es bleiben nur DHCP- und/oder TFTP-Funktionen."
 
 #. type: item
 #: doc/guix.texi:20016
@@ -37593,7 +37733,7 @@ msgstr "@code{local-service?} (Vorgabe: @code{#t})"
 #. type: table
 #: doc/guix.texi:20019
 msgid "Accept DNS queries only from hosts whose address is on a local subnet, ie a subnet for which an interface exists on the server."
-msgstr ""
+msgstr "DNS-Anfragen nur von Rechnern akzeptieren, deren Adresse auf einem lokalen Subnetz liegt, d.h.@: einem Subnetz, für dem auf dem Server eine Schnittstelle existiert."
 
 #. type: item
 #: doc/guix.texi:20020
@@ -37604,7 +37744,7 @@ msgstr "@code{listen-addresses} (Vorgabe: @code{'()})"
 #. type: table
 #: doc/guix.texi:20022
 msgid "Listen on the given IP addresses."
-msgstr ""
+msgstr "Lässt auf den angegebenen IP-Adressen lauschen."
 
 #. type: item
 #: doc/guix.texi:20023
@@ -37615,7 +37755,7 @@ msgstr "@code{resolv-file} (Vorgabe: @code{\"/etc/resolv.conf\"})"
 #. type: table
 #: doc/guix.texi:20025
 msgid "The file to read the IP address of the upstream nameservers from."
-msgstr ""
+msgstr "Aus welcher Datei die IP-Adresse der zu verwendenden Namensserver gelesen werden sollen."
 
 #. type: item
 #: doc/guix.texi:20026
@@ -37626,12 +37766,12 @@ msgstr "@code{no-resolv?} (Vorgabe: @code{#f})"
 #. type: table
 #: doc/guix.texi:20028
 msgid "When true, don't read @var{resolv-file}."
-msgstr ""
+msgstr "Wenn es auf wahr steht, wird das @var{resolv-file} nicht gelesen."
 
 #. type: table
 #: doc/guix.texi:20031
 msgid "Specify IP address of upstream servers directly."
-msgstr ""
+msgstr "Geben Sie die IP-Adresse von anzufragenden Servern direkt an."
 
 #. type: item
 #: doc/guix.texi:20032
@@ -37642,7 +37782,7 @@ msgstr "@code{cache-size} (Vorgabe: @code{150})"
 #. type: table
 #: doc/guix.texi:20035
 msgid "Set the size of dnsmasq's cache.  Setting the cache size to zero disables caching."
-msgstr ""
+msgstr "Bestimmt die Größe des Zwischenspeichers von dnsmasq. Wird die Zwischenspeichergröße auf null festgelegt, wird kein Zwischenspeicher benutzt."
 
 #. type: item
 #: doc/guix.texi:20036
@@ -37653,7 +37793,7 @@ msgstr "@code{negative-cache?} (Vorgabe: @code{#t})"
 #. type: table
 #: doc/guix.texi:20038
 msgid "When false, disable negative caching."
-msgstr ""
+msgstr "Ist dies auf falsch gesetzt, werden Negativergebnisse nicht zwischengespeichert."
 
 #. type: subsubheading
 #: doc/guix.texi:20042
@@ -37665,39 +37805,39 @@ msgstr "ddclient-Dienst"
 #: doc/guix.texi:20044
 #, no-wrap
 msgid "ddclient"
-msgstr ""
+msgstr "ddclient"
 
 #. type: Plain text
 #: doc/guix.texi:20048
 msgid "The ddclient service described below runs the ddclient daemon, which takes care of automatically updating DNS entries for service providers such as @uref{https://dyn.com/dns/, Dyn}."
-msgstr ""
+msgstr "Der im Folgenden beschriebene ddclient-Dienst führt den ddclient-Daemon aus, der dafür sorgt, dass DNS-Einträge für Dienstanbieter wie @uref{https://dyn.com/dns/, Dyn} automatisch aktualisiert werden."
 
 #. type: Plain text
 #: doc/guix.texi:20051
 msgid "The following example show instantiates the service with its default configuration:"
-msgstr ""
+msgstr "Das folgende Beispiel zeigt, wie man den Dienst mit seiner Vorgabekonfiguration instanziiert:"
 
 #. type: example
 #: doc/guix.texi:20054
 #, no-wrap
 msgid "(service ddclient-service-type)\n"
-msgstr ""
+msgstr "(service ddclient-service-type)\n"
 
 #. type: Plain text
 #: doc/guix.texi:20063
 msgid "Note that ddclient needs to access credentials that are stored in a @dfn{secret file}, by default @file{/etc/ddclient/secrets} (see @code{secret-file} below.)  You are expected to create this file manually, in an ``out-of-band'' fashion (you @emph{could} make this file part of the service configuration, for instance by using @code{plain-file}, but it will be world-readable @i{via} @file{/gnu/store}.)  See the examples in the @file{share/ddclient} directory of the @code{ddclient} package."
-msgstr ""
+msgstr "Beachten Sie, dass der ddclient auf Zugangsdaten zugreifen muss, die in einer @dfn{Geheimnisdatei} („Secret File“) stehen; nach Vorgabe wird sie in @file{/etc/ddclient/secrets} gesucht (siehe @code{secret-file} unten). Es wird erwartet, dass Sie diese Datei manuell erstellen, ohne Guix dafür zu benutzen (theoretisch @emph{könnten} Sie die Datei zu einem Teil Ihrer Dienstkonfiguration machen, indem Sie z.B.@: @code{plain-file} benutzen, aber dann könnte jeder über @file{/gnu/store} ihren Inhalt einsehen). Siehe die Beispiele im Verzeichnis @file{share/ddclient} des @code{ddclient}-Pakets."
 
 #. type: Plain text
 #: doc/guix.texi:20067
 msgid "Available @code{ddclient-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{ddclient-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20068
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} package ddclient"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} „package“ ddclient"
 
 #. type: deftypevr
 #: doc/guix.texi:20070
@@ -37708,45 +37848,45 @@ msgstr "Das ddclient-Paket."
 #: doc/guix.texi:20073
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} integer daemon"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Ganze-Zahl daemon"
 
 #. type: deftypevr
 #: doc/guix.texi:20075
 msgid "The period after which ddclient will retry to check IP and domain name."
-msgstr ""
+msgstr "Nach wieviel Zeit ddclient erneut versuchen wird, IP und Domain-Namen zu überprüfen."
 
 #. type: deftypevr
 #: doc/guix.texi:20080
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} boolean syslog"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Boolescher-Ausdruck syslog"
 
 #. type: deftypevr
 #: doc/guix.texi:20082
 msgid "Use syslog for the output."
-msgstr ""
+msgstr "Ob die Ausgabe an Syslog gehen soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20087
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string mail"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette mail"
 
 #. type: deftypevr
 #: doc/guix.texi:20089
 msgid "Mail to user."
-msgstr ""
+msgstr "An welchen Benutzer Mitteilungen gemailt werden sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:20091 doc/guix.texi:20098 doc/guix.texi:21435
 msgid "Defaults to @samp{\"root\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"root\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20094
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string mail-failure"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette mail-failure"
 
 #. type: deftypevr
 #: doc/guix.texi:20096
@@ -37757,7 +37897,7 @@ msgstr "Den Nutzer per Mail bei fehlgeschlagenen Aktualisierungen benachrichtige
 #: doc/guix.texi:20101
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string pid"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette pid"
 
 #. type: deftypevr
 #: doc/guix.texi:20103
@@ -37767,929 +37907,929 @@ msgstr "PID-Datei für den ddclient."
 #. type: deftypevr
 #: doc/guix.texi:20105
 msgid "Defaults to @samp{\"/var/run/ddclient/ddclient.pid\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/ddclient/ddclient.pid\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20108
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} boolean ssl"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Boolescher-Ausdruck ssl"
 
 #. type: deftypevr
 #: doc/guix.texi:20110
 msgid "Enable SSL support."
-msgstr ""
+msgstr "SSL-Unterstützung aktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:20115
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string user"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette user"
 
 #. type: deftypevr
 #: doc/guix.texi:20118
 msgid "Specifies the user name or ID that is used when running ddclient program."
-msgstr ""
+msgstr "Gibt den Namen oder Identifikator des Benutzerkontos an, unter dem das ddclient-Programm laufen soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20120 doc/guix.texi:20127
 msgid "Defaults to @samp{\"ddclient\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"ddclient\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20123
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string group"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette group"
 
 #. type: deftypevr
 #: doc/guix.texi:20125
 msgid "Group of the user who will run the ddclient program."
-msgstr ""
+msgstr "Die Gruppe des Benutzers, mit dem das ddclient-Programm läuft."
 
 #. type: deftypevr
 #: doc/guix.texi:20130
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} string secret-file"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Zeichenkette secret-file"
 
 #. type: deftypevr
 #: doc/guix.texi:20134
 msgid "Secret file which will be appended to @file{ddclient.conf} file.  This file contains credentials for use by ddclient.  You are expected to create it manually."
-msgstr ""
+msgstr "Die Geheimnisdatei („Secret File“), die an die erzeugte @file{ddclient.conf}-Datei angehängt wird. Diese Datei enthält die Zugangsdaten, die ddclient benutzen soll. Es wird erwartet, dass Sie sie manuell erzeugen."
 
 #. type: deftypevr
 #: doc/guix.texi:20136
 msgid "Defaults to @samp{\"/etc/ddclient/secrets.conf\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/ddclient/secrets.conf\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20139
 #, no-wrap
 msgid "{@code{ddclient-configuration} parameter} list extra-options"
-msgstr ""
+msgstr "{@code{ddclient-configuration}-Parameter} Liste extra-options"
 
 #. type: deftypevr
 #: doc/guix.texi:20141
 msgid "Extra options will be appended to @file{ddclient.conf} file."
-msgstr ""
+msgstr "Zusätzliche Einstellungsoptionen, die an die @file{ddclient.conf}-Datei angehängt werden."
 
 #. type: cindex
 #: doc/guix.texi:20152
 #, no-wrap
 msgid "VPN (virtual private network)"
-msgstr ""
+msgstr "VPN (Virtual Private Network)"
 
 #. type: cindex
 #: doc/guix.texi:20153
 #, no-wrap
 msgid "virtual private network (VPN)"
-msgstr ""
+msgstr "Virtual Private Network (VPN)"
 
 #. type: Plain text
 #: doc/guix.texi:20159
 msgid "The @code{(gnu services vpn)} module provides services related to @dfn{virtual private networks} (VPNs).  It provides a @emph{client} service for your machine to connect to a VPN, and a @emph{server} service for your machine to host a VPN.  Both services use @uref{https://openvpn.net/, OpenVPN}."
-msgstr ""
+msgstr "Das Modul @code{(gnu services vpn)} stellt Dienste zur Verfügung, die mit @dfn{Virtual Private Networks} (VPNs) zu tun haben. Darin wird ein @emph{Client}-Dienst angeboten, mit dem sich Ihre Maschine mit einem VPN verbinden kann, sowie ein @emph{Server}-Dienst, mit dem Sie auf Ihrer Maschine ein VPN betreiben können. Beide Dienste benutzen @uref{https://openvpn.net/, OpenVPN}."
 
 #. type: deffn
 #: doc/guix.texi:20160
 #, no-wrap
 msgid "{Scheme Procedure} openvpn-client-service @"
-msgstr ""
+msgstr "{Scheme-Prozedur} openvpn-client-service @"
 
 #. type: deffn
 #: doc/guix.texi:20162
 msgid "[#:config (openvpn-client-configuration)]"
-msgstr ""
+msgstr "[#:config (openvpn-client-configuration)]"
 
 #. type: deffn
 #: doc/guix.texi:20164
 msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a client."
-msgstr ""
+msgstr "Liefert einen Dienst, der den VPN-Daemon @command{openvpn} als Client ausführt."
 
 #. type: deffn
 #: doc/guix.texi:20166
 #, no-wrap
 msgid "{Scheme Procedure} openvpn-server-service @"
-msgstr ""
+msgstr "{Scheme-Prozedur} openvpn-server-service @"
 
 #. type: deffn
 #: doc/guix.texi:20168
 msgid "[#:config (openvpn-server-configuration)]"
-msgstr ""
+msgstr "[#:config (openvpn-server-configuration)]"
 
 #. type: deffn
 #: doc/guix.texi:20170
 msgid "Return a service that runs @command{openvpn}, a VPN daemon, as a server."
-msgstr ""
+msgstr "Liefert einen Dienst, der den VPN-Daemon @command{openvpn} als Server ausführt."
 
 #. type: deffn
 #: doc/guix.texi:20172
 msgid "Both can be run simultaneously."
-msgstr ""
+msgstr "Beide können zeitgleich laufen gelassen werden."
 
 #. type: Plain text
 #: doc/guix.texi:20177
 msgid "Available @code{openvpn-client-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{openvpn-client-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20178
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} package openvpn"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} „package“ openvpn"
 
 #. type: deftypevr
 #: doc/guix.texi:20180 doc/guix.texi:20316
 msgid "The OpenVPN package."
-msgstr ""
+msgstr "Das OpenVPN-Paket."
 
 #. type: deftypevr
 #: doc/guix.texi:20183
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} string pid-file"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette pid-file"
 
 #. type: deftypevr
 #: doc/guix.texi:20185 doc/guix.texi:20321
 msgid "The OpenVPN pid file."
-msgstr ""
+msgstr "Die Datei für den Prozessidentifikator („PID“) von OpenVPN."
 
 #. type: deftypevr
 #: doc/guix.texi:20187 doc/guix.texi:20323
 msgid "Defaults to @samp{\"/var/run/openvpn/openvpn.pid\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/openvpn/openvpn.pid\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20190
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} proto proto"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Protokoll proto"
 
 #. type: deftypevr
 #: doc/guix.texi:20193 doc/guix.texi:20329
 msgid "The protocol (UDP or TCP) used to open a channel between clients and servers."
-msgstr ""
+msgstr "Das Protokoll (UDP oder TCP), das benutzt werden soll, um einen Kommunikationskanal zwischen Clients und Servern herzustellen."
 
 #. type: deftypevr
 #: doc/guix.texi:20195 doc/guix.texi:20331
 msgid "Defaults to @samp{udp}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{udp}."
 
 #. type: deftypevr
 #: doc/guix.texi:20198
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} dev dev"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Gerät dev"
 
 #. type: deftypevr
 #: doc/guix.texi:20200 doc/guix.texi:20336
 msgid "The device type used to represent the VPN connection."
-msgstr ""
+msgstr "Der Gerätetyp, mit dem die VPN-Verbindung repräsentiert werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20202 doc/guix.texi:20338
 msgid "Defaults to @samp{tun}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{tun}."
 
 #. type: deftypevr
 #: doc/guix.texi:20205
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} string ca"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette ca"
 
 #. type: deftypevr
 #: doc/guix.texi:20207 doc/guix.texi:20343
 msgid "The certificate authority to check connections against."
-msgstr ""
+msgstr "Die Zertifikatsautorität, mit der Verbindungen geprüft werden."
 
 #. type: deftypevr
 #: doc/guix.texi:20209 doc/guix.texi:20345
 msgid "Defaults to @samp{\"/etc/openvpn/ca.crt\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/ca.crt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20212
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} string cert"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette cert"
 
 #. type: deftypevr
 #: doc/guix.texi:20215 doc/guix.texi:20351
 msgid "The certificate of the machine the daemon is running on.  It should be signed by the authority given in @code{ca}."
-msgstr ""
+msgstr "Das Zertifikat der Maschine, auf der der Daemon läuft. Es sollte von der in @code{ca} angegebenen Zertifikatsautorität signiert sein."
 
 #. type: deftypevr
 #: doc/guix.texi:20217 doc/guix.texi:20353
 msgid "Defaults to @samp{\"/etc/openvpn/client.crt\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/client.crt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20220
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} string key"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Zeichenkette key"
 
 #. type: deftypevr
 #: doc/guix.texi:20223 doc/guix.texi:20359
 msgid "The key of the machine the daemon is running on.  It must be the key whose certificate is @code{cert}."
-msgstr ""
+msgstr "Der Schlüssel der Maschine, auf der der Daemon läuft. Er muss der Schlüssel zum in @code{cert} angegebenen Zertifikat sein."
 
 #. type: deftypevr
 #: doc/guix.texi:20225 doc/guix.texi:20361
 msgid "Defaults to @samp{\"/etc/openvpn/client.key\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/client.key\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20228
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} boolean comp-lzo?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck comp-lzo?"
 
 #. type: deftypevr
 #: doc/guix.texi:20230 doc/guix.texi:20366
 msgid "Whether to use the lzo compression algorithm."
-msgstr ""
+msgstr "Ob der Kompressionsalgorithmus lzo benutzt werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20235
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} boolean persist-key?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck persist-key?"
 
 #. type: deftypevr
 #: doc/guix.texi:20237 doc/guix.texi:20373
 msgid "Don't re-read key files across SIGUSR1 or --ping-restart."
-msgstr ""
+msgstr "Die Schlüsseldateien nach Auftreten von SIGUSR1 oder --ping-restart @emph{nicht} erneut einlesen."
 
 #. type: deftypevr
 #: doc/guix.texi:20242
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} boolean persist-tun?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Boolescher-Ausdruck persist-tun?"
 
 #. type: deftypevr
 #: doc/guix.texi:20245 doc/guix.texi:20381
 msgid "Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts."
-msgstr ""
+msgstr "Nach dem Auftreten von SIGUSR1 oder --ping-restart TUN/TAP-Geräte @emph{nicht} schließen und wieder öffnen und auch keine Start-/Stop-Skripte ausführen."
 
 #. type: deftypevr
 #: doc/guix.texi:20250
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} number verbosity"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Zahl verbosity"
 
 #. type: deftypevr
 #: doc/guix.texi:20252 doc/guix.texi:20388
 msgid "Verbosity level."
-msgstr ""
+msgstr "Ausführlichkeitsstufe."
 
 #. type: deftypevr
 #: doc/guix.texi:20254 doc/guix.texi:20390 doc/guix.texi:21703
 #: doc/guix.texi:21926
 msgid "Defaults to @samp{3}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{3}."
 
 #. type: deftypevr
 #: doc/guix.texi:20257
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} tls-auth-client tls-auth"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} „tls-auth“-Clienteinstellung tls-auth"
 
 #. type: deftypevr
 #: doc/guix.texi:20260 doc/guix.texi:20396
 msgid "Add an additional layer of HMAC authentication on top of the TLS control channel to protect against DoS attacks."
-msgstr ""
+msgstr "Eine weitere HMAC-Authentifizierung zusätzlich zum TLS-Steuerungskanal einsetzen, um das System vor gezielten Überlastungsangriffen („Denial of Service“) zu schützen."
 
 #. type: deftypevr
 #: doc/guix.texi:20265
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} key-usage verify-key-usage?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Schlüsselprüfung verify-key-usage?"
 
 #. type: deftypevr
 #: doc/guix.texi:20267
 msgid "Whether to check the server certificate has server usage extension."
-msgstr ""
+msgstr "Ob sichergestellt werden soll, dass das Server-Zertifikat auch über eine Erweiterung („Extension“) verfügt, dass es für die Nutzung als Server gültig ist."
 
 #. type: deftypevr
 #: doc/guix.texi:20272
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} bind bind?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} bind bind?"
 
 #. type: deftypevr
 #: doc/guix.texi:20274
 msgid "Bind to a specific local port number."
-msgstr ""
+msgstr "Ob an immer dieselbe, feste lokale Portnummer gebunden wird."
 
 #. type: deftypevr
 #: doc/guix.texi:20279
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} resolv-retry resolv-retry?"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} Erneut-Auflösen resolv-retry?"
 
 #. type: deftypevr
 #: doc/guix.texi:20281
 msgid "Retry resolving server address."
-msgstr ""
+msgstr "Ob, wenn die Server-Adresse nicht aufgelöst werden konnte, die Auflösung erneut versucht wird."
 
 #. type: deftypevr
 #: doc/guix.texi:20286
 #, no-wrap
 msgid "{@code{openvpn-client-configuration} parameter} openvpn-remote-list remote"
-msgstr ""
+msgstr "{@code{openvpn-client-configuration}-Parameter} „openvpn-remote-configuration“-Liste remote"
 
 #. type: deftypevr
 #: doc/guix.texi:20288
 msgid "A list of remote servers to connect to."
-msgstr ""
+msgstr "Eine Liste entfernter Servern, mit denen eine Verbindung hergestellt werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20292
 msgid "Available @code{openvpn-remote-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{openvpn-remote-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20293
 #, no-wrap
 msgid "{@code{openvpn-remote-configuration} parameter} string name"
-msgstr ""
+msgstr "{@code{openvpn-remote-configuration}-Parameter} Zeichenkette name"
 
 #. type: deftypevr
 #: doc/guix.texi:20295
 msgid "Server name."
-msgstr ""
+msgstr "Der Servername."
 
 #. type: deftypevr
 #: doc/guix.texi:20297
 msgid "Defaults to @samp{\"my-server\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"my-server\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20300
 #, no-wrap
 msgid "{@code{openvpn-remote-configuration} parameter} number port"
-msgstr ""
+msgstr "{@code{openvpn-remote-configuration}-Parameter} Zahl port"
 
 #. type: deftypevr
 #: doc/guix.texi:20302
 msgid "Port number the server listens to."
-msgstr ""
+msgstr "Die Portnummer, auf der der Server lauscht."
 
 #. type: deftypevr
 #: doc/guix.texi:20304 doc/guix.texi:20405
 msgid "Defaults to @samp{1194}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{1194}."
 
 #. type: Plain text
 #: doc/guix.texi:20313
 msgid "Available @code{openvpn-server-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{openvpn-server-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20314
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} package openvpn"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} „package“ openvpn"
 
 #. type: deftypevr
 #: doc/guix.texi:20319
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string pid-file"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette pid-file"
 
 #. type: deftypevr
 #: doc/guix.texi:20326
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} proto proto"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Protokoll proto"
 
 #. type: deftypevr
 #: doc/guix.texi:20334
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} dev dev"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Gerät dev"
 
 #. type: deftypevr
 #: doc/guix.texi:20341
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string ca"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette ca"
 
 #. type: deftypevr
 #: doc/guix.texi:20348
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string cert"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette cert"
 
 #. type: deftypevr
 #: doc/guix.texi:20356
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string key"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette key"
 
 #. type: deftypevr
 #: doc/guix.texi:20364
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} boolean comp-lzo?"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck comp-lzo?"
 
 #. type: deftypevr
 #: doc/guix.texi:20371
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} boolean persist-key?"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck persist-key?"
 
 #. type: deftypevr
 #: doc/guix.texi:20378
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} boolean persist-tun?"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck persist-tun?"
 
 #. type: deftypevr
 #: doc/guix.texi:20386
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} number verbosity"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl verbosity"
 
 #. type: deftypevr
 #: doc/guix.texi:20393
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} tls-auth-server tls-auth"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} „tls-auth“-Servereinstellung tls-auth"
 
 #. type: deftypevr
 #: doc/guix.texi:20401
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} number port"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl port"
 
 #. type: deftypevr
 #: doc/guix.texi:20403
 msgid "Specifies the port number on which the server listens."
-msgstr ""
+msgstr "Gibt die Portnummer an, auf der der Server lauscht."
 
 #. type: deftypevr
 #: doc/guix.texi:20408
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} ip-mask server"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} IP-und-Maske server"
 
 #. type: deftypevr
 #: doc/guix.texi:20410
 msgid "An ip and mask specifying the subnet inside the virtual network."
-msgstr ""
+msgstr "Eine IP-Adresse gefolgt von deren Maske, die das Subnetz im virtuellen Netzwerk angibt."
 
 #. type: deftypevr
 #: doc/guix.texi:20412
 msgid "Defaults to @samp{\"10.8.0.0 255.255.255.0\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"10.8.0.0 255.255.255.0\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20415
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} cidr6 server-ipv6"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} cidr6 server-ipv6"
 
 #. type: deftypevr
 #: doc/guix.texi:20417
 msgid "A CIDR notation specifying the IPv6 subnet inside the virtual network."
-msgstr ""
+msgstr "Eine CIDR-Notation, mit der das IPv6-Subnetz im virtuellen Netzwerk angegeben wird."
 
 #. type: deftypevr
 #: doc/guix.texi:20422
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string dh"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette dh"
 
 #. type: deftypevr
 #: doc/guix.texi:20424
 msgid "The Diffie-Hellman parameters file."
-msgstr ""
+msgstr "Die Datei mit den Diffie-Hellman-Parametern."
 
 #. type: deftypevr
 #: doc/guix.texi:20426
 msgid "Defaults to @samp{\"/etc/openvpn/dh2048.pem\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/dh2048.pem\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20429
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string ifconfig-pool-persist"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette ifconfig-pool-persist"
 
 #. type: deftypevr
 #: doc/guix.texi:20431
 msgid "The file that records client IPs."
-msgstr ""
+msgstr "Die Datei, in der Client-IPs eingetragen werden."
 
 #. type: deftypevr
 #: doc/guix.texi:20433
 msgid "Defaults to @samp{\"/etc/openvpn/ipp.txt\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/etc/openvpn/ipp.txt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20436
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} gateway redirect-gateway?"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zugang redirect-gateway?"
 
 #. type: deftypevr
 #: doc/guix.texi:20438
 msgid "When true, the server will act as a gateway for its clients."
-msgstr ""
+msgstr "Wenn dies auf wahr steht, fungiert der Server als Zugang („Gateway“) für seine Clients."
 
 #. type: deftypevr
 #: doc/guix.texi:20443
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} boolean client-to-client?"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Boolescher-Ausdruck client-to-client?"
 
 #. type: deftypevr
 #: doc/guix.texi:20445
 msgid "When true, clients are allowed to talk to each other inside the VPN."
-msgstr ""
+msgstr "Wenn dies auf wahr steht, ist es zugelassen, dass Clients untereinander innerhalb des VPNs kommunizieren."
 
 #. type: deftypevr
 #: doc/guix.texi:20450
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} keepalive keepalive"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Aufrechterhaltung keepalive"
 
 #. type: deftypevr
 #: doc/guix.texi:20456
 msgid "Causes ping-like messages to be sent back and forth over the link so that each side knows when the other side has gone down.  @code{keepalive} requires a pair.  The first element is the period of the ping sending, and the second element is the timeout before considering the other side down."
-msgstr ""
+msgstr "Lässt ping-artige Nachrichtigen in beide Richtungen über die Leitung übertragen, damit beide Seiten bemerken, wenn der Kommunikationspartner offline geht. Für @code{keepalive} muss ein Paar angegeben werden. Das erste Element ist die Periode, nach der das Pingsignal wieder gesendet werden soll, und das zweite ist eine Zeitbegrenzung, in der eines ankommen muss, damit die andere Seite nicht als offline gilt."
 
 #. type: deftypevr
 #: doc/guix.texi:20459
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} number max-clients"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zahl max-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:20461
 msgid "The maximum number of clients."
-msgstr ""
+msgstr "Wieviele Clients es höchstens geben kann."
 
 #. type: deftypevr
 #: doc/guix.texi:20466
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} string status"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} Zeichenkette status"
 
 #. type: deftypevr
 #: doc/guix.texi:20469
 msgid "The status file.  This file shows a small report on current connection.  It is truncated and rewritten every minute."
-msgstr ""
+msgstr "Die Datei für einen Zustandsbericht („Status File“). Diese Datei enthält einen kurzen Bericht über die momentane Verbindung. Sie wird jede Minute gekürzt und neu geschrieben."
 
 #. type: deftypevr
 #: doc/guix.texi:20471
 msgid "Defaults to @samp{\"/var/run/openvpn/status\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/openvpn/status\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20474
 #, no-wrap
 msgid "{@code{openvpn-server-configuration} parameter} openvpn-ccd-list client-config-dir"
-msgstr ""
+msgstr "{@code{openvpn-server-configuration}-Parameter} „openvpn-ccd-configuration“-Liste client-config-dir"
 
 #. type: deftypevr
 #: doc/guix.texi:20476
 msgid "The list of configuration for some clients."
-msgstr ""
+msgstr "Die Liste der Konfigurationen für einige Clients."
 
 #. type: deftypevr
 #: doc/guix.texi:20480
 msgid "Available @code{openvpn-ccd-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{openvpn-ccd-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20481
 #, no-wrap
 msgid "{@code{openvpn-ccd-configuration} parameter} string name"
-msgstr ""
+msgstr "{@code{openvpn-ccd-configuration}-Parameter} Zeichenkette name"
 
 #. type: deftypevr
 #: doc/guix.texi:20483
 msgid "Client name."
-msgstr ""
+msgstr "Der Client-Name."
 
 #. type: deftypevr
 #: doc/guix.texi:20485
 msgid "Defaults to @samp{\"client\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"client\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20488
 #, no-wrap
 msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask iroute"
-msgstr ""
+msgstr "{@code{openvpn-ccd-configuration}-Parameter} IP-und-Maske iroute"
 
 #. type: deftypevr
 #: doc/guix.texi:20490
 msgid "Client own network"
-msgstr ""
+msgstr "Das eigene Netzwerk des Clients."
 
 #. type: deftypevr
 #: doc/guix.texi:20495
 #, no-wrap
 msgid "{@code{openvpn-ccd-configuration} parameter} ip-mask ifconfig-push"
-msgstr ""
+msgstr "{@code{openvpn-ccd-configuration}-Parameter} IP-und-Maske ifconfig-push"
 
 #. type: deftypevr
 #: doc/guix.texi:20497
 msgid "Client VPN IP."
-msgstr ""
+msgstr "VPN-IP-Adresse des Clients."
 
 #. type: cindex
 #: doc/guix.texi:20510
 #, no-wrap
 msgid "NFS"
-msgstr ""
+msgstr "NFS"
 
 #. type: Plain text
 #: doc/guix.texi:20515
 msgid "The @code{(gnu services nfs)} module provides the following services, which are most commonly used in relation to mounting or exporting directory trees as @dfn{network file systems} (NFS)."
-msgstr ""
+msgstr "Das Modul @code{(gnu services nfs)} stellt die folgenden Dienste zur Verfügung, die meistens dazu benutzt werden, Verzeichnisbäume als Netzwerkdateisysteme, englisch @dfn{Network File Systems} (NFS), einzubinden oder an andere zu exportieren."
 
 #. type: subsubheading
 #: doc/guix.texi:20516
 #, no-wrap
 msgid "RPC Bind Service"
-msgstr ""
+msgstr "RPC-Bind-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:20517
 #, no-wrap
 msgid "rpcbind"
-msgstr ""
+msgstr "rpcbind"
 
 #. type: Plain text
 #: doc/guix.texi:20523
 msgid "The RPC Bind service provides a facility to map program numbers into universal addresses.  Many NFS related services use this facility.  Hence it is automatically started when a dependent service starts."
-msgstr ""
+msgstr "Mit dem RPC-Bind-Dienst können Programmnummern auf universelle Adressen abgebildet werden. Viele Dienste, die mit dem NFS zu tun haben, benutzen diese Funktion, daher wird sie automatisch gestartet, sobald ein davon abhängiger Dienst startet."
 
 #. type: defvr
 #: doc/guix.texi:20524
 #, no-wrap
 msgid "{Scheme Variable} rpcbind-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} rpcbind-service-type"
 
 #. type: defvr
 #: doc/guix.texi:20526
 msgid "A service type for the RPC portmapper daemon."
-msgstr ""
+msgstr "Ein Diensttyp für den RPC-Portplaner-Daemon („Portmapper“)."
 
 #. type: deftp
 #: doc/guix.texi:20529
 #, no-wrap
 msgid "{Data Type} rpcbind-configuration"
-msgstr ""
+msgstr "{Datentyp} rpcbind-configuration"
 
 #. type: deftp
 #: doc/guix.texi:20532
 msgid "Data type representing the configuration of the RPC Bind Service.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des RPC-Bind-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:20533
 #, no-wrap
 msgid "@code{rpcbind} (default: @code{rpcbind})"
-msgstr ""
+msgstr "@code{rpcbind} (Vorgabe: @code{rpcbind})"
 
 #. type: table
 #: doc/guix.texi:20535
 msgid "The rpcbind package to use."
-msgstr ""
+msgstr "Das rpcbind-Paket, das benutzt werden soll."
 
 #. type: item
 #: doc/guix.texi:20536
 #, no-wrap
 msgid "@code{warm-start?} (default: @code{#t})"
-msgstr ""
+msgstr "@code{warm-start?} (Vorgabe: @code{#t})"
 
 #. type: table
 #: doc/guix.texi:20540
 msgid "If this parameter is @code{#t}, then the daemon will read a state file on startup thus reloading state information saved by a previous instance."
-msgstr ""
+msgstr "Wenn dieser Parameter @code{#t} ist, wird der Daemon beim Starten eine Zustandsdatei („State File“) lesen, aus der er die von der vorherigen Instanz gespeicherten Zustandsinformationen wiederherstellt."
 
 #. type: subsubheading
 #: doc/guix.texi:20544
 #, no-wrap
 msgid "Pipefs Pseudo File System"
-msgstr ""
+msgstr "Pipefs-Pseudodateisystem"
 
 #. type: cindex
 #: doc/guix.texi:20545
 #, no-wrap
 msgid "pipefs"
-msgstr ""
+msgstr "pipefs"
 
 #. type: cindex
 #: doc/guix.texi:20546
 #, no-wrap
 msgid "rpc_pipefs"
-msgstr ""
+msgstr "rpc_pipefs"
 
 #. type: Plain text
 #: doc/guix.texi:20550
 msgid "The pipefs file system is used to transfer NFS related data between the kernel and user space programs."
-msgstr ""
+msgstr "Mit dem Pipefs-Dateisystem können NFS-bezogene Daten zwischen dem Kernel und Programmen auf der Anwendungsebene (dem „User Space“) übertragen werden."
 
 #. type: defvr
 #: doc/guix.texi:20551
 #, no-wrap
 msgid "{Scheme Variable} pipefs-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} pipefs-service-type"
 
 #. type: defvr
 #: doc/guix.texi:20553
 msgid "A service type for the pipefs pseudo file system."
-msgstr ""
+msgstr "Ein Diensttyp für das Pseudodateisystem „Pipefs“."
 
 #. type: deftp
 #: doc/guix.texi:20555
 #, no-wrap
 msgid "{Data Type} pipefs-configuration"
-msgstr ""
+msgstr "{Datentyp} pipefs-configuration"
 
 #. type: deftp
 #: doc/guix.texi:20558
 msgid "Data type representing the configuration of the pipefs pseudo file system service.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des Pipefs-Pseudodateisystemdienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:20559
 #, no-wrap
 msgid "@code{mount-point} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
-msgstr ""
+msgstr "@code{mount-point} (Vorgabe: @code{\"/var/lib/nfs/rpc_pipefs\"})"
 
 #. type: table
 #: doc/guix.texi:20561
 msgid "The directory to which the file system is to be attached."
-msgstr ""
+msgstr "Das Verzeichnis, unter dem das Dateisystem eingebunden werden soll."
 
 #. type: subsubheading
 #: doc/guix.texi:20565
 #, no-wrap
 msgid "GSS Daemon Service"
-msgstr ""
+msgstr "GSS-Daemon-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:20566
 #, no-wrap
 msgid "GSSD"
-msgstr ""
+msgstr "GSSD"
 
 #. type: cindex
 #: doc/guix.texi:20567
 #, no-wrap
 msgid "GSS"
-msgstr ""
+msgstr "GSS"
 
 #. type: cindex
 #: doc/guix.texi:20568
 #, no-wrap
 msgid "global security system"
-msgstr ""
+msgstr "Global Security System"
 
 #. type: Plain text
 #: doc/guix.texi:20575
 msgid "The @dfn{global security system} (GSS) daemon provides strong security for RPC based protocols.  Before exchanging RPC requests an RPC client must establish a security context.  Typically this is done using the Kerberos command @command{kinit} or automatically at login time using PAM services (@pxref{Kerberos Services})."
-msgstr ""
+msgstr "Der Daemon des @dfn{Global Security System} (GSS) ermöglicht starke Informationssicherheit für RPC-basierte Protokolle. Vor dem Austausch von Anfragen über entfernte Prozeduraufrufe („Remote Procedure Calls“, kurz RPC) muss ein RPC-Client einen Sicherheitskontext („Security Context“) herstellen. Typischerweise wird dazu der @command{kinit}-Befehl von Kerberos benutzt, oder er wird automatisch bei der Anmeldung über PAM-Dienste hergestellt (siehe @ref{Kerberos Services})."
 
 #. type: defvr
 #: doc/guix.texi:20576
 #, no-wrap
 msgid "{Scheme Variable} gss-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} gss-service-type"
 
 #. type: defvr
 #: doc/guix.texi:20578
 msgid "A service type for the Global Security System (GSS) daemon."
-msgstr ""
+msgstr "Ein Diensttyp für den Daemon des Global Security System (GSS)."
 
 #. type: deftp
 #: doc/guix.texi:20580
 #, no-wrap
 msgid "{Data Type} gss-configuration"
-msgstr ""
+msgstr "{Datentyp} gss-configuration"
 
 #. type: deftp
 #: doc/guix.texi:20583
 msgid "Data type representing the configuration of the GSS daemon service.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des GSS-Daemon-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: item
 #: doc/guix.texi:20584 doc/guix.texi:20609
 #, no-wrap
 msgid "@code{nfs-utils} (default: @code{nfs-utils})"
-msgstr ""
+msgstr "@code{nfs-utils} (Vorgabe: @code{nfs-utils})"
 
 #. type: table
 #: doc/guix.texi:20586
 msgid "The package in which the @command{rpc.gssd} command is to be found."
-msgstr ""
+msgstr "Das Paket, in dem der Befehl @command{rpc.gssd} gesucht werden soll."
 
 #. type: item
 #: doc/guix.texi:20587 doc/guix.texi:20612
 #, no-wrap
 msgid "@code{pipefs-directory} (default: @code{\"/var/lib/nfs/rpc_pipefs\"})"
-msgstr ""
+msgstr "@code{pipefs-directory} (Vorgabe: @code{\"/var/lib/nfs/rpc_pipefs\"})"
 
 #. type: table
 #: doc/guix.texi:20589 doc/guix.texi:20614
 msgid "The directory where the pipefs file system is mounted."
-msgstr ""
+msgstr "Das Verzeichnis, unter dem das Pipefs-Dateisystem eingebunden wurde."
 
 #. type: subsubheading
 #: doc/guix.texi:20594
 #, no-wrap
 msgid "IDMAP Daemon Service"
-msgstr ""
+msgstr "IDMAP-Daemon-Dienst"
 
 #. type: cindex
 #: doc/guix.texi:20595
 #, no-wrap
 msgid "idmapd"
-msgstr ""
+msgstr "idmapd"
 
 #. type: cindex
 #: doc/guix.texi:20596
 #, no-wrap
 msgid "name mapper"
-msgstr ""
+msgstr "Name-Mapper"
 
 #. type: Plain text
 #: doc/guix.texi:20600
 msgid "The idmap daemon service provides mapping between user IDs and user names.  Typically it is required in order to access file systems mounted via NFSv4."
-msgstr ""
+msgstr "Der idmap-Daemon-Dienst ermöglicht eine Abbildung zwischen Benutzeridentifikatoren und Benutzernamen. Er wird in der Regel dafür benötigt, auf über NFSv4 eingebundene Dateisysteme zuzugreifen."
 
 #. type: defvr
 #: doc/guix.texi:20601
 #, no-wrap
 msgid "{Scheme Variable} idmap-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} idmap-service-type"
 
 #. type: defvr
 #: doc/guix.texi:20603
 msgid "A service type for the Identity Mapper (IDMAP) daemon."
-msgstr ""
+msgstr "Ein Diensttyp für den Identity-Mapper-Daemon (IDMAP)."
 
 #. type: deftp
 #: doc/guix.texi:20605
 #, no-wrap
 msgid "{Data Type} idmap-configuration"
-msgstr ""
+msgstr "{Datentyp} idmap-configuration"
 
 #. type: deftp
 #: doc/guix.texi:20608
 msgid "Data type representing the configuration of the IDMAP daemon service.  This type has the following parameters:"
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des IDMAP-Daemon-Dienstes repräsentiert. Dieser Typ verfügt über die folgenden Parameter:"
 
 #. type: table
 #: doc/guix.texi:20611
 msgid "The package in which the @command{rpc.idmapd} command is to be found."
-msgstr ""
+msgstr "Das Paket, in dem der Befehl @command{rpc.idmapd} gesucht werden soll."
 
 #. type: item
 #: doc/guix.texi:20615
 #, no-wrap
 msgid "@code{domain} (default: @code{#f})"
-msgstr ""
+msgstr "@code{domain} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:20619
 msgid "The local NFSv4 domain name.  This must be a string or @code{#f}.  If it is @code{#f} then the daemon will use the host's fully qualified domain name."
-msgstr ""
+msgstr "Der lokale NFSv4-Domain-Name. Für ihn muss eine Zeichenkette oder @code{#f} angegeben werden. Wenn @code{#f} angegeben wird, benutzt der Daemon den vollständigen Domain-Namen („Fully Qualified Domain Name“) des Rechners."
 
 #. type: Plain text
 #: doc/guix.texi:20630
 msgid "@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a continuous integration tool for Guix.  It can be used both for development and for providing substitutes to others (@pxref{Substitutes})."
-msgstr ""
+msgstr "@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} ist ein Werkzeug zur kontinuierlichen Integration für Guix. Es kann sowohl bei der Entwicklung helfen als auch beim Anbieten von Substituten für andere (siehe @ref{Substitutes})."
 
 #. type: Plain text
 #: doc/guix.texi:20632
 msgid "The @code{(gnu services cuirass)} module provides the following service."
-msgstr ""
+msgstr "Das Modul @code{(gnu services cuirass)} stellt den folgenden Dienst zur Verfügung:"
 
 #. type: defvr
 #: doc/guix.texi:20633
 #, no-wrap
 msgid "{Scheme Procedure} cuirass-service-type"
-msgstr ""
+msgstr "{Scheme-Prozedur} cuirass-service-type"
 
 #. type: defvr
 #: doc/guix.texi:20636
 msgid "The type of the Cuirass service.  Its value must be a @code{cuirass-configuration} object, as described below."
-msgstr ""
+msgstr "Der Diensttyp des Cuirass-Dienstes. Sein Wert muss ein @code{cuirass-configuration}-Verbundsobjekt sein, wie im Folgenden beschrieben."
 
 #. type: Plain text
 #: doc/guix.texi:20643
 msgid "To add build jobs, you have to set the @code{specifications} field of the configuration.  Here is an example of a service that polls the Guix repository and builds the packages from a manifest.  Some of the packages are defined in the @code{\"custom-packages\"} input, which is the equivalent of @code{GUIX_PACKAGE_PATH}."
-msgstr ""
+msgstr "Um Erstellungsaufträge („Build Jobs“) hinzuzufügen, müssen Sie sie im @code{specifications}-Feld der Konfiguration eintragen. Hier ist ein Beispiel für einen Dienst, der das Guix-Repository regelmäßig lädt und die Pakete aus einem der Manifeste erstellt. Manche der Pakete werden in der Eingabe @code{\"eigene-pakete\"} definiert, was als @code{GUIX_PACKAGE_PATH} benutzt wird."
 
 #. type: example
 #: doc/guix.texi:20671
@@ -38723,6 +38863,33 @@ msgid ""
 "                     (#:no-compile? . #t)))))))\n"
 "\n"
 msgstr ""
+"(define %cuirass-specs\n"
+"  #~(list\n"
+"     '((#:name . \"my-manifest\")\n"
+"       (#:load-path-inputs . (\"guix\"))\n"
+"       (#:package-path-inputs . (\"eigene-pakete\"))\n"
+"       (#:proc-input . \"guix\")\n"
+"       (#:proc-file . \"build-aux/cuirass/gnu-system.scm\")\n"
+"       (#:proc . cuirass-jobs)\n"
+"       (#:proc-args . ((subset . \"manifests\")\n"
+"                       (systems . (\"x86_64-linux\"))\n"
+"                       (manifests . ((\"config\" . \"guix/manifest.scm\")))))\n"
+"       (#:inputs . (((#:name . \"guix\")\n"
+"                     (#:url . \"git://git.savannah.gnu.org/guix.git\")\n"
+"                     (#:load-path . \".\")\n"
+"                     (#:branch . \"master\")\n"
+"                     (#:no-compile? . #t))\n"
+"                    ((#:name . \"config\")\n"
+"                     (#:url . \"git://git.example.org/config.git\")\n"
+"                     (#:load-path . \".\")\n"
+"                     (#:branch . \"master\")\n"
+"                     (#:no-compile? . #t))\n"
+"                    ((#:name . \"eigene-pakete\")\n"
+"                     (#:url . \"git://git.example.org/eigene-pakete.git\")\n"
+"                     (#:load-path . \".\")\n"
+"                     (#:branch . \"master\")\n"
+"                     (#:no-compile? . #t)))))))\n"
+"\n"
 
 #. type: example
 #: doc/guix.texi:20675
@@ -38732,77 +38899,80 @@ msgid ""
 "         (cuirass-configuration\n"
 "          (specifications %cuirass-specs)))\n"
 msgstr ""
+"(service cuirass-service-type\n"
+"         (cuirass-configuration\n"
+"          (specifications %cuirass-specs)))\n"
 
 #. type: Plain text
 #: doc/guix.texi:20680
 msgid "While information related to build jobs is located directly in the specifications, global settings for the @command{cuirass} process are accessible in other @code{cuirass-configuration} fields."
-msgstr ""
+msgstr "Die Informationen, die sich auf Erstellungsaufträge beziehen, werden direkt in deren Spezifikation festgelegt, aber globale Einstellungen des @command{cuirass}-Prozesses sind über andere Felder der @code{cuirass-configuration} zugänglich."
 
 #. type: deftp
 #: doc/guix.texi:20681
 #, no-wrap
 msgid "{Data Type} cuirass-configuration"
-msgstr ""
+msgstr "{Datentyp} cuirass-configuration"
 
 #. type: deftp
 #: doc/guix.texi:20683
 msgid "Data type representing the configuration of Cuirass."
-msgstr ""
+msgstr "Datentyp, der die Konfiguration von Cuirass repräsentiert."
 
 #. type: item
 #: doc/guix.texi:20685
 #, no-wrap
 msgid "@code{log-file} (default: @code{\"/var/log/cuirass.log\"})"
-msgstr ""
+msgstr "@code{log-file} (Vorgabe: @code{\"/var/log/cuirass.log\"})"
 
 #. type: table
 #: doc/guix.texi:20687
 msgid "Location of the log file."
-msgstr ""
+msgstr "An welchen Ort die Protokolldatei geschrieben wird."
 
 #. type: item
 #: doc/guix.texi:20688
 #, no-wrap
 msgid "@code{cache-directory} (default: @code{\"/var/cache/cuirass\"})"
-msgstr ""
+msgstr "@code{cache-directory} (Vorgabe: @code{\"/var/cache/cuirass\"})"
 
 #. type: table
 #: doc/guix.texi:20690
 msgid "Location of the repository cache."
-msgstr ""
+msgstr "Ort, wo Repositorys zwischengespeichert werden."
 
 #. type: item
 #: doc/guix.texi:20691
 #, no-wrap
 msgid "@code{user} (default: @code{\"cuirass\"})"
-msgstr ""
+msgstr "@code{user} (Vorgabe: @code{\"cuirass\"})"
 
 #. type: table
 #: doc/guix.texi:20693
 msgid "Owner of the @code{cuirass} process."
-msgstr ""
+msgstr "Besitzer des @code{cuirass}-Prozesses."
 
 #. type: item
 #: doc/guix.texi:20694
 #, no-wrap
 msgid "@code{group} (default: @code{\"cuirass\"})"
-msgstr ""
+msgstr "@code{group} (Vorgabe: @code{\"cuirass\"})"
 
 #. type: table
 #: doc/guix.texi:20696
 msgid "Owner's group of the @code{cuirass} process."
-msgstr ""
+msgstr "Gruppe des Besitzers des @code{cuirass}-Prozesses."
 
 #. type: item
 #: doc/guix.texi:20697
 #, no-wrap
 msgid "@code{interval} (default: @code{60})"
-msgstr ""
+msgstr "@code{interval} (Vorgabe: @code{60})"
 
 #. type: table
 #: doc/guix.texi:20700
 msgid "Number of seconds between the poll of the repositories followed by the Cuirass jobs."
-msgstr ""
+msgstr "Anzahl der Sekunden, bevor ein Repository wieder neu geladen wird und danach Cuirass-Aufträge behandelt werden."
 
 #. type: item
 #: doc/guix.texi:20701
@@ -38813,7 +38983,7 @@ msgstr "@code{database} (Vorgabe: @code{\"/var/lib/cuirass/cuirass.db\"})"
 #. type: table
 #: doc/guix.texi:20704
 msgid "Location of sqlite database which contains the build results and previously added specifications."
-msgstr ""
+msgstr "An welchem Ort sich die sqlite-Datenbank befinden soll, die die Erstellungsergebnisse und bisher hinzugefügte Spezifikationen speichert."
 
 #. type: item
 #: doc/guix.texi:20705
@@ -38824,90 +38994,90 @@ msgstr "@code{ttl} (Vorgabe: @code{(* 30 24 3600)})"
 #. type: table
 #: doc/guix.texi:20709
 msgid "Specifies the time-to-live (TTL) in seconds of garbage collector roots that are registered for build results.  This means that build results are protected from garbage collection for at least @var{ttl} seconds."
-msgstr ""
+msgstr "Gibt an, wieviele Sekunden für Erstellungsergebnisse registrierte Müllsammlerwurzeln gültig bleiben („Time-to-live“, kurz TTL). Dadurch werden Erstellungsergebnisse für mindestens @var{ttl}-viele Sekunden geschützt."
 
 #. type: item
 #: doc/guix.texi:20710
 #, no-wrap
 msgid "@code{port} (default: @code{8081})"
-msgstr ""
+msgstr "@code{port} (Vortrag: @code{8081})"
 
 #. type: table
 #: doc/guix.texi:20712
 msgid "Port number used by the HTTP server."
-msgstr ""
+msgstr "Portnummer, die vom HTTP-Server benutzt wird."
 
 #. type: table
 #: doc/guix.texi:20716
 msgid "Listen on the network interface for @var{host}.  The default is to accept connections from localhost."
-msgstr ""
+msgstr "Auf der Netzwerkschnittstelle für den Rechnernamen @var{host} lauschen. Nach Vorgabe werden Verbindungen vom lokalen Rechner @code{localhost} akzeptiert."
 
 #. type: item
 #: doc/guix.texi:20717
 #, no-wrap
 msgid "@code{specifications} (default: @code{#~'()})"
-msgstr ""
+msgstr "@code{specifications} (Vorgabe: @code{#~'()})"
 
 #. type: table
 #: doc/guix.texi:20723
 msgid "A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications, where a specification is an association list (@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose keys are keywords (@code{#:keyword-example}) as shown in the example above."
-msgstr ""
+msgstr "Ein G-Ausdruck (siehe @ref{G-Expressions}), der zu einer Liste von Spezifikationen ausgewertet wird, wobei jede Spezifikation eine assoziative Liste ist (siehe @ref{Associations Lists,,, guile, GNU Guile Reference Manual}), deren Schlüssel Schlüsselwörter sind („Keywords“ wie z.B.@: @code{#:beispiel-für-ein-schlüsselwort}), wie im Beispiel oben gezeigt."
 
 #. type: item
 #: doc/guix.texi:20724
 #, no-wrap
 msgid "@code{use-substitutes?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{use-substitutes?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:20727
 msgid "This allows using substitutes to avoid building every dependencies of a job from source."
-msgstr ""
+msgstr "Hierdurch wird zugelassen, Substitute zu benutzen, damit @emph{nicht} jede Abhängigkeit eines Auftrags erst aus ihrem Quellcode heraus erstellt werden muss."
 
 #. type: item
 #: doc/guix.texi:20728 doc/guix.texi:25286
 #, no-wrap
 msgid "@code{one-shot?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{one-shot?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:20730
 msgid "Only evaluate specifications and build derivations once."
-msgstr ""
+msgstr "Spezifikationen nur einmal auswerten und Ableitungen nur einmal erstellen."
 
 #. type: item
 #: doc/guix.texi:20731
 #, no-wrap
 msgid "@code{fallback?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{fallback?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:20734
 msgid "When substituting a pre-built binary fails, fall back to building packages locally."
-msgstr ""
+msgstr "Pakete lokal erstellen, wenn das Substituieren einer vorerstellten Binärdatei fehlschlägt."
 
 #. type: item
 #: doc/guix.texi:20735
 #, no-wrap
 msgid "@code{cuirass} (default: @code{cuirass})"
-msgstr ""
+msgstr "@code{cuirass} (Vorgabe: @code{cuirass})"
 
 #. type: table
 #: doc/guix.texi:20737
 msgid "The Cuirass package to use."
-msgstr ""
+msgstr "Das Cuirass-Paket, das benutzt werden soll."
 
 #. type: cindex
 #: doc/guix.texi:20743
 #, no-wrap
 msgid "tlp"
-msgstr ""
+msgstr "TLP"
 
 #. type: cindex
 #: doc/guix.texi:20744
 #, no-wrap
 msgid "power management with TLP"
-msgstr ""
+msgstr "Stromverbrauch mit TLP verwalten"
 
 #. type: subsubheading
 #: doc/guix.texi:20745
@@ -38918,731 +39088,731 @@ msgstr "TLP-Daemon"
 #. type: Plain text
 #: doc/guix.texi:20749
 msgid "The @code{(gnu services pm)} module provides a Guix service definition for the Linux power management tool TLP."
-msgstr ""
+msgstr "Das Modul @code{(gnu services pm)} stellt eine Guix-Dienstdefinition für das Linux-Werkzeug TLP zur Stromverbrauchsverwaltung zur Verfügung."
 
 #. type: Plain text
 #: doc/guix.texi:20755
 msgid "TLP enables various powersaving modes in userspace and kernel.  Contrary to @code{upower-service}, it is not a passive, monitoring tool, as it will apply custom settings each time a new power source is detected.  More information can be found at @uref{https://linrunner.de/en/tlp/tlp.html, TLP home page}."
-msgstr ""
+msgstr "TLP macht mehrere Stromspar-Modi auf Anwendungsebene („User Space“) und im Kernel verfügbar. Im Gegensatz zum @code{upower-service} handelt es sich um kein passives Werkzeug zur Überwachung, sondern TLP passt selbst jedes Mal Einstellungen an, wenn eine neue Stromquelle erkannt wird. Mehr Informationen finden Sie auf der @uref{https://linrunner.de/en/tlp/tlp.html, TLP-Homepage}."
 
 #. type: deffn
 #: doc/guix.texi:20756
 #, no-wrap
 msgid "{Scheme Variable} tlp-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} tlp-service-type"
 
 #. type: deffn
 #: doc/guix.texi:20760
 msgid "The service type for the TLP tool.  Its value should be a valid TLP configuration (see below).  To use the default settings, simply write:"
-msgstr ""
+msgstr "Der Diensttyp für das TLP-Werkzeug. Sein Wert sollte eine gültige TLP-Konfiguration sein (siehe unten). Um die Vorgabeeinstellungen zu verwenden, schreiben Sie einfach:"
 
 #. type: example
 #: doc/guix.texi:20762
 #, no-wrap
 msgid "(service tlp-service-type)\n"
-msgstr ""
+msgstr "(service tlp-service-type)\n"
 
 #. type: Plain text
 #: doc/guix.texi:20767
 msgid "By default TLP does not need much configuration but most TLP parameters can be tweaked using @code{tlp-configuration}."
-msgstr ""
+msgstr "Um die Vorgaben für TLP zu benutzen, müssen Sie also nur wenig in die Konfiguration schreiben, aber Sie können die meisten TLP-Parameter über die @code{tlp-configuration} anpassen."
 
 #. type: Plain text
 #: doc/guix.texi:20773
 msgid "Each parameter definition is preceded by its type; for example, @samp{boolean foo} indicates that the @code{foo} parameter should be specified as a boolean.  Types starting with @code{maybe-} denote parameters that won't show up in TLP config file when their value is @code{'disabled}."
-msgstr ""
+msgstr "Im Folgenden ist jeder Parameterdefinition ihr Typ vorangestellt. Zum Beispiel bedeutet @samp{Boolescher-Ausdruck foo}, dass der Parameter @code{foo} als boolescher Ausdruck festgelegt werden sollte.  Typen, die mit @code{Vielleicht-} beginnen, bezeichnen Parameter, die nicht in der TLP-Konfigurationsdatei vorkommen, wenn @code{'disabled} als ihr Wert angegeben wurde."
 
 #. type: Plain text
 #: doc/guix.texi:20783
 msgid "Available @code{tlp-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{tlp-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:20784
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} package tlp"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} „package“ tlp"
 
 #. type: deftypevr
 #: doc/guix.texi:20786
 msgid "The TLP package."
-msgstr ""
+msgstr "Das TLP-Paket."
 
 #. type: deftypevr
 #: doc/guix.texi:20789
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean tlp-enable?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck tlp-enable?"
 
 #. type: deftypevr
 #: doc/guix.texi:20791
 msgid "Set to true if you wish to enable TLP."
-msgstr ""
+msgstr "Setzen Sie dies auf wahr, wenn Sie TLP aktivieren möchten."
 
 #. type: deftypevr
 #: doc/guix.texi:20796
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string tlp-default-mode"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette tlp-default-mode"
 
 #. type: deftypevr
 #: doc/guix.texi:20799
 msgid "Default mode when no power supply can be detected.  Alternatives are AC and BAT."
-msgstr ""
+msgstr "Der vorgegebene Modus, wenn keine Stromversorgung gefunden werden kann. Angegeben werden können AC (am Stromnetz) und BAT (Batterie/Akku)."
 
 #. type: deftypevr
 #: doc/guix.texi:20801
 msgid "Defaults to @samp{\"AC\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"AC\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20804
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl disk-idle-secs-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20807
 msgid "Number of seconds Linux kernel has to wait after the disk goes idle, before syncing on AC."
-msgstr ""
+msgstr "Die Anzahl an Sekunden, die der Linux-Kernel warten muss, bis er sich mit dem Plattenspeicher synchronisiert, wenn die Stromversorgung auf AC steht."
 
 #. type: deftypevr
 #: doc/guix.texi:20812
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer disk-idle-secs-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl disk-idle-secs-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20814
 msgid "Same as @code{disk-idle-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{disk-idle-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20816
 msgid "Defaults to @samp{2}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{2}."
 
 #. type: deftypevr
 #: doc/guix.texi:20819
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl max-lost-work-secs-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20821
 msgid "Dirty pages flushing periodicity, expressed in seconds."
-msgstr ""
+msgstr "Periodizität, mit der im Zwischenspeicher geänderte Speicherseiten („Dirty Pages“) synchronisiert werden („Cache Flush“), ausgedrückt in Sekunden."
 
 #. type: deftypevr
 #: doc/guix.texi:20823 doc/guix.texi:21046 doc/guix.texi:22375
 #: doc/guix.texi:22383
 msgid "Defaults to @samp{15}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{15}."
 
 #. type: deftypevr
 #: doc/guix.texi:20826
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer max-lost-work-secs-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl max-lost-work-secs-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20828
 msgid "Same as @code{max-lost-work-secs-on-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{max-lost-work-secs-on-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20830
 msgid "Defaults to @samp{60}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{60}."
 
 #. type: deftypevr
 #: doc/guix.texi:20833
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste cpu-scaling-governor-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20837
 msgid "CPU frequency scaling governor on AC mode.  With intel_pstate driver, alternatives are powersave and performance.  With acpi-cpufreq driver, alternatives are ondemand, powersave, performance and conservative."
-msgstr ""
+msgstr "Regulator der Frequenzskalierung der CPUs („Frequency Scaling Governor“) im AC-Modus. Beim intel_pstate-Treiber stehen powersave (stromsparend) und performance (leistungsfähig) zur Auswahl. Beim acpi-cpufreq-Treiber stehen ondemand, powersave, performance und conservative zur Auswahl."
 
 #. type: deftypevr
 #: doc/guix.texi:20842
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list cpu-scaling-governor-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste cpu-scaling-governor-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20844
 msgid "Same as @code{cpu-scaling-governor-on-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{cpu-scaling-governor-on-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20849
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-min-freq-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20851
 msgid "Set the min available frequency for the scaling governor on AC."
-msgstr ""
+msgstr "Legt die minimale verfügbare Frequenz für den Skalierungsregulator im AC-Modus fest."
 
 #. type: deftypevr
 #: doc/guix.texi:20856
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-max-freq-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20858
 msgid "Set the max available frequency for the scaling governor on AC."
-msgstr ""
+msgstr "Legt die maximale verfügbare Frequenz für den Skalierungsregulator im AC-Modus fest."
 
 #. type: deftypevr
 #: doc/guix.texi:20863
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-min-freq-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-min-freq-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20865
 msgid "Set the min available frequency for the scaling governor on BAT."
-msgstr ""
+msgstr "Legt die minimale verfügbare Frequenz für den Skalierungsregulator im BAT-Modus fest."
 
 #. type: deftypevr
 #: doc/guix.texi:20870
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-scaling-max-freq-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-scaling-max-freq-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20872
 msgid "Set the max available frequency for the scaling governor on BAT."
-msgstr ""
+msgstr "Legt die maximale verfügbare Frequenz für den Skalierungsregulator im BAT-Modus fest."
 
 #. type: deftypevr
 #: doc/guix.texi:20877
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-min-perf-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20880
 msgid "Limit the min P-state to control the power dissipation of the CPU, in AC mode.  Values are stated as a percentage of the available performance."
-msgstr ""
+msgstr "Beschränkt den minimalen Leistungszustand („P-State“), um die Stromverteilung („Power Dissipation“) der CPU im AC-Modus zu regulieren. Werte können als Prozentsatz bezüglich der verfügbaren Leistung angegeben werden."
 
 #. type: deftypevr
 #: doc/guix.texi:20885
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-max-perf-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20888
 msgid "Limit the max P-state to control the power dissipation of the CPU, in AC mode.  Values are stated as a percentage of the available performance."
-msgstr ""
+msgstr "Beschränkt den maximalen Leistungszustand („P-State“), um die Stromverteilung („Power Dissipation“) der CPU im AC-Modus zu regulieren. Werte können als Prozentsatz bezüglich der verfügbaren Leistung angegeben werden."
 
 #. type: deftypevr
 #: doc/guix.texi:20893
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-min-perf-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-min-perf-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20895
 msgid "Same as @code{cpu-min-perf-on-ac} on BAT mode."
-msgstr ""
+msgstr "Wie @code{cpu-min-perf-on-ac} im BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20900
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-non-negative-integer cpu-max-perf-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Nichtnegative-ganze-Zahl cpu-max-perf-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20902
 msgid "Same as @code{cpu-max-perf-on-ac} on BAT mode."
-msgstr ""
+msgstr "Wie @code{cpu-max-perf-on-ac} im BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20907
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-ac?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck cpu-boost-on-ac?"
 
 #. type: deftypevr
 #: doc/guix.texi:20909
 msgid "Enable CPU turbo boost feature on AC mode."
-msgstr ""
+msgstr "Die CPU-Turbo-Boost-Funktionen im AC-Modus aktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:20914
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-boolean cpu-boost-on-bat?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck cpu-boost-on-bat?"
 
 #. type: deftypevr
 #: doc/guix.texi:20916
 msgid "Same as @code{cpu-boost-on-ac?} on BAT mode."
-msgstr ""
+msgstr "Wie @code{cpu-boost-on-ac?} im BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20921
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-ac?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck sched-powersave-on-ac?"
 
 #. type: deftypevr
 #: doc/guix.texi:20924
 msgid "Allow Linux kernel to minimize the number of CPU cores/hyper-threads used under light load conditions."
-msgstr ""
+msgstr "Dem Linux-Kernel erlauben, die Anzahl benutzter CPU-Kerne und Hyperthreads anzupassen, wenn er unter leichter Last steht."
 
 #. type: deftypevr
 #: doc/guix.texi:20929
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean sched-powersave-on-bat?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck sched-powersave-on-bat?"
 
 #. type: deftypevr
 #: doc/guix.texi:20931
 msgid "Same as @code{sched-powersave-on-ac?} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{sched-powersave-on-ac?}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20936
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean nmi-watchdog?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck nmi-watchdog?"
 
 #. type: deftypevr
 #: doc/guix.texi:20938
 msgid "Enable Linux kernel NMI watchdog."
-msgstr ""
+msgstr "Ob die rechtzeitige Behandlung nichtmaskierbarer Unterbrechungen durch den „NMI-Watchdog“ des Linux-Kernels überprüft werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:20943
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-string phc-controls"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette phc-controls"
 
 #. type: deftypevr
 #: doc/guix.texi:20946
 msgid "For Linux kernels with PHC patch applied, change CPU voltages.  An example value would be @samp{\"F:V F:V F:V F:V\"}."
-msgstr ""
+msgstr "Auf Linux-Kernels, auf die der PHC-Patch angewandt wurde, wird hierdurch die Prozessorspannung angepasst. Ein Beispielwert wäre @samp{\"F:V F:V F:V F:V\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20951
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette energy-perf-policy-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20954
 msgid "Set CPU performance versus energy saving policy on AC.  Alternatives are performance, normal, powersave."
-msgstr ""
+msgstr "Legt das Verhältnis von Prozessorleistung zu Stromsparsamkeit im AC-Modus fest. Angegeben werden können performance (hohe Leistung), normal, powersave (wenig Stromverbrauch)."
 
 #. type: deftypevr
 #: doc/guix.texi:20956 doc/guix.texi:21054 doc/guix.texi:21084
 msgid "Defaults to @samp{\"performance\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"performance\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20959
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string energy-perf-policy-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette energy-perf-policy-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20961
 msgid "Same as @code{energy-perf-policy-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{energy-perf-policy-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20963 doc/guix.texi:21061
 msgid "Defaults to @samp{\"powersave\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"powersave\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:20966
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disks-devices"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disks-devices"
 
 #. type: deftypevr
 #: doc/guix.texi:20968
 msgid "Hard disk devices."
-msgstr ""
+msgstr "Festplattengeräte."
 
 #. type: deftypevr
 #: doc/guix.texi:20971
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disk-apm-level-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20973
 msgid "Hard disk advanced power management level."
-msgstr ""
+msgstr "Stufe für das „Advanced Power Management“ auf Festplatten."
 
 #. type: deftypevr
 #: doc/guix.texi:20976
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} space-separated-string-list disk-apm-level-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste disk-apm-level-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20978
 msgid "Same as @code{disk-apm-bat} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{disk-apm-bat}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20981
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-spindown-timeout-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:20984
 msgid "Hard disk spin down timeout.  One value has to be specified for each declared hard disk."
-msgstr ""
+msgstr "Zeitspanne, bis die Festplatte inaktiv wird (ein „Spin-Down“). Für jede deklarierte Festplatte muss hier je ein Wert angegeben werden."
 
 #. type: deftypevr
 #: doc/guix.texi:20989
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-spindown-timeout-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-spindown-timeout-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:20991
 msgid "Same as @code{disk-spindown-timeout-on-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{disk-spindown-timeout-on-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:20996
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list disk-iosched"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste disk-iosched"
 
 #. type: deftypevr
 #: doc/guix.texi:21000
 msgid "Select IO scheduler for disk devices.  One value has to be specified for each declared hard disk.  Example alternatives are cfq, deadline and noop."
-msgstr ""
+msgstr "Ein-/Ausgaben-Planungsprogramm für Plattengeräte auswählen. Für jede deklarierte Festplatte muss ein Wert angegeben werden. Möglich sind zum Beispiel cfq, deadline und noop."
 
 #. type: deftypevr
 #: doc/guix.texi:21005
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette sata-linkpwr-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21008
 msgid "SATA aggressive link power management (ALPM) level.  Alternatives are min_power, medium_power, max_performance."
-msgstr ""
+msgstr "Stufe des „Aggressive Link Power Management“ (ALPM) für SATA. Angegeben werden können min_power (wenigster Stromverbrauch), medium_power (mittlerer Stromverbrauch), max_performance (maximale Leistung)."
 
 #. type: deftypevr
 #: doc/guix.texi:21010
 msgid "Defaults to @samp{\"max_performance\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"max_performance\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21013
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string sata-linkpwr-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette sata-linkpwr-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21015
 msgid "Same as @code{sata-linkpwr-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{sata-linkpwr-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21017
 msgid "Defaults to @samp{\"min_power\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"min_power\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21020
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-string sata-linkpwr-blacklist"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette sata-linkpwr-blacklist"
 
 #. type: deftypevr
 #: doc/guix.texi:21022
 msgid "Exclude specified SATA host devices for link power management."
-msgstr ""
+msgstr "Bestimmte SATA-Geräte („SATA-Host-Devices“) vom Link Power Management ausschließen."
 
 #. type: deftypevr
 #: doc/guix.texi:21027
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-ac?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-An-Aus-Boolescher-Ausdruck ahci-runtime-pm-on-ac?"
 
 #. type: deftypevr
 #: doc/guix.texi:21030
 msgid "Enable Runtime Power Management for AHCI controller and disks on AC mode."
-msgstr ""
+msgstr "Verwaltung des Stromverbrauchs zur Laufzeit für AHCI-Steuerungseinheiten („Controller“) und AHCI-Platten im AC-Modus aktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:21035
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-on-off-boolean ahci-runtime-pm-on-bat?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-An-Aus-Boolescher-Ausdruck ahci-runtime-pm-on-bat?"
 
 #. type: deftypevr
 #: doc/guix.texi:21037
 msgid "Same as @code{ahci-runtime-pm-on-ac} on BAT mode."
-msgstr ""
+msgstr "Wie @code{ahci-runtime-pm-on-ac} im BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21042
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer ahci-runtime-pm-timeout"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl ahci-runtime-pm-timeout"
 
 #. type: deftypevr
 #: doc/guix.texi:21044
 msgid "Seconds of inactivity before disk is suspended."
-msgstr ""
+msgstr "Nach wievielen Sekunden der Inaktivität die Platten in den Ruhezustand gehen („Suspended“)."
 
 #. type: deftypevr
 #: doc/guix.texi:21049
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette pcie-aspm-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21052
 msgid "PCI Express Active State Power Management level.  Alternatives are default, performance, powersave."
-msgstr ""
+msgstr "Stufe des „PCI Express Active State Power Management“. Zur Auswahl stehen default (Voreinstellung), performance (hohe Leistung), powersave (wenig Stromverbrauch)."
 
 #. type: deftypevr
 #: doc/guix.texi:21057
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string pcie-aspm-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette pcie-aspm-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21059
 msgid "Same as @code{pcie-aspm-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{pcie-aspm-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21064
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-power-profile-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21067
 msgid "Radeon graphics clock speed level.  Alternatives are low, mid, high, auto, default."
-msgstr ""
+msgstr "Taktgeschwindigkeitsstufe („Clock Speed Level“) für Radeon-Grafik. Zur Auswahl stehen low (niedrig), mid (mittel), high (hoch), auto (automatisch), default (Voreinstellung)."
 
 #. type: deftypevr
 #: doc/guix.texi:21069
 msgid "Defaults to @samp{\"high\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"high\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21072
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-power-profile-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-power-profile-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21074
 msgid "Same as @code{radeon-power-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{radeon-power-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21076
 msgid "Defaults to @samp{\"low\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"low\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21079
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-state-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21082
 msgid "Radeon dynamic power management method (DPM).  Alternatives are battery, performance."
-msgstr ""
+msgstr "Methode für die dynamische Energieverwaltung („Dynamic Power Management“, DPM) auf Radeon. Zur Auswahl stehen battery (Batterie), performance (Leistung)."
 
 #. type: deftypevr
 #: doc/guix.texi:21087
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-state-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-state-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21089
 msgid "Same as @code{radeon-dpm-state-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{radeon-dpm-state-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21091
 msgid "Defaults to @samp{\"battery\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"battery\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21094
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-perf-level-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21096
 msgid "Radeon DPM performance level.  Alternatives are auto, low, high."
-msgstr ""
+msgstr "Leistungsstufe („Performance Level“) des Radeon-DPM. Zur Auswahl stehen auto (automatisch), low (niedrig), high (hoch)."
 
 #. type: deftypevr
 #: doc/guix.texi:21098 doc/guix.texi:21105 doc/guix.texi:21179
 msgid "Defaults to @samp{\"auto\"}."
-msgstr ""
+msgstr "Die Voreinstellung ist @samp{\"auto\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21101
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string radeon-dpm-perf-level-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette radeon-dpm-perf-level-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21103
 msgid "Same as @code{radeon-dpm-perf-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{radeon-dpm-perf-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21108
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-ac?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} An-Aus-Boolescher-Ausdruck wifi-pwr-on-ac?"
 
 #. type: deftypevr
 #: doc/guix.texi:21110
 msgid "Wifi power saving mode."
-msgstr ""
+msgstr "WLAN-Stromsparmodus."
 
 #. type: deftypevr
 #: doc/guix.texi:21115
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} on-off-boolean wifi-pwr-on-bat?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} An-Aus-Boolescher-Ausdruck wifi-pwr-on-bat?"
 
 #. type: deftypevr
 #: doc/guix.texi:21117
 msgid "Same as @code{wifi-power-ac?} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{wifi-power-ac?}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21122
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} y-n-boolean wol-disable?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Ja-Nein-Boolescher-Ausdruck wol-disable?"
 
 #. type: deftypevr
 #: doc/guix.texi:21124
 msgid "Disable wake on LAN."
-msgstr ""
+msgstr "Rechnerstart nach Netzwerkanforderung („Wake on LAN“) deaktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:21129
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl sound-power-save-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21132
 msgid "Timeout duration in seconds before activating audio power saving on Intel HDA and AC97 devices.  A value of 0 disables power saving."
-msgstr ""
+msgstr "Nach wievielen Sekunden der Stromsparmodus für die Audioverarbeitung auf Intel-HDA- und AC97-Geräten aktiviert wird. Ein Wert von 0 deaktiviert den Stromsparmodus."
 
 #. type: deftypevr
 #: doc/guix.texi:21137
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} non-negative-integer sound-power-save-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Nichtnegative-ganze-Zahl sound-power-save-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21139
 msgid "Same as @code{sound-powersave-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{sound-powersave-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21141 doc/guix.texi:21668 doc/guix.texi:21812
 msgid "Defaults to @samp{1}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{1}."
 
 #. type: deftypevr
 #: doc/guix.texi:21144
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} y-n-boolean sound-power-save-controller?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Ja-Nein-Boolescher-Ausdruck sound-power-save-controller?"
 
 #. type: deftypevr
 #: doc/guix.texi:21146
 msgid "Disable controller in powersaving mode on Intel HDA devices."
-msgstr ""
+msgstr "Steuerungseinheit („Controller“) im Stromsparmodus auf Intel-HDA-Geräten deaktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:21151
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean bay-poweroff-on-bat?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck bay-poweroff-on-bat?"
 
 #. type: deftypevr
 #: doc/guix.texi:21155
 msgid "Enable optical drive in UltraBay/MediaBay on BAT mode.  Drive can be powered on again by releasing (and reinserting) the eject lever or by pressing the disc eject button on newer models."
-msgstr ""
+msgstr "Optisches Laufwerk in einer UltraBay/MediaBay im BAT-Modus aktivieren. Laufwerke können erneut gestartet werden, indem Sie den Hebel zum Auswerfen lösen (und wieder einsetzen) oder, auf neueren Modellen, indem Sie den Knopf zum Auswerfen des eingelegten Datenträgers drücken."
 
 #. type: deftypevr
 #: doc/guix.texi:21160
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string bay-device"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette bay-device"
 
 #. type: deftypevr
 #: doc/guix.texi:21162
 msgid "Name of the optical drive device to power off."
-msgstr ""
+msgstr "Name des Geräts für das optische Laufwerk, das gestartet werden soll."
 
 #. type: deftypevr
 #: doc/guix.texi:21164
 msgid "Defaults to @samp{\"sr0\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"sr0\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21167
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-ac"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette runtime-pm-on-ac"
 
 #. type: deftypevr
 #: doc/guix.texi:21170
 msgid "Runtime Power Management for PCI(e) bus devices.  Alternatives are on and auto."
-msgstr ""
+msgstr "Laufzeitenergieverwaltung („Runtime Power Management“) von PCI(e)-Bus-Geräten. Zur Auswahl stehen on (angeschaltet) und auto (automatisch)."
 
 #. type: deftypevr
 #: doc/guix.texi:21172
 msgid "Defaults to @samp{\"on\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"on\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21175
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} string runtime-pm-on-bat"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Zeichenkette runtime-pm-on-bat"
 
 #. type: deftypevr
 #: doc/guix.texi:21177
 msgid "Same as @code{runtime-pm-ac} but on BAT mode."
-msgstr ""
+msgstr "Wie @code{runtime-pm-ac}, aber für den BAT-Modus."
 
 #. type: deftypevr
 #: doc/guix.texi:21182
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean runtime-pm-all?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck runtime-pm-all?"
 
 #. type: deftypevr
 #: doc/guix.texi:21185
@@ -39653,101 +39823,101 @@ msgstr ""
 #: doc/guix.texi:21190
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-space-separated-string-list runtime-pm-blacklist"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Leerzeichengetrennte-Zeichenketten-Liste runtime-pm-blacklist"
 
 #. type: deftypevr
 #: doc/guix.texi:21192
 msgid "Exclude specified PCI(e) device addresses from Runtime Power Management."
-msgstr ""
+msgstr "Die angegebenen PCI(e)-Geräteadressen von der Laufzeitenergieverwaltung („Runtime Power Management“) ausnehmen."
 
 #. type: deftypevr
 #: doc/guix.texi:21197
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} space-separated-string-list runtime-pm-driver-blacklist"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Leerzeichengetrennte-Zeichenketten-Liste runtime-pm-driver-blacklist"
 
 #. type: deftypevr
 #: doc/guix.texi:21200
 msgid "Exclude PCI(e) devices assigned to the specified drivers from Runtime Power Management."
-msgstr ""
+msgstr "PCI(e)-Geräte von der Laufzeitenergieverwaltung („Runtime Power Management“) ausnehmen, wenn sie den angegebenen Treibern zugeordnet sind."
 
 #. type: deftypevr
 #: doc/guix.texi:21203
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean usb-autosuspend?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck usb-autosuspend?"
 
 #. type: deftypevr
 #: doc/guix.texi:21205
 msgid "Enable USB autosuspend feature."
-msgstr ""
+msgstr "USB-Geräte automatisch in den Ruhezustand versetzen („USB-Autosuspend“)."
 
 #. type: deftypevr
 #: doc/guix.texi:21210
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-string usb-blacklist"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette usb-blacklist"
 
 #. type: deftypevr
 #: doc/guix.texi:21212
 msgid "Exclude specified devices from USB autosuspend."
-msgstr ""
+msgstr "Die angegebenen Geräte vom USB-Autosuspend ausnehmen."
 
 #. type: deftypevr
 #: doc/guix.texi:21217
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean usb-blacklist-wwan?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck usb-blacklist-wwan?"
 
 #. type: deftypevr
 #: doc/guix.texi:21219
 msgid "Exclude WWAN devices from USB autosuspend."
-msgstr ""
+msgstr "WWAN-Geräte vom USB-Autosuspend ausnehmen."
 
 #. type: deftypevr
 #: doc/guix.texi:21224
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-string usb-whitelist"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Zeichenkette usb-whitelist"
 
 #. type: deftypevr
 #: doc/guix.texi:21227
 msgid "Include specified devices into USB autosuspend, even if they are already excluded by the driver or via @code{usb-blacklist-wwan?}."
-msgstr ""
+msgstr "Für die angegebenen Geräte USB-Autosuspend aktivieren, selbst wenn Autosuspend durch den Treiber oder wegen @code{usb-blacklist-wwan?} deaktiviert werden würde."
 
 #. type: deftypevr
 #: doc/guix.texi:21232
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} maybe-boolean usb-autosuspend-disable-on-shutdown?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Vielleicht-Boolescher-Ausdruck usb-autosuspend-disable-on-shutdown?"
 
 #. type: deftypevr
 #: doc/guix.texi:21234
 msgid "Enable USB autosuspend before shutdown."
-msgstr ""
+msgstr "USB-Autosuspend vor dem Herunterfahren aktivieren."
 
 #. type: deftypevr
 #: doc/guix.texi:21239
 #, no-wrap
 msgid "{@code{tlp-configuration} parameter} boolean restore-device-state-on-startup?"
-msgstr ""
+msgstr "{@code{tlp-configuration}-Parameter} Boolescher-Ausdruck restore-device-state-on-startup?"
 
 #. type: deftypevr
 #: doc/guix.texi:21242
 msgid "Restore radio device state (bluetooth, wifi, wwan) from previous shutdown on system startup."
-msgstr ""
+msgstr "Zustand von funkfähigen Geräten (Bluetooth, WLAN, WWAN) vom letzten Herunterfahren beim Hochfahren des Systems wiederherstellen."
 
 #. type: cindex
 #: doc/guix.texi:21247
 #, no-wrap
 msgid "thermald"
-msgstr ""
+msgstr "thermald"
 
 #. type: cindex
 #: doc/guix.texi:21248
 #, no-wrap
 msgid "CPU frequency scaling with thermald"
-msgstr ""
+msgstr "CPU-Frequenzskalierung mit Thermald"
 
 #. type: subsubheading
 #: doc/guix.texi:21249
@@ -39758,78 +39928,78 @@ msgstr "Thermald-Daemon"
 #. type: Plain text
 #: doc/guix.texi:21253
 msgid "The @code{(gnu services pm)} module provides an interface to thermald, a CPU frequency scaling service which helps prevent overheating."
-msgstr ""
+msgstr "Das Modul @code{(gnu services pm)} stellt eine Schnittstelle zu Thermald zur Verfügung, einem Dienst zur CPU-Frequenzskalierung („CPU Frequency Scaling“), mit dem Überhitzung verhindert wird."
 
 #. type: defvr
 #: doc/guix.texi:21254
 #, no-wrap
 msgid "{Scheme Variable} thermald-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} thermald-service-type"
 
 #. type: defvr
 #: doc/guix.texi:21259
 msgid "This is the service type for @uref{https://01.org/linux-thermal-daemon/, thermald}, the Linux Thermal Daemon, which is responsible for controlling the thermal state of processors and preventing overheating."
-msgstr ""
+msgstr "Dies ist der Diensttyp für @uref{https://01.org/linux-thermal-daemon/, Thermald}, den @dfn{Linux Thermal Daemon}, der für die Hitzeregulierung von Prozessoren zuständig ist. Er ändert deren thermischen Zustand („Thermal State“) und verhindert, dass sie überhitzen."
 
 #. type: deftp
 #: doc/guix.texi:21261
 #, no-wrap
 msgid "{Data Type} thermald-configuration"
-msgstr ""
+msgstr "{Datentyp} thermald-configuration"
 
 #. type: deftp
 #: doc/guix.texi:21263
 msgid "Data type representing the configuration of @code{thermald-service-type}."
-msgstr ""
+msgstr "Datentyp, der die Konfiguration des @code{thermald-service-type} repräsentiert."
 
 #. type: item
 #: doc/guix.texi:21265
 #, no-wrap
 msgid "@code{ignore-cpuid-check?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{ignore-cpuid-check?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:21267
 msgid "Ignore cpuid check for supported CPU models."
-msgstr ""
+msgstr "Ergebnis der Prüfung per CPUID auf unterstützte Prozessormodelle ignorieren."
 
 #. type: item
 #: doc/guix.texi:21268
 #, no-wrap
 msgid "@code{thermald} (default: @var{thermald})"
-msgstr ""
+msgstr "@code{thermald} (Vorgabe: @var{thermald})"
 
 #. type: table
 #: doc/guix.texi:21270
 msgid "Package object of thermald."
-msgstr ""
+msgstr "Paketobjekt von thermald."
 
 #. type: Plain text
 #: doc/guix.texi:21279
 msgid "The @code{(gnu services audio)} module provides a service to start MPD (the Music Player Daemon)."
-msgstr ""
+msgstr "Das Modul @code{(gnu services audio)} stellt einen Dienst zur Verfügung, um MPD (den Music Player Daemon) zu starten."
 
 #. type: cindex
 #: doc/guix.texi:21280
 #, no-wrap
 msgid "mpd"
-msgstr ""
+msgstr "mpd"
 
 #. type: subsubheading
 #: doc/guix.texi:21281
 #, no-wrap
 msgid "Music Player Daemon"
-msgstr ""
+msgstr "Music Player Daemon"
 
 #. type: Plain text
 #: doc/guix.texi:21286
 msgid "The Music Player Daemon (MPD) is a service that can play music while being controlled from the local machine or over the network by a variety of clients."
-msgstr ""
+msgstr "Der Music Player Daemon (MPD) ist ein Dienst, der Musik abspielen kann und der dabei vom lokalen Rechner oder über das Netzwerk durch verschiedene Clients angesteuert werden kann."
 
 #. type: Plain text
 #: doc/guix.texi:21289
 msgid "The following example shows how one might run @code{mpd} as user @code{\"bob\"} on port @code{6666}.  It uses pulseaudio for output."
-msgstr ""
+msgstr "Das folgende Beispiel zeigt, wie man @code{mpd} als Benutzer @code{\"bob\"} auf Port @code{6666} ausführen könnte. Dabei wird Pulseaudio zur Ausgabe verwendet."
 
 #. type: example
 #: doc/guix.texi:21295
@@ -39840,61 +40010,65 @@ msgid ""
 "          (user \"bob\")\n"
 "          (port \"6666\")))\n"
 msgstr ""
+"(service mpd-service-type\n"
+"         (mpd-configuration\n"
+"          (user \"bob\")\n"
+"          (port \"6666\")))\n"
 
 #. type: defvr
 #: doc/guix.texi:21297
 #, no-wrap
 msgid "{Scheme Variable} mpd-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} mpd-service-type"
 
 #. type: defvr
 #: doc/guix.texi:21299
 msgid "The service type for @command{mpd}"
-msgstr ""
+msgstr "Der Diensttyp für @command{mpd}."
 
 #. type: deftp
 #: doc/guix.texi:21301
 #, no-wrap
 msgid "{Data Type} mpd-configuration"
-msgstr ""
+msgstr "{Datentyp} mpd-configuration"
 
 #. type: deftp
 #: doc/guix.texi:21303
 msgid "Data type representing the configuration of @command{mpd}."
-msgstr ""
+msgstr "Datentyp, der die Konfiguration von @command{mpd} repräsentiert."
 
 #. type: item
 #: doc/guix.texi:21305
 #, no-wrap
 msgid "@code{user} (default: @code{\"mpd\"})"
-msgstr ""
+msgstr "@code{user} (Vorgabe: @code{\"mpd\"})"
 
 #. type: table
 #: doc/guix.texi:21307
 msgid "The user to run mpd as."
-msgstr ""
+msgstr "Das Benutzerkonto, mit dem mpd ausgeführt wird."
 
 #. type: item
 #: doc/guix.texi:21308
 #, no-wrap
 msgid "@code{music-dir} (default: @code{\"~/Music\"})"
-msgstr ""
+msgstr "@code{music-dir} (Vorgabe: @code{\"~/Music\"})"
 
 #. type: table
 #: doc/guix.texi:21310
 msgid "The directory to scan for music files."
-msgstr ""
+msgstr "Das Verzeichis, in dem nach Musikdateien gesucht wird."
 
 #. type: item
 #: doc/guix.texi:21311
 #, no-wrap
 msgid "@code{playlist-dir} (default: @code{\"~/.mpd/playlists\"})"
-msgstr ""
+msgstr "@code{playlist-dir} (Vorgabe: @code{\"~/.mpd/playlists\"})"
 
 #. type: table
 #: doc/guix.texi:21313
 msgid "The directory to store playlists."
-msgstr ""
+msgstr "Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern."
 
 #. type: item
 #: doc/guix.texi:21314
@@ -39933,56 +40107,56 @@ msgstr "Der Ort, an dem die Sticker-Datenbank gespeichert wird."
 #: doc/guix.texi:21323
 #, no-wrap
 msgid "@code{port} (default: @code{\"6600\"})"
-msgstr ""
+msgstr "@code{port} (Vorgabe: @code{\"6600\"})"
 
 #. type: table
 #: doc/guix.texi:21325
 msgid "The port to run mpd on."
-msgstr ""
+msgstr "Der Port, auf dem mpd ausgeführt wird."
 
 #. type: item
 #: doc/guix.texi:21326
 #, no-wrap
 msgid "@code{address} (default: @code{\"any\"})"
-msgstr ""
+msgstr "@code{address} (Vorgabe: @code{\"any\"})"
 
 #. type: table
 #: doc/guix.texi:21329
 msgid "The address that mpd will bind to.  To use a Unix domain socket, an absolute path can be specified here."
-msgstr ""
+msgstr "Die Adresse, an die sich mpd binden wird. Um einen Unix-Socket zu benutzen, kann hier ein absoluter Pfad angegeben werden."
 
 #. type: subsection
 #: doc/guix.texi:21334
 #, no-wrap
 msgid "Virtualization services"
-msgstr ""
+msgstr "Virtualisierungsdienste"
 
 #. type: Plain text
 #: doc/guix.texi:21339
 msgid "The @code{(gnu services virtualization)} module provides services for the libvirt and virtlog daemons, as well as other virtualization-related services."
-msgstr ""
+msgstr "Das Modul @code{(gnu services virtualization)} bietet Dienste für die Daemons von libvirt und virtlog, sowie andere virtualisierungsbezogene Dienste."
 
 #. type: subsubheading
 #: doc/guix.texi:21340
 #, no-wrap
 msgid "Libvirt daemon"
-msgstr ""
+msgstr "Libvirt-Daemon"
 
 #. type: Plain text
 #: doc/guix.texi:21344
 msgid "@code{libvirtd} is the server side daemon component of the libvirt virtualization management system. This daemon runs on host servers and performs required management tasks for virtualized guests."
-msgstr ""
+msgstr "@code{libvirtd} ist die serverseitige Daemon-Komponente des libvirt-Systems zur Virtualisierungsverwaltung. Dieser Daemon läuft auf als Wirt dienenden Servern und führt anfallende Verwaltungsaufgaben für virtualisierte Gäste durch."
 
 #. type: deffn
 #: doc/guix.texi:21345
 #, no-wrap
 msgid "{Scheme Variable} libvirt-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} libvirt-service-type"
 
 #. type: deffn
 #: doc/guix.texi:21348
 msgid "This is the type of the @uref{https://libvirt.org, libvirt daemon}.  Its value must be a @code{libvirt-configuration}."
-msgstr ""
+msgstr "Dies ist der Diensttyp des @uref{https://libvirt.org, libvirt-Daemons}. Sein Wert muss ein @code{libvirt-configuration}-Verbundsobjekt sein."
 
 #. type: example
 #: doc/guix.texi:21354
@@ -39993,873 +40167,877 @@ msgid ""
 "          (unix-sock-group \"libvirt\")\n"
 "          (tls-port \"16555\")))\n"
 msgstr ""
+"(service libvirt-service-type\n"
+"         (libvirt-configuration\n"
+"          (unix-sock-group \"libvirt\")\n"
+"          (tls-port \"16555\")))\n"
 
 #. type: Plain text
 #: doc/guix.texi:21359
 msgid "Available @code{libvirt-configuration} fields are:"
-msgstr ""
+msgstr "Verfügbare @code{libvirt-configuration}-Felder sind:"
 
 #. type: deftypevr
 #: doc/guix.texi:21360
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} package libvirt"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} „package“ libvirt"
 
 #. type: deftypevr
 #: doc/guix.texi:21362
 msgid "Libvirt package."
-msgstr ""
+msgstr "Libvirt-Paket."
 
 #. type: deftypevr
 #: doc/guix.texi:21365
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean listen-tls?"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck listen-tls?"
 
 #. type: deftypevr
 #: doc/guix.texi:21368
 msgid "Flag listening for secure TLS connections on the public TCP/IP port.  must set @code{listen} for this to have any effect."
-msgstr ""
+msgstr "Option zum Lauschen auf sichere TLS-Verbindungen über den öffentlichen TCP/IP-Port. @code{listen} muss gesetzt sein, damit dies eine Wirkung hat."
 
 #. type: deftypevr
 #: doc/guix.texi:21371
 msgid "It is necessary to setup a CA and issue server certificates before using this capability."
-msgstr ""
+msgstr "Bevor Sie diese Funktionalität nutzen können, muss eine Zertifikatsautorität eingerichtet worden sein und Server-Zertifikate ausgestellt worden sein."
 
 #. type: deftypevr
 #: doc/guix.texi:21376
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean listen-tcp?"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck listen-tcp?"
 
 #. type: deftypevr
 #: doc/guix.texi:21379
 msgid "Listen for unencrypted TCP connections on the public TCP/IP port.  must set @code{listen} for this to have any effect."
-msgstr ""
+msgstr "Auf unverschlüsselte TCP-Verbindungen auf dem öffentlichen TCP/IP-Port lauschen. @code{listen} muss gesetzt sein, damit dies eine Wirkung hat."
 
 #. type: deftypevr
 #: doc/guix.texi:21383
 msgid "Using the TCP socket requires SASL authentication by default.  Only SASL mechanisms which support data encryption are allowed.  This is DIGEST_MD5 and GSSAPI (Kerberos5)"
-msgstr ""
+msgstr "Nach Voreinstellung kann auf dem TCP-Socket nur gelauscht werden, wenn SASL-Authentifizierung möglich ist. Nur solche SASL-Mechanismen, die Datenverschlüsselung unterstützen, sind zugelassen. Das sind DIGEST_MD5 und GSSAPI (Kerberos5)"
 
 #. type: deftypevr
 #: doc/guix.texi:21388
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string tls-port"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tls-port"
 
 #. type: deftypevr
 #: doc/guix.texi:21391
 msgid "Port for accepting secure TLS connections This can be a port number, or service name"
-msgstr ""
+msgstr "Der Port, um sichere TLS-Verbindungen zu akzeptieren. Dies kann eine Portnummer oder ein Dienstname sein."
 
 #. type: deftypevr
 #: doc/guix.texi:21393
 msgid "Defaults to @samp{\"16514\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"16514\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21396
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string tcp-port"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tcp-port"
 
 #. type: deftypevr
 #: doc/guix.texi:21399
 msgid "Port for accepting insecure TCP connections This can be a port number, or service name"
-msgstr ""
+msgstr "Der Port, um unsichere TCP-Verbindungen zu akzeptieren. Dies kann eine Portnummer oder ein Dienstname sein."
 
 #. type: deftypevr
 #: doc/guix.texi:21401
 msgid "Defaults to @samp{\"16509\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"16509\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21404
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string listen-addr"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette listen-addr"
 
 #. type: deftypevr
 #: doc/guix.texi:21406
 msgid "IP address or hostname used for client connections."
-msgstr ""
+msgstr "IP-Adresse oder Rechnername („Hostname“), der für von Clients ausgehende Verbindungen benutzt wird."
 
 #. type: deftypevr
 #: doc/guix.texi:21408
 msgid "Defaults to @samp{\"0.0.0.0\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"0.0.0.0\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21411
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean mdns-adv?"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck mdns-adv?"
 
 #. type: deftypevr
 #: doc/guix.texi:21413
 msgid "Flag toggling mDNS advertisement of the libvirt service."
-msgstr ""
+msgstr "Einstellung, ob der libvirt-Dienst mDNS-Mitteilungen sendet."
 
 #. type: deftypevr
 #: doc/guix.texi:21416
 msgid "Alternatively can disable for all services on a host by stopping the Avahi daemon."
-msgstr ""
+msgstr "Dies kann alternativ für alle Dienste auf einem Rechner deaktiviert werden, indem man den Avahi-Daemon anhält."
 
 #. type: deftypevr
 #: doc/guix.texi:21421
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string mdns-name"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette mdns-name"
 
 #. type: deftypevr
 #: doc/guix.texi:21424
 msgid "Default mDNS advertisement name.  This must be unique on the immediate broadcast network."
-msgstr ""
+msgstr "Der voreingestellte Name in mDNS-Mitteilungen. Er muss auf dem direkten Broadcast-Netzwerk eindeutig sein."
 
 #. type: deftypevr
 #: doc/guix.texi:21426
 msgid "Defaults to @samp{\"Virtualization Host <hostname>\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"Virtualization Host <Rechnername>\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21429
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string unix-sock-group"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-group"
 
 #. type: deftypevr
 #: doc/guix.texi:21433
 msgid "UNIX domain socket group ownership.  This can be used to allow a 'trusted' set of users access to management capabilities without becoming root."
-msgstr ""
+msgstr "Besitzergruppe des UNIX-Sockets. Diese Einstellung kann benutzt werden, um einer als vertrauenswürdig geltenden Gruppe von Benutzern Zugriff auf Verwaltungsfunktionen zu gewähren, ohne dass diese als Administratornutzer root ausgeführt werden müssen."
 
 #. type: deftypevr
 #: doc/guix.texi:21438
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string unix-sock-ro-perms"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-ro-perms"
 
 #. type: deftypevr
 #: doc/guix.texi:21441
 msgid "UNIX socket permissions for the R/O socket.  This is used for monitoring VM status only."
-msgstr ""
+msgstr "UNIX-Socket-Berechtigungen für den Socket nur mit Lesezugriff („read only“). Dies wird nur zur Überwachung des Zustands der VM benutzt."
 
 #. type: deftypevr
 #: doc/guix.texi:21443 doc/guix.texi:21461
 msgid "Defaults to @samp{\"0777\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"0777\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21446
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string unix-sock-rw-perms"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-rw-perms"
 
 #. type: deftypevr
 #: doc/guix.texi:21450
 msgid "UNIX socket permissions for the R/W socket.  Default allows only root.  If PolicyKit is enabled on the socket, the default will change to allow everyone (eg, 0777)"
-msgstr ""
+msgstr "UNIX-Socket-Berechtigungen für den Socket mit Schreib- und Lesezugriff („read/write“). Nach Vorgabe kann nur der Administratornutzer root zugreifen. Wenn auf dem Socket PolicyKit aktiviert ist, wird die Vorgabe geändert, dass jeder zugreifen kann (z.B.@: zu 0777)"
 
 #. type: deftypevr
 #: doc/guix.texi:21452
 msgid "Defaults to @samp{\"0770\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"0770\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21455
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string unix-sock-admin-perms"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-admin-perms"
 
 #. type: deftypevr
 #: doc/guix.texi:21459
 msgid "UNIX socket permissions for the admin socket.  Default allows only owner (root), do not change it unless you are sure to whom you are exposing the access to."
-msgstr ""
+msgstr "UNIX-Socket-Berechtigungen für den Administrator-Socket. Nach Vorgabg hat nur der Besitzer (der Administratornutzer root) hierauf Zugriff; ändern Sie es nur, wenn Sie sicher wissen, wer dann alles Zugriff bekommt."
 
 #. type: deftypevr
 #: doc/guix.texi:21464
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string unix-sock-dir"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette unix-sock-dir"
 
 #. type: deftypevr
 #: doc/guix.texi:21466
 msgid "The directory in which sockets will be found/created."
-msgstr ""
+msgstr "Das Verzeichnis, in dem Sockets gefunden werden können bzw. erstellt werden."
 
 #. type: deftypevr
 #: doc/guix.texi:21468
 msgid "Defaults to @samp{\"/var/run/libvirt\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"/var/run/libvirt\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21471
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string auth-unix-ro"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-unix-ro"
 
 #. type: deftypevr
 #: doc/guix.texi:21474
 msgid "Authentication scheme for UNIX read-only sockets.  By default socket permissions allow anyone to connect"
-msgstr ""
+msgstr "Authentifizierungsschema für nur lesbare UNIX-Sockets. Nach Vorgabe gestatten es die Socket-Berechtigungen jedem Nutzer, sich zu verbinden."
 
 #. type: deftypevr
 #: doc/guix.texi:21476 doc/guix.texi:21485
 msgid "Defaults to @samp{\"polkit\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"polkit\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21479
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string auth-unix-rw"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-unix-rw"
 
 #. type: deftypevr
 #: doc/guix.texi:21483
 msgid "Authentication scheme for UNIX read-write sockets.  By default socket permissions only allow root.  If PolicyKit support was compiled into libvirt, the default will be to use 'polkit' auth."
-msgstr ""
+msgstr "Authentifizierungsschema für UNIX-Sockets mit Schreib- und Lesezugriff. Nach Vorgabe erlauben die Socket-Berechtigungen nur dem Administratornutzer root Zugriff. Wenn libvirt mit Unterstützung für PolicyKit kompiliert wurde, ist die Vorgabe, Authentifizierung über „polkit“ durchzuführen."
 
 #. type: deftypevr
 #: doc/guix.texi:21488
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string auth-tcp"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-tcp"
 
 #. type: deftypevr
 #: doc/guix.texi:21492
 msgid "Authentication scheme for TCP sockets.  If you don't enable SASL, then all TCP traffic is cleartext.  Don't do this outside of a dev/test scenario."
-msgstr ""
+msgstr "Authentifizierungsschema für TCP-Sockets. Wenn Sie SASL nicht aktivieren, dann wird alle TCP-Kommunikation im Klartext verschickt. Tun Sie dies @emph{nicht}, außer Sie benutzen libvirt nur als Entwickler oder zum Testen."
 
 #. type: deftypevr
 #: doc/guix.texi:21494
 msgid "Defaults to @samp{\"sasl\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"sasl\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21497
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string auth-tls"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette auth-tls"
 
 #. type: deftypevr
 #: doc/guix.texi:21501
 msgid "Authentication scheme for TLS sockets.  TLS sockets already have encryption provided by the TLS layer, and limited authentication is done by certificates."
-msgstr ""
+msgstr "Authentifizierungsschema für TLS-Sockets. Für TLS-Sockets wird bereits durch die TLS-Schicht Verschlüsselung bereitgestellt und eingeschränkte Authentifizierung wird über Zertifikate durchgeführt."
 
 #. type: deftypevr
 #: doc/guix.texi:21504
 msgid "It is possible to make use of any SASL authentication mechanism as well, by using 'sasl' for this option"
-msgstr ""
+msgstr "Es ist möglich, auch hier den SASL-Authentifizierungsmechanismus anzuwenden, indem Sie für diese Option „sasl“ eintragen."
 
 #. type: deftypevr
 #: doc/guix.texi:21506
 msgid "Defaults to @samp{\"none\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"none\"}, d.h.@: keine zusätzliche Authentifizierung."
 
 #. type: deftypevr
 #: doc/guix.texi:21509
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} optional-list access-drivers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste access-drivers"
 
 #. type: deftypevr
 #: doc/guix.texi:21511
 msgid "API access control scheme."
-msgstr ""
+msgstr "Welche Schemata zur Zugriffskontrolle auf Programmierschnittstellen (APIs) benutzt werden."
 
 #. type: deftypevr
 #: doc/guix.texi:21514
 msgid "By default an authenticated user is allowed access to all APIs.  Access drivers can place restrictions on this."
-msgstr ""
+msgstr "Nach Vorgabe kann ein authentifizierter Nutzer auf alle Programmierschnittstellen zugreifen. Zugriffstreiber können dies einschränken."
 
 #. type: deftypevr
 #: doc/guix.texi:21519
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string key-file"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette key-file"
 
 #. type: deftypevr
 #: doc/guix.texi:21522
 msgid "Server key file path.  If set to an empty string, then no private key is loaded."
-msgstr ""
+msgstr "Pfad zur Schlüsseldatei für den Server. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein privater Schlüssel geladen."
 
 #. type: deftypevr
 #: doc/guix.texi:21527
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string cert-file"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette cert-file"
 
 #. type: deftypevr
 #: doc/guix.texi:21530
 msgid "Server key file path.  If set to an empty string, then no certificate is loaded."
-msgstr ""
+msgstr "Pfad zur Zertifikatsdatei für den Server. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein Zertifikat geladen."
 
 #. type: deftypevr
 #: doc/guix.texi:21535
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string ca-file"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette ca-file"
 
 #. type: deftypevr
 #: doc/guix.texi:21538
 msgid "Server key file path.  If set to an empty string, then no CA certificate is loaded."
-msgstr ""
+msgstr "Pfad zur Datei mit dem Zertifikat der Zertifikatsautorität. Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird kein Zertifikat der Zertifikatsautorität geladen."
 
 #. type: deftypevr
 #: doc/guix.texi:21543
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string crl-file"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette crl-file"
 
 #. type: deftypevr
 #: doc/guix.texi:21546
 msgid "Certificate revocation list path.  If set to an empty string, then no CRL is loaded."
-msgstr ""
+msgstr "Pfad zur Zertifikatssperrliste („Certificate Revocation List“). Wenn er auf eine leere Zeichenkette gesetzt ist, dann wird keine Zertifikatssperrliste geladen."
 
 #. type: deftypevr
 #: doc/guix.texi:21551
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean tls-no-sanity-cert"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck tls-no-sanity-cert"
 
 #. type: deftypevr
 #: doc/guix.texi:21553
 msgid "Disable verification of our own server certificates."
-msgstr ""
+msgstr "Keine Überprüfung unseres eigenen Serverzertifikats durchführen."
 
 #. type: deftypevr
 #: doc/guix.texi:21556
 msgid "When libvirtd starts it performs some sanity checks against its own certificates."
-msgstr ""
+msgstr "Beim Start vom libvirtd prüft dieser, ob bei seinem eigenen Zertifikat alles in Ordnung ist."
 
 #. type: deftypevr
 #: doc/guix.texi:21561
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean tls-no-verify-cert"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck tls-no-verify-cert"
 
 #. type: deftypevr
 #: doc/guix.texi:21563
 msgid "Disable verification of client certificates."
-msgstr ""
+msgstr "Keine Überprüfung von Clientzertifikaten durchführen."
 
 #. type: deftypevr
 #: doc/guix.texi:21567
 msgid "Client certificate verification is the primary authentication mechanism.  Any client which does not present a certificate signed by the CA will be rejected."
-msgstr ""
+msgstr "Die Überprüfung des Zertifikats eines Clients ist der primäre Authentifizierungsmechanismus. Jeder Client, der kein von der Zertifikatsautorität signiertes Zertifikat vorweist, wird abgelehnt."
 
 #. type: deftypevr
 #: doc/guix.texi:21572
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} optional-list tls-allowed-dn-list"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste tls-allowed-dn-list"
 
 #. type: deftypevr
 #: doc/guix.texi:21574
 msgid "Whitelist of allowed x509 Distinguished Name."
-msgstr ""
+msgstr "Liste der erlaubten Einträge für den „Distinguished Name“ bei x509."
 
 #. type: deftypevr
 #: doc/guix.texi:21579
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} optional-list sasl-allowed-usernames"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Liste sasl-allowed-usernames"
 
 #. type: deftypevr
 #: doc/guix.texi:21582
 msgid "Whitelist of allowed SASL usernames.  The format for username depends on the SASL authentication mechanism."
-msgstr ""
+msgstr "Liste der erlaubten Einträge für SASL-Benutzernamen. Wie Benutzernamen aussehen müssen, ist abhängig vom jeweiligen SASL-Mechanismus."
 
 #. type: deftypevr
 #: doc/guix.texi:21587
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string tls-priority"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette tls-priority"
 
 #. type: deftypevr
 #: doc/guix.texi:21591
 msgid "Override the compile time default TLS priority string.  The default is usually \"NORMAL\" unless overridden at build time.  Only set this is it is desired for libvirt to deviate from the global default settings."
-msgstr ""
+msgstr "Dies wird vorrangig statt der beim Kompilieren voreingestellten TLS-Prioritätszeichenkette verwendet. Die Voreinstellung ist in der Regel \"NORMAL\", solange dies nicht bei der Erstellung geändert wurde. Ändern Sie dies nur, wenn die Einstellungen für libvirt von den globalen Voreinstellungen abweichen sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:21593
 msgid "Defaults to @samp{\"NORMAL\"}."
-msgstr ""
+msgstr "Die Vorgabe @samp{\"NORMAL\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21596
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-clients"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:21599 doc/guix.texi:22022
 msgid "Maximum number of concurrent client connections to allow over all sockets combined."
-msgstr ""
+msgstr "Maximalzahl gleichzeitiger Client-Verbindungen, die für alle Sockets zusammen zugelassen werden sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:21601
 msgid "Defaults to @samp{5000}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{5000}."
 
 #. type: deftypevr
 #: doc/guix.texi:21604
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-queued-clients"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-queued-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:21608
 msgid "Maximum length of queue of connections waiting to be accepted by the daemon.  Note, that some protocols supporting retransmission may obey this so that a later reattempt at connection succeeds."
-msgstr ""
+msgstr "Maximale Länge der Warteschlange für Verbindungen, die darauf warten, vom Daemon angenommen zu werden. Beachten Sie, dass sich manche Protokolle, die Neuübertragung unterstützen, danach richten könnten, damit ein erneuter Verbindungsversuch angenommen wird."
 
 #. type: deftypevr
 #: doc/guix.texi:21613
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-anonymous-clients"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-anonymous-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:21616
 msgid "Maximum length of queue of accepted but not yet authenticated clients.  Set this to zero to turn this feature off"
-msgstr ""
+msgstr "Maximale Länge der Warteschlange für Clients, die angenommen wurden, aber noch nicht authentifiziert wurden. Setzen Sie dies auf null, um diese Funktionalität abzuschalten."
 
 #. type: deftypevr
 #: doc/guix.texi:21618 doc/guix.texi:21636 doc/guix.texi:21652
 msgid "Defaults to @samp{20}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{20}."
 
 #. type: deftypevr
 #: doc/guix.texi:21621
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer min-workers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl min-workers"
 
 #. type: deftypevr
 #: doc/guix.texi:21623
 msgid "Number of workers to start up initially."
-msgstr ""
+msgstr "Anzahl an Arbeiter-Threads, die am Anfang gestartet werden sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:21628
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-workers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-workers"
 
 #. type: deftypevr
 #: doc/guix.texi:21630
 msgid "Maximum number of worker threads."
-msgstr ""
+msgstr "Maximale Anzahl an Arbeiter-Threads."
 
 #. type: deftypevr
 #: doc/guix.texi:21634
 msgid "If the number of active clients exceeds @code{min-workers}, then more threads are spawned, up to max_workers limit.  Typically you'd want max_workers to equal maximum number of clients allowed."
-msgstr ""
+msgstr "Wenn die Anzahl aktiver Clients die @code{min-workers} übersteigt, werden weitere Threads erzeugt, bis die max_workers-Beschränkung erreicht wurde. Typischerweise würden Sie für max_workers die maximale Anzahl zugelassener Clients angeben."
 
 #. type: deftypevr
 #: doc/guix.texi:21639
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer prio-workers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl prio-workers"
 
 #. type: deftypevr
 #: doc/guix.texi:21643
 msgid "Number of priority workers.  If all workers from above pool are stuck, some calls marked as high priority (notably domainDestroy) can be executed in this pool."
-msgstr ""
+msgstr "Die Anzahl priorisierter Arbeiter-Threads. Wenn alle Arbeiter aus diesem Pool festhängen, können manche, mit hoher Priorität versehene Aufrufe (speziell domainDestroy) in diesem Pool hier ausgeführt werden."
 
 #. type: deftypevr
 #: doc/guix.texi:21648
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-requests"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-requests"
 
 #. type: deftypevr
 #: doc/guix.texi:21650
 msgid "Total global limit on concurrent RPC calls."
-msgstr ""
+msgstr "Wieviele nebenläufige RPC-Aufrufe global ausgeführt werden können."
 
 #. type: deftypevr
 #: doc/guix.texi:21655
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer max-client-requests"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl max-client-requests"
 
 #. type: deftypevr
 #: doc/guix.texi:21659
 msgid "Limit on concurrent requests from a single client connection.  To avoid one client monopolizing the server this should be a small fraction of the global max_requests and max_workers parameter."
-msgstr ""
+msgstr "Wieviele nebenläufige Anfragen von einer einzelnen Client-Verbindung ausgehen können. Um zu verhindern, dass ein einzelner Client den gesamten Server für sich beansprucht, sollte der Wert hier nur einen kleinen Teil der globalen max_requests- und max_workers-Parameter ausmachen."
 
 #. type: deftypevr
 #: doc/guix.texi:21664
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-min-workers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-min-workers"
 
 #. type: deftypevr
 #: doc/guix.texi:21666
 msgid "Same as @code{min-workers} but for the admin interface."
-msgstr ""
+msgstr "Wie bei @code{min-workers}, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21671
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-max-workers"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-workers"
 
 #. type: deftypevr
 #: doc/guix.texi:21673
 msgid "Same as @code{max-workers} but for the admin interface."
-msgstr ""
+msgstr "Wie bei @code{max-workers}, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21678
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-max-clients"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:21680
 msgid "Same as @code{max-clients} but for the admin interface."
-msgstr ""
+msgstr "Wie bei @code{max-clients}, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21685
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-max-queued-clients"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-queued-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:21687
 msgid "Same as @code{max-queued-clients} but for the admin interface."
-msgstr ""
+msgstr "Wie bei @code{max-queued-clients}, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21692
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-max-client-requests"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-max-client-requests"
 
 #. type: deftypevr
 #: doc/guix.texi:21694
 msgid "Same as @code{max-client-requests} but for the admin interface."
-msgstr ""
+msgstr "Wie bei @code{max-client-requests}, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21699
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer log-level"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl log-level"
 
 #. type: deftypevr
 #: doc/guix.texi:21701 doc/guix.texi:21924
 msgid "Logging level.  4 errors, 3 warnings, 2 information, 1 debug."
-msgstr ""
+msgstr "Protokollstufe. 4 für Fehler, 3 für Warnungen, 2 für Informationen, 1 zur Fehlersuche."
 
 #. type: deftypevr
 #: doc/guix.texi:21706
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string log-filters"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette log-filters"
 
 #. type: deftypevr
 #: doc/guix.texi:21708 doc/guix.texi:21931
 msgid "Logging filters."
-msgstr ""
+msgstr "Protokollfilter."
 
 #. type: deftypevr
 #: doc/guix.texi:21711 doc/guix.texi:21934
 msgid "A filter allows to select a different logging level for a given category of logs The format for a filter is one of:"
-msgstr ""
+msgstr "Ein Filter ermöglicht es, für eine bestimmte Kategorie von Protokollen eine andere Protokollierungsstufe festzulegen. Filter müssen eines der folgenden Formate haben:"
 
 #. type: itemize
 #: doc/guix.texi:21715 doc/guix.texi:21938
 msgid "x:name"
-msgstr ""
+msgstr "x:Name"
 
 #. type: itemize
 #: doc/guix.texi:21718 doc/guix.texi:21941
 msgid "x:+name"
-msgstr ""
+msgstr "x:+Name"
 
 #. type: deftypevr
 #: doc/guix.texi:21728 doc/guix.texi:21951
 msgid "where @code{name} is a string which is matched against the category given in the @code{VIR_LOG_INIT()} at the top of each libvirt source file, e.g., \"remote\", \"qemu\", or \"util.json\" (the name in the filter can be a substring of the full category name, in order to match multiple similar categories), the optional \"+\" prefix tells libvirt to log stack trace for each message matching name, and @code{x} is the minimal level where matching messages should be logged:"
-msgstr ""
+msgstr "wobei @code{Name} eine Zeichenkette ist, die zu einer in der Umgebungsvariablen @code{VIR_LOG_INIT()} am Anfang jeder Quelldatei von libvirt angegebenen Kategorie passen muss, z.B.@: „remote“, „qemu“ oder „util.json“ (der Name im Filter kann auch nur ein Teil des vollständigen Kategoriennamens sein, wodurch mehrere, ähnliche passende Kategoriennamen möglich sind). Das optionale Präfix „+“ bedeutet, dass libvirt eine Rückverfolgung (d.h.@: ein „Stack Trace“) für jede zum Namen passende Nachricht ins Protokoll schreiben soll. @code{x} benennt jeweils die kleinste Stufe, deren passende Nachrichten protokolliert werden sollen."
 
 #. type: itemize
 #: doc/guix.texi:21732 doc/guix.texi:21777 doc/guix.texi:21955
 #: doc/guix.texi:22000
 msgid "1: DEBUG"
-msgstr ""
+msgstr "1: Fehlersuche („DEBUG“)"
 
 #. type: itemize
 #: doc/guix.texi:21735 doc/guix.texi:21780 doc/guix.texi:21958
 #: doc/guix.texi:22003
 msgid "2: INFO"
-msgstr ""
+msgstr "2: Informationen („INFO“)"
 
 #. type: itemize
 #: doc/guix.texi:21738 doc/guix.texi:21783 doc/guix.texi:21961
 #: doc/guix.texi:22006
 msgid "3: WARNING"
-msgstr ""
+msgstr "3: Warnungen („WARNING“)"
 
 #. type: itemize
 #: doc/guix.texi:21741 doc/guix.texi:21786 doc/guix.texi:21964
 #: doc/guix.texi:22009
 msgid "4: ERROR"
-msgstr ""
+msgstr "4: Fehler („ERROR“)"
 
 #. type: deftypevr
 #: doc/guix.texi:21746 doc/guix.texi:21969
 msgid "Multiple filters can be defined in a single filters statement, they just need to be separated by spaces."
-msgstr ""
+msgstr "Mehrere Filter können in einer einzelnen Filteranweisung definiert werden; sie müssen nur durch Leerzeichen voneinander getrennt werden."
 
 #. type: deftypevr
 #: doc/guix.texi:21748 doc/guix.texi:21971
 msgid "Defaults to @samp{\"3:remote 4:event\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"3:remote 4:event\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21751
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string log-outputs"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette log-outputs"
 
 #. type: deftypevr
 #: doc/guix.texi:21753 doc/guix.texi:21976
 msgid "Logging outputs."
-msgstr ""
+msgstr "Ausgaben für die Protokollierung."
 
 #. type: deftypevr
 #: doc/guix.texi:21756
 msgid "An output is one of the places to save logging information.  The format for an output can be:"
-msgstr ""
+msgstr "Eine Ausgabe ist einer der Orte, wohin Informationen aus der Protokollierung gespeichert werden. Eine Ausgabe kann auf eine der folgenden Arten angegeben werden:"
 
 #. type: item
 #: doc/guix.texi:21758 doc/guix.texi:21981
 #, no-wrap
 msgid "x:stderr"
-msgstr ""
+msgstr "x:stderr"
 
 #. type: table
 #: doc/guix.texi:21760 doc/guix.texi:21983
 msgid "output goes to stderr"
-msgstr ""
+msgstr "Protokolle werden auf der Standardausgabe („Stderr“) ausgegeben."
 
 #. type: item
 #: doc/guix.texi:21761 doc/guix.texi:21984
 #, no-wrap
 msgid "x:syslog:name"
-msgstr ""
+msgstr "x:syslog:Name"
 
 #. type: table
 #: doc/guix.texi:21763 doc/guix.texi:21986
 msgid "use syslog for the output and use the given name as the ident"
-msgstr ""
+msgstr "Syslog wird zur Ausgabe benutzt. Der Name dient dabei als Identifikator für libvirt-Protokolle."
 
 #. type: item
 #: doc/guix.texi:21764 doc/guix.texi:21987
 #, no-wrap
 msgid "x:file:file_path"
-msgstr ""
+msgstr "x:file:Dateipfad"
 
 #. type: table
 #: doc/guix.texi:21766 doc/guix.texi:21989
 msgid "output to a file, with the given filepath"
-msgstr ""
+msgstr "Protokolle werden in die Datei unter dem angegebenen Dateipfad ausgegeben."
 
 #. type: item
 #: doc/guix.texi:21767 doc/guix.texi:21990
 #, no-wrap
 msgid "x:journald"
-msgstr ""
+msgstr "x:journald"
 
 #. type: table
 #: doc/guix.texi:21769 doc/guix.texi:21992
 msgid "output to journald logging system"
-msgstr ""
+msgstr "Die Ausgabe läuft über das journald-Protokollsystem."
 
 #. type: deftypevr
 #: doc/guix.texi:21773 doc/guix.texi:21996
 msgid "In all case the x prefix is the minimal level, acting as a filter"
-msgstr ""
+msgstr "In allen Fällen steht das x vorne für die kleinste Stufe und wirkt als Filter."
 
 #. type: deftypevr
 #: doc/guix.texi:21791 doc/guix.texi:22014
 msgid "Multiple outputs can be defined, they just need to be separated by spaces."
-msgstr ""
+msgstr "Mehrere Ausgaben können definiert werden, dazu müssen sie nur durch Leerzeichen getrennt hier angegeben werden."
 
 #. type: deftypevr
 #: doc/guix.texi:21793 doc/guix.texi:22016
 msgid "Defaults to @samp{\"3:stderr\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"3:stderr\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21796
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer audit-level"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl audit-level"
 
 #. type: deftypevr
 #: doc/guix.texi:21798
 msgid "Allows usage of the auditing subsystem to be altered"
-msgstr ""
+msgstr "Ermöglicht Anpassungen am Auditierungs-Subsystem."
 
 #. type: itemize
 #: doc/guix.texi:21802
 msgid "0: disable all auditing"
-msgstr ""
+msgstr "0: Jegliche Auditierung deaktivieren."
 
 #. type: itemize
 #: doc/guix.texi:21805
 msgid "1: enable auditing, only if enabled on host"
-msgstr ""
+msgstr "1: Auditierung nur aktivieren, wenn sie beim Wirtssystem aktiviert ist."
 
 #. type: itemize
 #: doc/guix.texi:21808
 msgid "2: enable auditing, and exit if disabled on host."
-msgstr ""
+msgstr "2: Auditierung aktivieren. Beenden, wenn das Wirtssystem Auditierung deaktiviert hat."
 
 #. type: deftypevr
 #: doc/guix.texi:21815
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} boolean audit-logging"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Boolescher-Ausdruck audit-logging"
 
 #. type: deftypevr
 #: doc/guix.texi:21817
 msgid "Send audit messages via libvirt logging infrastructure."
-msgstr ""
+msgstr "Audit-Nachrichten über die Protokollinfrastruktur von libvirt versenden."
 
 #. type: deftypevr
 #: doc/guix.texi:21822
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} optional-string host-uuid"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Optional-nichtleere-Zeichenkette host-uuid"
 
 #. type: deftypevr
 #: doc/guix.texi:21824
 msgid "Host UUID.  UUID must not have all digits be the same."
-msgstr ""
+msgstr "Für das Wirtssystem zu verwendende UUID. Bei der UUID dürfen nicht alle Ziffern gleich sein."
 
 #. type: deftypevr
 #: doc/guix.texi:21829
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} string host-uuid-source"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Zeichenkette host-uuid-source"
 
 #. type: deftypevr
 #: doc/guix.texi:21831
 msgid "Source to read host UUID."
-msgstr ""
+msgstr "Die Quelle, von der die UUID des Wirtssystems genommen wird."
 
 #. type: itemize
 #: doc/guix.texi:21835
 msgid "@code{smbios}: fetch the UUID from @code{dmidecode -s system-uuid}"
-msgstr ""
+msgstr "@code{smbios}: Die UUID von @code{dmidecode -s system-uuid} holen."
 
 #. type: itemize
 #: doc/guix.texi:21838
 msgid "@code{machine-id}: fetch the UUID from @code{/etc/machine-id}"
-msgstr ""
+msgstr "@code{machine-id}: Die UUID aus @code{/etc/machine-id} holen."
 
 #. type: deftypevr
 #: doc/guix.texi:21843
 msgid "If @code{dmidecode} does not provide a valid UUID a temporary UUID will be generated."
-msgstr ""
+msgstr "Falls @code{dmidecode} keine gültige UUID liefert, wird eine temporäre UUID generiert."
 
 #. type: deftypevr
 #: doc/guix.texi:21845
 msgid "Defaults to @samp{\"smbios\"}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{\"smbios\"}."
 
 #. type: deftypevr
 #: doc/guix.texi:21848
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer keepalive-interval"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl keepalive-interval"
 
 #. type: deftypevr
 #: doc/guix.texi:21853
 msgid "A keepalive message is sent to a client after @code{keepalive_interval} seconds of inactivity to check if the client is still responding.  If set to -1, libvirtd will never send keepalive requests; however clients can still send them and the daemon will send responses."
-msgstr ""
+msgstr "Einem Client wird eine Nachricht zum Aufrechterhalten der Verbindung gesendet, nachdem @code{keepalive_interval} Sekunden lang keine Aktivität stattgefunden hat. Damit kann überprüft werden, ob der Client noch antwortet. Wird dieses Feld auf -1 gesetzt, wird libvirtd niemals Aufrechterhaltungsanfragen senden; Clients können diese aber weiterhin dem Daemon schicken und er wird auf diese antworten."
 
 #. type: deftypevr
 #: doc/guix.texi:21858
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer keepalive-count"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl keepalive-count"
 
 #. type: deftypevr
 #: doc/guix.texi:21862
 msgid "Maximum number of keepalive messages that are allowed to be sent to the client without getting any response before the connection is considered broken."
-msgstr ""
+msgstr "Wieviele Aufrechterhaltungsnachrichten höchstens zum Client geschickt werden dürfen, ohne dass eine Antwort zurückgekommen ist, bevor die Verbindung als abgebrochen gilt."
 
 #. type: deftypevr
 #: doc/guix.texi:21869
 msgid "In other words, the connection is automatically closed approximately after @code{keepalive_interval * (keepalive_count + 1)} seconds since the last message received from the client.  When @code{keepalive-count} is set to 0, connections will be automatically closed after @code{keepalive-interval} seconds of inactivity without sending any keepalive messages."
-msgstr ""
+msgstr "Mit anderen Worten wird die Verbindung ungefähr dann automatisch geschlossen, wenn @code{keepalive_interval * (keepalive_count + 1)} Sekunden seit der letzten vom Client empfangenen Nachricht vergangen sind. Wenn @code{keepalive-count} auf 0 gesetzt wurde, werden Verbindungen dann automatisch geschlossen, wenn @code{keepalive-interval} Sekunden der Inaktivität vorausgegangen sind, ohne dass eine Aufrechterhaltungsnachricht versandt wurde."
 
 #. type: deftypevr
 #: doc/guix.texi:21874
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-interval"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-keepalive-interval"
 
 #. type: deftypevr
 #: doc/guix.texi:21876 doc/guix.texi:21883
 msgid "Same as above but for admin interface."
-msgstr ""
+msgstr "Wie oben, aber für die Administratorschnittstelle."
 
 #. type: deftypevr
 #: doc/guix.texi:21881
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer admin-keepalive-count"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl admin-keepalive-count"
 
 #. type: deftypevr
 #: doc/guix.texi:21888
 #, no-wrap
 msgid "{@code{libvirt-configuration} parameter} integer ovs-timeout"
-msgstr ""
+msgstr "{@code{libvirt-configuration}-Parameter} Ganze-Zahl ovs-timeout"
 
 #. type: deftypevr
 #: doc/guix.texi:21890
 msgid "Timeout for Open vSwitch calls."
-msgstr ""
+msgstr "Zeitbeschränkung für Aufrufe über Open vSwitch."
 
 #. type: deftypevr
 #: doc/guix.texi:21894
 msgid "The @code{ovs-vsctl} utility is used for the configuration and its timeout option is set by default to 5 seconds to avoid potential infinite waits blocking libvirt."
-msgstr ""
+msgstr "Das Werkzeug @code{ovs-vsctl} wird zur Konfiguration benutzt; die dort eingestellte Zeitbeschränkung ist nach Voreinstellung auf 5 Sekunden festgelegt, um zu verhindern, dass libvirt durch unbegrenztes Warten blockiert werden kann."
 
 #. type: subsubheading
 #: doc/guix.texi:21901
 #, no-wrap
 msgid "Virtlog daemon"
-msgstr ""
+msgstr "Virtlog-Daemon"
 
 #. type: Plain text
 #: doc/guix.texi:21904
 msgid "The virtlogd service is a server side daemon component of libvirt that is used to manage logs from virtual machine consoles."
-msgstr ""
+msgstr "Der virtlogd-Dienst ist eine serverseitige Daemon-Komponente von libvirt, die benutzt wird, um Protokolle der Konsolen von virtuellen Maschinen zu verwalten."
 
 #. type: Plain text
 #: doc/guix.texi:21910
 msgid "This daemon is not used directly by libvirt client applications, rather it is called on their behalf by @code{libvirtd}. By maintaining the logs in a standalone daemon, the main @code{libvirtd} daemon can be restarted without risk of losing logs. The @code{virtlogd} daemon has the ability to re-exec()  itself upon receiving @code{SIGUSR1}, to allow live upgrades without downtime."
-msgstr ""
+msgstr "Dieser Daemon wird von libvirt-Clientanwendungen nicht direkt benutzt, sondern wird an deren Stelle vom @code{libvirtd} aufgerufen. Indem die Protokolle in einem eigenständigen Daemon vorgehalten werden, kann der eigentliche @code{libvirtd}-Daemon neu gestartet werden, ohne dass man riskiert, Protokolle zu verlieren. Der @code{virtlogd}-Daemon hat die Fähigkeit, sich selbst erneut mit exec() zu starten, wenn er @code{SIGUSR1} empfängt, damit Aktualisierungen ohne Ausfall möglich sind."
 
 #. type: deffn
 #: doc/guix.texi:21911
 #, no-wrap
 msgid "{Scheme Variable} virtlog-service-type"
-msgstr ""
+msgstr "{Scheme-Variable} virtlog-service-type"
 
 #. type: deffn
 #: doc/guix.texi:21914
 msgid "This is the type of the virtlog daemon.  Its value must be a @code{virtlog-configuration}."
-msgstr ""
+msgstr "Dies ist der Diensttyp des virtlog-Daemons. Sein Wert muss eine @code{virtlog-configuration} sein."
 
 #. type: example
 #: doc/guix.texi:21919
@@ -40869,95 +41047,98 @@ msgid ""
 "         (virtlog-configuration\n"
 "          (max-clients 1000)))\n"
 msgstr ""
+"(service virtlog-service-type\n"
+"         (virtlog-configuration\n"
+"          (max-clients 1000)))\n"
 
 #. type: deftypevr
 #: doc/guix.texi:21922
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} integer log-level"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl log-level"
 
 #. type: deftypevr
 #: doc/guix.texi:21929
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} string log-filters"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Zeichenkette log-filters"
 
 #. type: deftypevr
 #: doc/guix.texi:21974
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} string log-outputs"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Zeichenkette log-outputs"
 
 #. type: deftypevr
 #: doc/guix.texi:21979
 msgid "An output is one of the places to save logging information The format for an output can be:"
-msgstr ""
+msgstr "Als Ausgabe bezeichnen wir einen der Orte, an denen Protokollinformationen gespeichert werden. Eine Ausgabe wird auf eine der folgenden Arten angegeben:"
 
 #. type: deftypevr
 #: doc/guix.texi:22019
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} integer max-clients"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-clients"
 
 #. type: deftypevr
 #: doc/guix.texi:22024
 msgid "Defaults to @samp{1024}."
-msgstr ""
+msgstr "Die Vorgabe ist @samp{1024}."
 
 #. type: deftypevr
 #: doc/guix.texi:22027
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} integer max-size"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-size"
 
 #. type: deftypevr
 #: doc/guix.texi:22029
 msgid "Maximum file size before rolling over."
-msgstr ""
+msgstr "Wie groß eine Protokolldatei werden darf, bevor eine neue begonnen wird."
 
 #. type: deftypevr
 #: doc/guix.texi:22031
 msgid "Defaults to @samp{2MB}"
-msgstr ""
+msgstr "Die Vorgabe ist @samp{2MB}."
 
 #. type: deftypevr
 #: doc/guix.texi:22034
 #, no-wrap
 msgid "{@code{virtlog-configuration} parameter} integer max-backups"
-msgstr ""
+msgstr "{@code{virtlog-configuration}-Parameter} Ganze-Zahl max-backups"
 
 #. type: deftypevr
 #: doc/guix.texi:22036
 msgid "Maximum number of backup files to keep."
-msgstr ""
+msgstr "Wieviele Dateien mit Sicherungskopien gespeichert bleiben sollen."
 
 #. type: deftypevr
 #: doc/guix.texi:22038
 msgid "Defaults to @samp{3}"
-msgstr ""
+msgstr "Die Vorgabe ist @samp{3}."
 
 #. type: subsubheading
 #: doc/guix.texi:22041
 #, no-wrap
 msgid "Transparent Emulation with QEMU"
-msgstr ""
+msgstr "Transparente Emulation mit QEMU"
 
 #. type: cindex
 #: doc/guix.texi:22043
 #, no-wrap
 msgid "emulation"
-msgstr ""
+msgstr "Emulation"
 
 #. type: code{#1}
 #: doc/guix.texi:22044
 #, no-wrap
 msgid "binfmt_misc"
-msgstr ""
+msgstr "binfmt_misc"
 
 #. type: Plain text
 #: doc/guix.texi:22050
 msgid "@code{qemu-binfmt-service-type} provides support for transparent emulation of program binaries built for different architectures---e.g., it allows you to transparently execute an ARMv7 program on an x86_64 machine.  It achieves this by combining the @uref{https://www.qemu.org, QEMU} emulator and the @code{binfmt_misc} feature of the kernel Linux."
-msgstr ""
+msgstr "Mit @code{qemu-binfmt-service-type} wird transparente Emulation von Programm-Binärdateien, die für unterschiedliche Architekturen erstellt wurden, ermöglicht. Z.B.@: können Sie ein ARMv7-Programm „einfach so“ transparent auf einer x86_64-Maschine ausführen. Dazu wird der @uref{https://www.qemu.org, QEMU-Emulator} mit der @code{binfmt_misc}-Funktionalität des Kernels Linux kombiniert."
 
 #. type: defvr
 #: doc/guix.texi:22051
@@ -40991,39 +41172,39 @@ msgstr "In diesem Beispiel aktivieren wir transparente Emulation für die Plattf
 #: doc/guix.texi:22069
 #, no-wrap
 msgid "{Data Type} qemu-binfmt-configuration"
-msgstr ""
+msgstr "{Datentyp} qemu-binfmt-configuration"
 
 #. type: deftp
 #: doc/guix.texi:22071
 msgid "This is the configuration for the @code{qemu-binfmt} service."
-msgstr ""
+msgstr "Dies ist die Konfiguration des @code{qemu-binfmt}-Dienstes."
 
 #. type: item
 #: doc/guix.texi:22073
 #, no-wrap
 msgid "@code{platforms} (default: @code{'()})"
-msgstr ""
+msgstr "@code{platforms} (Vorgabe: @code{'()})"
 
 #. type: table
 #: doc/guix.texi:22076
 msgid "The list of emulated QEMU platforms.  Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below)."
-msgstr ""
+msgstr "Die Liste der emulierten QEMU-Plattformen. Jeder Eintrag muss ein @dfn{Plattformobjekt} sein, wie @code{lookup-qemu-platforms} eines zurückliefert (siehe unten)."
 
 #. type: item
 #: doc/guix.texi:22077
 #, no-wrap
 msgid "@code{guix-support?} (default: @code{#f})"
-msgstr ""
+msgstr "@code{guix-support?} (Vorgabe: @code{#f})"
 
 #. type: table
 #: doc/guix.texi:22083
 msgid "When it is true, QEMU and all its dependencies are added to the build environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, @code{--chroot-directory} option}).  This allows the @code{binfmt_misc} handlers to be used within the build environment, which in turn means that you can transparently build programs for another architecture."
-msgstr ""
+msgstr "Wenn es auf wahr gesetzt ist, werden QEMU und all seine Abhängigkeiten zur Erstellungsumgebung des @command{guix-daemon} hinzugefügt (siehe @ref{Invoking guix-daemon, @code{--chroot-directory}-Option}). Dadurch können die @code{binfmt_misc}-Handler innerhalb der Erstellungsumgebung benutzt werden, wodurch Sie Programme transparent für eine andere Architektur erstellen können."
 
 #. type: table
 #: doc/guix.texi:22086
 msgid "For example, let's suppose you're on an x86_64 machine and you have this service:"
-msgstr ""
+msgstr "Wenn wir zum Beispiel annehmen, Sie arbeiten auf einer x86_64-Maschine und haben diesen Dienst eingerichtet:"
 
 #. type: example
 #: doc/guix.texi:22092
@@ -41034,66 +41215,70 @@ msgid ""
 "           (platforms (lookup-qemu-platforms \"arm\"))\n"
 "           (guix-support? #t)))\n"
 msgstr ""
+"(service qemu-binfmt-service-type\n"
+"         (qemu-binfmt-configuration\n"
+"           (platforms (lookup-qemu-platforms \"arm\"))\n"
+"           (guix-support? #t)))\n"
 
 #. type: table
 #: doc/guix.texi:22095
 msgid "You can run:"
-msgstr ""
+msgstr "Dann können Sie das hier ausführen:"
 
 #. type: example
 #: doc/guix.texi:22098
 #, no-wrap
 msgid "guix build -s armhf-linux inkscape\n"
-msgstr ""
+msgstr "guix build -s armhf-linux inkscape\n"
 
 #. type: table
 #: doc/guix.texi:22105
 msgid "and it will build Inkscape for ARMv7 @emph{as if it were a native build}, transparently using QEMU to emulate the ARMv7 CPU.  Pretty handy if you'd like to test a package build for an architecture you don't have access to!"
-msgstr ""
+msgstr "und alles verhält sich so, als würden Sie Inkscape für ARMv7 @emph{wie „nativ“ auf einem ARM-Rechner erstellen}, wozu QEMU transparent benutzt wird, um den ARMv7-Prozessor zu emulieren. Das ist ganz schön praktisch, wenn Sie testen wollen, ob ein Paket für eine Architektur erstellt werden kann, die Ihnen nicht zur Verfügung steht."
 
 #. type: item
 #: doc/guix.texi:22106
 #, no-wrap
 msgid "@code{qemu} (default: @code{qemu})"
-msgstr ""
+msgstr "@code{qemu} (Vorgabe: @code{qemu})"
 
 #. type: table
 #: doc/guix.texi:22108
 msgid "The QEMU package to use."
-msgstr ""
+msgstr "Das QEMU-Paket, das benutzt werden soll."
 
 #. type: deffn
 #: doc/guix.texi:22111
 #, no-wrap
 msgid "{Scheme Procedure} lookup-qemu-platforms @var{platforms}@dots{}"
-msgstr ""
+msgstr "{Scheme-Prozedur} lookup-qemu-platforms @var{Plattformen}@dots{}"
 
 #. type: deffn
 #: doc/guix.texi:22116
 msgid "Return the list of QEMU platform objects corresponding to @var{platforms}@dots{}.  @var{platforms} must be a list of strings corresponding to platform names, such as @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"}, and so on."
-msgstr ""
+msgstr "Liefert die Liste der QEMU-Plattformobjekte, die den @var{Plattformen}@dots{} entsprechen. @var{Plattformen} muss eine Liste von Zeichenketten sein, die den Namen der Plattformen entsprechen, wie z.B.@: @code{\"arm\"}, @code{\"sparc\"}, @code{\"mips64el\"} und so weiter."
 
 #. type: deffn
 #: doc/guix.texi:22118
 #, no-wrap
 msgid "{Scheme Procedure} qemu-platform? @var{obj}"
-msgstr ""
+msgstr "{Scheme-Prozedur} qemu-platform? @var{Objekt}"
 
 #. type: deffn
 #: doc/guix.texi:22120
 msgid "Return true if @var{obj} is a platform object."
-msgstr ""
+msgstr "Liefert wahr, wenn das @var{Objekt} ein Plattformobjekt ist."
 
 #. type: deffn
 #: doc/guix.texi:22122
 #, no-wrap
 msgid "{Scheme Procedure} qemu-platform-name @var{platform}"
-msgstr ""
+msgstr "{Scheme-Prozedur} qemu-platform-name @var{Plattform}"
 
 #. type: deffn
 #: doc/guix.texi:22124
 msgid "Return the name of @var{platform}---a string such as @code{\"arm\"}."
-msgstr ""
+msgstr "Liefert den Namen der @var{Plattform}, also eine Zeichenkette wie z.B.@: @code{\"arm\"}."
 
 #. type: Plain text
 #: doc/guix.texi:22136
diff --git a/po/doc/guix-manual.fr.po b/po/doc/guix-manual.fr.po
index d7fc262cbc..06708874c9 100644
--- a/po/doc/guix-manual.fr.po
+++ b/po/doc/guix-manual.fr.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: guix-manual 1.0.1-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
 "POT-Creation-Date: 2019-05-10 20:53+0200\n"
-"PO-Revision-Date: 2019-05-12 11:55+0200\n"
+"PO-Revision-Date: 2019-07-20 11:50+0200\n"
 "Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Offlate 0.1\n"
+"X-Generator: Poedit 2.2.1\n"
 
 #. #-#-#-#-#  contributing.pot (guix 1.0.1-pre1)  #-#-#-#-#
 #. type: chapter
@@ -1432,6 +1432,8 @@ msgstr "version-fr.texi"
 
 #. type: copying
 #: doc/guix.texi:66
+#, fuzzy
+#| msgid "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018 Gábor Boskovits@* Copyright @copyright{} 2018, 2019 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019 Diego Nicola Barbato@*"
 msgid "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 ng0@* Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@* Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018 Clément Lassieur@* Copyright @copyright{} 2017, 2018 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018 Marius Bakke@* Copyright @copyright{} 2017 Hartmut Goebel@* Copyright @copyright{} 2017 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018 Gábor Boskovits@* Copyright @copyright{} 2018 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@*"
 msgstr ""
 "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès@*\n"
@@ -1449,7 +1451,7 @@ msgstr ""
 "Copyright @copyright{} 2016 John Darrington@*\n"
 "Copyright @copyright{} 2016, 2017 ng0@*\n"
 "Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@*\n"
-"Copyright @copyright{} 2016, 2018, 2019 Julien Lepiller@*\n"
+"Copyright @copyright{} 2016 Julien Lepiller@*\n"
 "Copyright @copyright{} 2016 Alex ter Weele@*\n"
 "Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*\n"
 "Copyright @copyright{} 2017, 2018 Clément Lassieur@*\n"
@@ -1472,10 +1474,11 @@ msgstr ""
 "Copyright @copyright{} 2018 Mike Gerwitz@*\n"
 "Copyright @copyright{} 2018 Pierre-Antoine Rouby@*\n"
 "Copyright @copyright{} 2018 Gábor Boskovits@*\n"
-"Copyright @copyright{} 2018 Florian Pelz@*\n"
+"Copyright @copyright{} 2018, 2019 Florian Pelz@*\n"
 "Copyright @copyright{} 2018 Laura Lazzati@*\n"
 "Copyright @copyright{} 2018 Alex Vong@*\n"
-"Copyright @copyright{} 2019 Josh Holland@*"
+"Copyright @copyright{} 2019 Josh Holland@*\n"
+"Copyright @copyright{} 2019 Diego Nicola Barbato@*"
 
 #. type: copying
 #: doc/guix.texi:73
@@ -1610,8 +1613,10 @@ msgstr "Cette documentation décrit GNU Guix version @value{VERSION}, un outil d
 
 #. type: Plain text
 #: doc/guix.texi:123
+#, fuzzy
+#| msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство 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}."
 msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), and Spanish (@pxref{Top,,, guix.es, Manual de referencia de 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 "Ce manuel est aussi disponible en anglais (@pxref{Top,,, guix, GNU Guix Reference Manual}), en allemand (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), en chinois simplifié (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}) et en espagnol (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}).  Si vous souhaitez nous aider à traduire ce manuel en français, vous pouvez nous rejoindre sur le @uref{https://translationproject.org/domain/guix-manual.html, projet de traduction} et sur la liste de diffusion @uref{https://listes.traduc.org/mailman/listinfo/traduc/, traduc@@traduc.org}."
+msgstr "Ce manuel est aussi disponible en anglais (@pxref{Top,,, guix, GNU Guix Reference Manual}), en allemand (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), en chinois simplifié (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), en espagnol (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}) et en russe (@pxref{Top,,, guix.ru, Руководство GNU Guix}).  Si vous souhaitez nous aider à traduire ce manuel en français, vous pouvez nous rejoindre sur le @uref{https://translationproject.org/domain/guix-manual.html, projet de traduction} et sur la liste de diffusion @uref{https://listes.traduc.org/mailman/listinfo/traduc/, traduc@@traduc.org}."
 
 #. type: chapter
 #: doc/guix.texi:139 doc/guix.texi:149 doc/guix.texi:312 doc/guix.texi:313
@@ -3280,7 +3285,7 @@ msgstr "i686-linux"
 #. type: table
 #: doc/guix.texi:434
 msgid "Intel 32-bit architecture (IA32), Linux-Libre kernel;"
-msgstr "l'architecture Intel 32-bits (IA32) avec le noyau Linux-libre ;"
+msgstr "l'architecture Intel 32 bits (IA32) avec le noyau Linux-libre ;"
 
 #. type: item
 #: doc/guix.texi:435
@@ -3312,8 +3317,10 @@ msgstr "mips64el-linux"
 
 #. type: table
 #: doc/guix.texi:448
+#, fuzzy
+#| msgid "little-endian 64-bit ARMv8-A processors, Linux-Libre kernel."
 msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel."
-msgstr "les processeurs MIPS 64-bits little-endian, spécifiquement la série Loongson, ABI n32, avec le noyau Linux-libre."
+msgstr "les processeurs 64 bits ARMv8-A en little-endian, avec le noyau Linux-libre."
 
 #. type: Plain text
 #: doc/guix.texi:458
@@ -4086,7 +4093,7 @@ msgstr "crochet de construction"
 #. type: Plain text
 #: doc/guix.texi:1020
 msgid "When desired, the build daemon can @dfn{offload} derivation builds to other machines running Guix, using the @code{offload} @dfn{build hook}@footnote{This feature is available only when @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is present.}.  When that feature is enabled, a list of user-specified build machines is read from @file{/etc/guix/machines.scm}; every time a build is requested, for instance via @code{guix build}, the daemon attempts to offload it to one of the machines that satisfy the constraints of the derivation, in particular its system type---e.g., @file{x86_64-linux}.  Missing prerequisites for the build are copied over SSH to the target machine, which then proceeds with the build; upon success the output(s) of the build are copied back to the initial machine."
-msgstr "Si vous le souhaitez, le démon de construction peut @dfn{décharger} des constructions de dérivations sur d'autres machines Guix avec le @dfn{crochet de construction} @code{offload}@footnote{Cette fonctionnalité n'est disponible que si @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} est présent.}.  Lorsque cette fonctionnalité est activée, Guix lit une liste de machines de constructions spécifiée par l'utilisateur dans @file{/etc/guix/machines.scm} ; à chaque fois qu'une construction est demandée, par exemple par @code{guix build}, le démon essaie de la décharger sur une des machines qui satisfont les contraintes de la dérivation, en particulier le type de système, p.@: ex.@: @file{x86_64-linux}.  Les prérequis manquants pour la construction sont copiés par SSH sur la machine de construction qui procède ensuite à la construction ; si elle réussi, les sorties de la construction sont copiés vers la machine de départ."
+msgstr "Si vous le souhaitez, le démon de construction peut @dfn{décharger} des constructions de dérivations sur d'autres machines Guix avec le @dfn{crochet de construction} @code{offload}@footnote{Cette fonctionnalité n'est disponible que si @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} est présent.}.  Lorsque cette fonctionnalité est activée, Guix lit une liste de machines de constructions spécifiée par l'utilisateur dans @file{/etc/guix/machines.scm} ; à chaque fois qu'une construction est demandée, par exemple par @code{guix build}, le démon essaie de la décharger sur une des machines qui satisfont les contraintes de la dérivation, en particulier le type de système, p.@: ex.@: @file{x86_64-linux}.  Les prérequis manquants pour la construction sont copiés par SSH sur la machine de construction qui procède ensuite à la construction ; si elle réussit, les sorties de la construction sont copiés vers la machine de départ."
 
 #. type: Plain text
 #: doc/guix.texi:1022
@@ -6289,7 +6296,7 @@ msgstr "transactions"
 #. type: Plain text
 #: doc/guix.texi:2544
 msgid "The command provides the obvious install, remove, and upgrade operations.  Each invocation is actually a @emph{transaction}: either the specified operation succeeds, or nothing happens.  Thus, if the @command{guix package} process is terminated during the transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains usable."
-msgstr "La commande fournit les opérations évidentes d'installation, de suppression et de mise à jour.  Chaque invocation est en fait une @emph{transaction} : soit l'opération demandée réussi, soit rien ne se passe.  Ainsi, si le processus @command{guix package} est terminé pendant la transaction ou si une panne de courant arrive pendant la transaction, le profil de l'utilisateur reste dans son état précédent et reste utilisable."
+msgstr "La commande fournit les opérations évidentes d'installation, de suppression et de mise à jour.  Chaque invocation est en fait une @emph{transaction} : soit l'opération demandée réussit, soit rien ne se passe.  Ainsi, si le processus @command{guix package} est terminé pendant la transaction ou si une panne de courant arrive pendant la transaction, le profil de l'utilisateur reste dans son état précédent et reste utilisable."
 
 #. type: Plain text
 #: doc/guix.texi:2552
@@ -6299,7 +6306,7 @@ msgstr "En plus, il est possible @emph{d'annuler} toute transaction sur les paqu
 #. type: Plain text
 #: doc/guix.texi:2559
 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 "Tous les paquets du dépôt des paquets peut être @emph{glané}.  Guix peut déterminer quels paquets sont toujours référencés par les profils des utilisateurs et supprimer ceux qui ne sont plus référencés de manière prouvable (@pxref{Invoking guix gc}).  Les utilisateurs peuvent toujours explicitement supprimer les anciennes générations de leur profil pour que les paquets auxquels elles faisaient référence puissent être glanés."
+msgstr "Tout paquet du dépôt des paquets peut être @emph{glané}.  Guix peut déterminer quels paquets sont toujours référencés par les profils des utilisateurs et supprimer ceux qui ne sont plus référencés de manière prouvable (@pxref{Invoking guix gc}).  Les utilisateurs peuvent toujours explicitement supprimer les anciennes générations de leur profil pour que les paquets auxquels elles faisaient référence puissent être glanés."
 
 #. type: cindex
 #: doc/guix.texi:2560 doc/guix.texi:4087
@@ -6310,7 +6317,7 @@ msgstr "reproductibilité"
 #. type: Plain text
 #: doc/guix.texi:2572
 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 prend une approche @dfn{purement fonctionnelle} de la gestion de paquets, telle que décrite dans l'introduction (@pxref{Introduction}).  Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash de toutes les entrées qui ont été utilisées pendant la construction de ce paquet — le compilateur, les bibliothèques, les scripts de construction, etc.  Cette correspondance directe permet aux utilisateurs de s'assurer que l'installation d'un paquet donné correspond à l'état actuel de leur distribution.  Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce aux environnements de construction utilisés, une construction donnée à de forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est effectuée sur des machines différents (@pxref{Invoking guix-daemon, container})."
+msgstr "Guix prend une approche @dfn{purement fonctionnelle} de la gestion de paquets, telle que décrite dans l'introduction (@pxref{Introduction}).  Chaque nom de répertoire de paquet dans @file{/gnu/store} contient un hash de toutes les entrées qui ont été utilisées pendant la construction de ce paquet — le compilateur, les bibliothèques, les scripts de construction, etc.  Cette correspondance directe permet aux utilisateurs de s'assurer que l'installation d'un paquet donné correspond à l'état actuel de leur distribution.  Elle aide aussi à maximiser la @dfn{reproductibilité} : grâce aux environnements de construction utilisés, une construction donnée a de forte chances de donner des fichiers identiques bit-à-bit lorsqu'elle est effectuée sur des machines différentes (@pxref{Invoking guix-daemon, container})."
 
 #. type: Plain text
 #: doc/guix.texi:2583
@@ -6472,7 +6479,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:2678
 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 "Dans un environnement multi-utilisateur, les profils utilisateurs sont stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe @file{$HOME/.guix-profile} (@pxref{Invoking guix gc}).  Ce répertoire est normalement @code{@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}},  où @var{localstatedir} est la valeur passée à @code{configure} avec @code{--localstatedir} et @var{utilisateur} le nom d'utilisateur.  Le répertoire @file{per-user} est créé lorsque @command{guix-daemon} est démarré et sous-répertoire @var{utilisateur} est créé par @command{guix package}."
+msgstr "Dans un environnement multi-utilisateur, les profils utilisateurs sont stockés comme une @dfn{racine du ramasse-miettes}, vers laquelle pointe @file{$HOME/.guix-profile} (@pxref{Invoking guix gc}).  Ce répertoire est normalement @code{@var{localstatedir}/guix/profiles/per-user/@var{utilisateur}},  où @var{localstatedir} est la valeur passée à @code{configure} avec @code{--localstatedir} et @var{utilisateur} le nom d'utilisateur.  Le répertoire @file{per-user} est créé lorsque @command{guix-daemon} est démarré et le sous-répertoire @var{user} est créé par @command{guix package}."
 
 #. type: Plain text
 #: doc/guix.texi:2680
@@ -7243,7 +7250,7 @@ msgstr "@emph{Des intervalles}.  @code{--list-generations=2..9} affiche les"
 #. type: itemize
 #: doc/guix.texi:3061
 msgid "specified generations and everything in between.  Note that the start of a range must be smaller than its end."
-msgstr "générations demandées et tout ce qui se trouvent entre elles.  Remarquez que le début d'un intervalle doit être plus petit que sa fin."
+msgstr "générations demandées et tout ce qui se trouve entre elles.  Remarquez que le début d'un intervalle doit être plus petit que sa fin."
 
 #. type: itemize
 #: doc/guix.texi:3065
@@ -7455,7 +7462,7 @@ msgstr "signatures numériques"
 #. type: Plain text
 #: doc/guix.texi:3230
 msgid "Guix detects and raises an error when attempting to use a substitute that has been tampered with.  Likewise, it ignores substitutes that are not signed, or that are not signed by one of the keys listed in the ACL."
-msgstr "Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substituts qui a été modifié.  De même, il ignore les substituts qui ne sont pas signés ou qui ne sont pas signés par l'une des clefs listés dans l'ACL."
+msgstr "Guix détecte et lève une erreur lorsqu'il essaye d'utiliser un substitut qui a été modifié.  De même, il ignore les substituts qui ne sont pas signés ou qui ne sont pas signés par l'une des clefs listées dans l'ACL."
 
 #. type: Plain text
 #: doc/guix.texi:3236
@@ -7654,7 +7661,7 @@ msgstr "Ramasse les miettes — c.-à-d.@: les fichiers inaccessibles de @file{/
 #. type: table
 #: doc/guix.texi:3443
 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 "Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été collectés.  @var{min} pour être un nombre d'octets ou inclure un suffixe d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
+msgstr "Lorsque @var{min} est donné, s'arrêter une fois que @var{min} octets ont été collectés.  @var{min} peut être un nombre d'octets ou inclure un suffixe d'unité, comme @code{MiB} pour mébioctet et @code{GB} pour gigaoctet (@pxref{Block size, size specifications,, coreutils, GNU Coreutils})."
 
 #. type: table
 #: doc/guix.texi:3445
@@ -8006,7 +8013,7 @@ msgstr "À la fin, @command{guix package} utilisera les paquets et les versions
 #. type: Plain text
 #: doc/guix.texi:3614
 msgid "Any user can update their Guix copy using @command{guix pull}, and the effect is limited to the user who run @command{guix pull}.  For instance, when user @code{root} runs @command{guix pull}, this has no effect on the version of Guix that user @code{alice} sees, and vice versa."
-msgstr "Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix pull}.  Par exemple, lorsque l'utilisateur @code{root} lance @command{guix pull}, cela n'a pas d'effet sur la version de Guix que vois @code{alice} et vice-versa."
+msgstr "Chaque utilisateur peut mettre à jour sa copie de Guix avec @command{guix pull} et l'effet est limité à l'utilisateur qui a lancé @command{guix pull}.  Par exemple, lorsque l'utilisateur @code{root} lance @command{guix pull}, cela n'a pas d'effet sur la version de Guix que voit @code{alice} et vice-versa."
 
 #. type: Plain text
 #: doc/guix.texi:3620
@@ -8102,7 +8109,7 @@ msgstr "@xref{Invoking guix describe, @command{guix describe}}, pour d'autres ma
 #. type: Plain text
 #: doc/guix.texi:3663
 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 "Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils créés par @command{guix package} (@pxref{Invoking guix package}).  C'est-à-dire que vous pouvez lister les générations, revenir en arrière à une génération précédente — c.-à-d.@: la version de Guix précédente — etc :"
+msgstr "Ce profil @code{~/.config/guix/current} fonctionne comme les autres profils créés par @command{guix package} (@pxref{Invoking guix package}).  C'est-à-dire que vous pouvez lister les générations, revenir en arrière à une génération précédente — c.-à-d.@: la version de Guix précédente — etc.@: :"
 
 #. type: example
 #: doc/guix.texi:3669
@@ -8121,7 +8128,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:3673
 msgid "The @command{guix pull} command is usually invoked with no arguments, but it supports the following options:"
-msgstr "La commande @command{guix pull} est typiquement invoquée sans arguments mais il supporte les options suivantes :"
+msgstr "La commande @command{guix pull} est typiquement invoquée sans arguments mais elle prend en charge les options suivantes :"
 
 #. type: item
 #: doc/guix.texi:3675
@@ -9095,7 +9102,7 @@ msgstr ""
 #. type: Plain text
 #: doc/guix.texi:4226
 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 "Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le profil ainsi que toutes leurs dépendances sont transférées (à cause de @code{-r}), indépendamment du fait qu'ils soient disponibles dans le dépôt de la machine cible.  L'option @code{--missing} peut vous aider à comprendre les éléments qui manquent dans le dépôt de la machine cible.  La commande @command{guix copy} simplifie et optimise ce processus, c'est donc ce que vous devriez utiliser dans ce cas (@pxref{Invoking guix copy})."
+msgstr "Cependant, remarquez que, dans les deux exemples, le paquet @code{emacs}, le profil ainsi que toutes leurs dépendances sont transférés (à cause de @code{-r}), indépendamment du fait qu'ils soient ou non disponibles dans le dépôt de la machine cible.  L'option @code{--missing} peut vous aider à comprendre les éléments qui manquent dans le dépôt de la machine cible.  La commande @command{guix copy} simplifie et optimise ce processus, c'est donc ce que vous devriez utiliser dans ce cas (@pxref{Invoking guix copy})."
 
 #. type: cindex
 #: doc/guix.texi:4227
@@ -9388,7 +9395,7 @@ msgstr "$ ls \"$GUIX_ENVIRONMENT/bin\"\n"
 #. type: Plain text
 #: doc/guix.texi:4417
 msgid "Additionally, more than one package may be specified, in which case the union of the inputs for the given packages are used.  For example, the command below spawns a shell where all of the dependencies of both Guile and Emacs are available:"
-msgstr "En plus, plus d'un paquet peut être spécifié, auquel cas l'union des entrées des paquets données est utilisée.  Par exemple, la commande ci-dessous crée un shell où toutes les dépendances de Guile et Emacs sont disponibles :"
+msgstr "De surcroît, plus d'un paquet peut être spécifié, auquel cas l'union des entrées des paquets données est utilisée.  Par exemple, la commande ci-dessous crée un shell où toutes les dépendances de Guile et Emacs sont disponibles :"
 
 #. type: example
 #: doc/guix.texi:4420
@@ -9662,7 +9669,7 @@ msgstr ""
 #. type: table
 #: doc/guix.texi:4585
 msgid "This example runs @command{mpirun} in a context where the only environment variables defined are @code{PATH}, environment variables whose name starts with @code{SLURM}, as well as the usual ``precious'' variables (@code{HOME}, @code{USER}, etc.)"
-msgstr "Cet exemple exécute @command{mpirun} dans un contexte où les seules variables d'environnement défines sont @code{PATH}, les variables d'environnement dont le nom commence par @code{SLURM}, ainsi que les variables « importante » habituelles (@code{HOME}, @code{USER}, etc)."
+msgstr "Cet exemple exécute @command{mpirun} dans un contexte où les seules variables d'environnement défines sont @code{PATH}, les variables d'environnement dont le nom commence par @code{SLURM}, ainsi que les variables « importante » habituelles (@code{HOME}, @code{USER}, etc.)."
 
 #. type: item
 #: doc/guix.texi:4586
@@ -9925,7 +9932,7 @@ msgstr "binaires repositionnables, avec @command{guix pack}"
 #. type: Plain text
 #: doc/guix.texi:4752
 msgid "What if the recipient of your pack does not have root privileges on their machine, and thus cannot unpack it in the root file system? In that case, you will want to use the @code{--relocatable} option (see below).  This option produces @dfn{relocatable binaries}, meaning they they can be placed anywhere in the file system hierarchy: in the example above, users can unpack your tarball in their home directory and directly run @file{./opt/gnu/bin/guile}."
-msgstr "Et si le destinataire de votre pack n'a pas les privilèges root sur sa machine, et ne peut donc pas le décompresser dans le système de fichiers racine ?  Dans ce cas, vous pourriez utiliser l'option @code{--relocatable} (voir plus bas).  Cette option produite des @dfn{binaire repositionnables}, ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent décompresser votre archive dans leur répertoire personnel et lancer directement @file{./opt/gnu/bin/guile}."
+msgstr "Et si le destinataire de votre pack n'a pas les privilèges root sur sa machine, et ne peut donc pas le décompresser dans le système de fichiers racine ?  Dans ce cas, vous pourriez utiliser l'option @code{--relocatable} (voir plus bas).  Cette option produit des @dfn{binaire repositionnables}, ce qui signifie qu'ils peuvent être placés n'importe où dans l'arborescence du système de fichiers : dans l'exemple au-dessus, les utilisateurs peuvent décompresser votre archive dans leur répertoire personnel et lancer directement @file{./opt/gnu/bin/guile}."
 
 #. type: cindex
 #: doc/guix.texi:4753
@@ -13248,7 +13255,7 @@ msgstr "strate de code"
 #. type: Plain text
 #: doc/guix.texi:6979
 msgid "It should come as no surprise that we like to write these build actions in Scheme.  When we do that, we end up with two @dfn{strata} of Scheme code@footnote{The term @dfn{stratum} in this context was coined by Manuel Serrano et al.@: in the context of their work on Hop.  Oleg Kiselyov, who has written insightful @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essays and code on this topic}, refers to this kind of code generation as @dfn{staging}.}: the ``host code''---code that defines packages, talks to the daemon, etc.---and the ``build code''---code that actually performs build actions, such as making directories, invoking @command{make}, etc."
-msgstr "Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de construction en Scheme.  Lorsqu'on fait ça, on fini avec deux @dfn{strates} de code Scheme@footnote{Le terme @dfn{strate} dans ce contexte a été inventé par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux sur Hop.  Oleg Kiselyov, qui a écrit des @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces et du code sur le sujet}, utilise le terme de « mise en scène » pour ce genre de génération de code.} : le « code hôte » — le code qui défini les paquets, parle au démon, etc — et le « code côté construction » — le code qui effectue effectivement les actions de construction, comme créer des répertoires, invoquer @code{make}, etc."
+msgstr "Ça ne devrait pas vous surprendre, mais nous aimons écrire ces actions de construction en Scheme.  Lorsqu'on fait ça, on fini avec deux @dfn{strates} de code Scheme@footnote{Le terme @dfn{strate} dans ce contexte a été inventé par Manuel Serrano et ses collaborateurs dans le contexte de leur travaux sur Hop.  Oleg Kiselyov, qui a écrit des @url{http://okmij.org/ftp/meta-programming/#meta-scheme, essais perspicaces et du code sur le sujet}, utilise le terme de « mise en scène » pour ce genre de génération de code.} : le « code hôte » — le code qui définit les paquets, parle au démon, etc.@: — et le « code côté construction » — le code qui effectue effectivement les actions de construction, comme créer des répertoires, invoquer @code{make}, etc."
 
 #. type: Plain text
 #: doc/guix.texi:6986
@@ -15250,7 +15257,7 @@ msgstr "Maintenant, vous pouvez invoquer les commandes comme si vous étiez le d
 #. type: Plain text
 #: doc/guix.texi:8217
 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 "Parfois il arrive que, par exemple, les tests d'un paquet réussissent lorsque vous les lancez manuellement mais échouent quand ils sont lancés par le démon.  Cela peut arriver parce que le démon tourne dans un conteneur où, contrairement à notre environnement au-dessus, l'accès réseau est indisponible, @file{/bin/sh} n'existe pas, etc (@pxref{Build Environment Setup})."
+msgstr "Parfois il arrive que, par exemple, les tests d'un paquet réussissent lorsque vous les lancez manuellement mais échouent quand ils sont lancés par le démon.  Cela peut arriver parce que le démon tourne dans un conteneur où, contrairement à notre environnement au-dessus, l'accès réseau est indisponible, @file{/bin/sh} n'existe pas, etc.@: (@pxref{Build Environment Setup})."
 
 #. type: Plain text
 #: doc/guix.texi:8220
@@ -15512,7 +15519,7 @@ msgstr "-x"
 #. type: table
 #: doc/guix.texi:8388
 msgid "When combined with @option{--recursive}, exclude version control system directories (@file{.bzr}, @file{.git}, @file{.hg}, etc.)"
-msgstr "Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc)."
+msgstr "Lorsqu'elle est combinée à @option{--recursive}, exclut les répertoires de système de contrôle de version (@file{.bzr}, @file{.git}, @file{.hg}, etc.)"
 
 #. type: table
 #: doc/guix.texi:8393
@@ -20082,7 +20089,7 @@ msgstr "disposition clavier"
 #. type: Plain text
 #: doc/guix.texi:11134
 msgid "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.  However, German speakers will usually prefer the German QWERTZ layout, French speakers will want the AZERTY layout, and so on; hackers might prefer Dvorak or bépo, and they might even want to further customize the effect of some of the keys.  This section explains how to get that done."
-msgstr "Pour spécifier ce que fait chaque touche de votre clavier, vous devez dire au système d'exploitation quel @dfn{disposition du clavier} vous voulez utiliser.  Par défaut, lorsque rien n'est spécifié, la disposition QWERTY pour l'anglais américain pour les claviers 105 touches est utilisée.  Cependant, les germanophones préfèrent généralement la disposition QWERTZ, les francophones la disposition AZERTY etc ; les hackers peuvent préférer Dvorak ou bépo, et peuvent même vouloir personnaliser plus en détails l'effet de certaines touches.  Cette section explique comment faire cela."
+msgstr "Pour spécifier ce que fait chaque touche de votre clavier, vous devez dire au système d'exploitation quel @dfn{disposition du clavier} vous voulez utiliser.  Par défaut, lorsque rien n'est spécifié, la disposition QWERTY pour l'anglais américain pour les claviers 105 touches est utilisée.  Cependant, les germanophones préfèrent généralement la disposition QWERTZ, les francophones la disposition AZERTY etc.@: ; les hackers peuvent préférer Dvorak ou bépo, et peuvent même vouloir personnaliser plus en détails l'effet de certaines touches.  Cette section explique comment faire cela."
 
 #. type: cindex
 #: doc/guix.texi:11135
@@ -20892,7 +20899,7 @@ msgstr "Sinon et s'il y a une valeur pour une option @code{console} avec un tty
 #. type: table
 #: doc/guix.texi:11633
 msgid "In both cases, agetty will leave the other serial device settings (baud rate etc.)@: alone---in the hope that Linux pinned them to the correct values."
-msgstr "Dans les deux cas, agetty laissera les autres paramètres du périphérique série (baud, etc) sans y toucher — dans l'espoir que Linux leur a assigné les bonnes valeurs."
+msgstr "Dans les deux cas, agetty laissera les autres paramètres du périphérique série (baud, etc.) sans y toucher — dans l'espoir que Linux leur a assigné les bonnes valeurs."
 
 #. type: item
 #: doc/guix.texi:11634
@@ -25673,7 +25680,7 @@ msgstr "{Procédure Scheme} xorg-start-command [@var{config}]"
 #. type: deffn
 #: doc/guix.texi:13744
 msgid "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 @code{startx}."
-msgstr "Renvoie un script @code{startx} dans lequel les modules, les polices, etc, spécifiés dans @var{config} sont disponibles.  Le résultat devrait être utilisé à la place de @code{startx}."
+msgstr "Renvoie un script @code{startx} dans lequel les modules, les polices, etc., spécifiés dans @var{config} sont disponibles.  Le résultat devrait être utilisé à la place de @code{startx}."
 
 #. type: deffn
 #: doc/guix.texi:13746
@@ -27321,8 +27328,10 @@ msgstr "C'est la liste des services qui étend @var{%base-services} en ajoutant
 
 #. type: defvr
 #: doc/guix.texi:14629
+#, fuzzy
+#| msgid "In particular, it adds a graphical login manager (@pxref{X Window, @code{gdm-service-type}}), screen lockers, a network management tool (@pxref{Networking Services, @code{network-manager-service-type}}) with modem support (@pxref{Networking Services, @code{modem-manager-service-type}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS})."
 msgid "In particular, it adds a graphical login manager (@pxref{X Window, @code{gdm-service-type}}), screen lockers, a network management tool (@pxref{Networking Services, @code{network-manager-service-type}}), energy and color management services, the @code{elogind} login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, an NTP client (@pxref{Networking Services}), the Avahi daemon, and has the name service switch service configured to be able to use @code{nss-mdns} (@pxref{Name Service Switch, mDNS})."
-msgstr "En particulier, il ajoute un gestionnaire de connexion graphique (@pxref{X Window, @code{gdm-service-type}}), des verrouilleurs d'écran, un outil de gestion réseau (@pxref{Networking Services, @code{network-manager-service-type}}), des services de gestion de l'énergie et des couleurs, le gestionnaire de connexion et de session @code{elogind}, le service de privilèges Polkit, le service de géolocalisation GeoClue, le démon Accounts Service qui permet aux utilisateurs autorisés de changer les mots de passe du système, un client NTP (@pxref{Networking Services}), le démon Avahi, et le service name service switch est configuré pour pouvoir utiliser @code{nss-mdns} (@pxref{Name Service Switch, mDNS})."
+msgstr "En particulier, elle ajoute un gestionnaire de connexion graphique (@pxref{X Window, @code{gdm-service-type}}), des verrouilleurs d'écran, un outil de gestion réseau (@pxref{Networking Services, @code{network-manager-service-type}}) avec la prise en charge des modems (@pxref{Networking Services, @code{modem-manager-service-type}}), des services de gestion de l'énergie et des couleurs, le gestionnaire de connexion et de session @code{elogind}, le service de privilèges Polkit, le service de géolocalisation GeoClue, le démon Accounts Service qui permet aux utilisateurs autorisés de changer les mots de passe du système, un client NTP (@pxref{Networking Services}), le démon Avahi, et le service name service switch est configuré pour pouvoir utiliser @code{nss-mdns} (@pxref{Name Service Switch, mDNS})."
 
 #. type: Plain text
 #: doc/guix.texi:14634
@@ -30216,7 +30225,7 @@ msgstr "{paramètre de @code{dovecot-configuration}} space-separated-string-list
 #. type: deftypevr
 #: doc/guix.texi:16152
 msgid "List of plugins to load for all services.  Plugins specific to IMAP, LDA, etc.@: are added to this list in their own .conf files.  Defaults to @samp{()}."
-msgstr "Liste des greffons à charger pour tous les services.  Les greffons spécifiques à IMAP, LDA, etc sont ajoutés à cette liste dans leur propre fichiers .conf.  La valeur par défaut est @samp{()}."
+msgstr "Liste des greffons à charger pour tous les services.  Les greffons spécifiques à IMAP, LDA, etc.@: sont ajoutés à cette liste dans leur propre fichiers .conf.  La valeur par défaut est @samp{()}."
 
 #. type: deftypevr
 #: doc/guix.texi:16154
@@ -35832,7 +35841,7 @@ msgstr "Des améliorations à FastCGI, comme fastcgi_finish_request() -"
 #. type: itemize
 #: doc/guix.texi:19139
 msgid "a special function to finish request & flush all data while continuing to do something time-consuming (video converting, stats processing, etc.)"
-msgstr "une fonction spéciale pour terminer la requête et nettoyer toutes les données tout en continuant à faire d'autres choses qui prennent du temps (conversion vidéo, gestion des stats, etc…)."
+msgstr "une fonction spéciale pour terminer la requête et nettoyer toutes les données tout en continuant à faire d'autres choses qui prennent du temps (conversion vidéo, gestion des stats, etc.)."
 
 #. type: Plain text
 #: doc/guix.texi:19141
@@ -45339,8 +45348,10 @@ msgstr ""
 
 #. type: table
 #: doc/guix.texi:24514
+#, fuzzy
+#| msgid "Depending on what you run in the Docker container, it may be necessary to give the container additional permissions.  For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker create}."
 msgid "This command starts a new Docker container from the specified image.  It will boot the Guix system in the usual manner, which means it will start any services you have defined in the operating system configuration.  Depending on what you run in the Docker container, it may be necessary to give the container additional permissions.  For example, if you intend to build software using Guix inside of the Docker container, you may need to pass the @option{--privileged} option to @code{docker run}."
-msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image spécifiée.  Il démarrera le système Guix de la manière habituelle, ce qui signifie qu'il démarrera tous les services que vous avez définis dans la configuration du système d'exploitation.  En fonction de ce que vous lancez dans le conteneur Docker, il peut être nécessaire de donner des permissions supplémentaires au conteneur.  Par exemple, si vous voulez construire des paquets avec Guix dans le conteneur Docker, vous devriez passer @option{--privileged} à @code{docker run}."
+msgstr "En fonction de ce que vous lancez dans le conteneur Docker, il peut être nécessaire de donner des permissions supplémentaires au conteneur.  Par exemple, si vous voulez construire des paquets avec Guix dans le conteneur Docker, vous devriez passer @option{--privileged} à @code{docker create}."
 
 #. type: table
 #: doc/guix.texi:24522
@@ -46565,9 +46576,10 @@ msgstr "Ce sont les noms qui peuvent être passés à @command{herd start}, @com
 
 #. type: item
 #: doc/guix.texi:25282
-#, no-wrap
+#, fuzzy, no-wrap
+#| msgid "@code{requirement} (default: @code{'()})"
 msgid "@code{requirements} (default: @code{'()})"
-msgstr "@code{requirements} (par défaut : @code{'()})"
+msgstr "@code{requirement} (par défaut : @code{'()})"
 
 #. type: table
 #: doc/guix.texi:25284
@@ -47350,6 +47362,33 @@ msgstr "license, GNU Free Documentation License"
 msgid "fdl-1.3.texi"
 msgstr "fdl-1.3.texi"
 
+#~ msgid "little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel.  This configuration is no longer fully supported; in particular, the project's build farms no longer provide substitutes for this architecture."
+#~ msgstr "les processeurs 64 bits MIPS en little-endian, spécifiquement la série Loongson, ABI n32, avec le noyau Linux-libre.  Cette configuration n'est plus totalement prise en charge ; en particulier, les fermes de construction du projet de fournissent plus de substituts pour cette architecture."
+
+#~ msgid ""
+#~ "image_id=\"`docker load < guix-system-docker-image.tar.gz`\"\n"
+#~ "container_id=\"`docker create $image_id`\"\n"
+#~ "docker start $container_id\n"
+#~ msgstr ""
+#~ "image_id=\"`docker load < guix-system-docker-image.tar.gz`\"\n"
+#~ "container_id=\"`docker create $image_id`\"\n"
+#~ "docker start $container_id\n"
+
+#~ msgid "This command starts a new Docker container from the specified image.  It will boot the Guix system in the usual manner, which means it will start any services you have defined in the operating system configuration.  You can get an interactive shell running in the container using @command{docker exec}:"
+#~ msgstr "Cette commande démarre un nouveau conteneur Docker à partir de l'image spécifiée.  Il démarrera le système Guix de la manière habituelle, ce qui signifie qu'il démarrera tous les services que vous avez définis dans la configuration du système d'exploitation.  Vous pouvez obtenir un shell interactif dans le conteneur en utilisant @command{docker exec} :"
+
+#~ msgid "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n"
+#~ msgstr "docker exec -ti $container_id /run/current-system/profile/bin/bash --login\n"
+
+#~ msgid "For the @code{container} action, allow containers to access the host network, that is, do not create a network namespace."
+#~ msgstr "Pour l'action @code{container}, permet aux conteneurs d'accéder au réseau de l'hôte, c'est-à-dire, ne crée pas pas d'espace de nom réseau."
+
+#~ msgid "@code{auto-start?} (default: @code{#t})"
+#~ msgstr "@code{auto-start?} (par défaut : @code{#t})"
+
+#~ msgid "Whether this service should be started automatically by the Shepherd.  If it is @code{#f} the service has to be started manually with @code{herd start}."
+#~ msgstr "Indique si ce service doit être démarré automatiquement par le Shepherd.  Si la valeur est @code{#f}, le service doit être démarré manuellement avec @code{herd start}."
+
 #~ msgid "The @code{guix} package must remain available in @code{root}'s profile, or it would become subject to garbage collection---in which case you would find yourself badly handicapped by the lack of the @command{guix} command.  In other words, do not remove @code{guix} by running @code{guix package -r guix}."
 #~ msgstr "Le paquet @code{guix} doit rester disponible dans le profil de @code{root} ou il pourrait être sujet au ramassage de miettes — dans ce cas vous vous retrouveriez gravement handicapé par l'absence de la commande @command{guix}.  En d'autres termes, ne supprimez pas @code{guix} en lançant @code{guix package -r guix}."
 
diff --git a/po/guix/fr.po b/po/guix/fr.po
index 4cdb0f5dd6..77d859ebfd 100644
--- a/po/guix/fr.po
+++ b/po/guix/fr.po
@@ -19,7 +19,7 @@ msgstr ""
 "Project-Id-Version: guix 1.0.1-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
 "POT-Creation-Date: 2019-05-10 20:54+0200\n"
-"PO-Revision-Date: 2019-05-12 17:38+0200\n"
+"PO-Revision-Date: 2019-07-27 09:07+0200\n"
 "Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -28,7 +28,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Offlate 0.1\n"
+"X-Generator: Poedit 2.2.1\n"
 
 #: gnu.scm:83
 #, scheme-format
@@ -1393,7 +1393,7 @@ msgid ""
 "  -v, --verbosity=LEVEL  use the given verbosity LEVEL"
 msgstr ""
 "\n"
-"      --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné"
+"  -v, --verbosity=NIVEAU utiliser le NIVEAU de verbosité donné"
 
 #: guix/scripts/build.scm:676
 msgid ""
diff --git a/po/guix/sv.po b/po/guix/sv.po
index b75269b82d..aa3968aaea 100644
--- a/po/guix/sv.po
+++ b/po/guix/sv.po
@@ -3,12 +3,13 @@
 # This file is distributed under the same license as the guix package.
 # Sebastian Rasmussen <sebras@gmail.com>, 2019.
 #
+#: guix/ui.scm:206
 msgid ""
 msgstr ""
-"Project-Id-Version: guix 0.16.0\n"
+"Project-Id-Version: guix 1.0.1-pre1\n"
 "Report-Msgid-Bugs-To: ludo@gnu.org\n"
-"POT-Creation-Date: 2018-11-28 15:05+0100\n"
-"PO-Revision-Date: 2019-03-05 15:36+0800\n"
+"POT-Creation-Date: 2019-05-10 20:54+0200\n"
+"PO-Revision-Date: 2019-07-30 02:20+0200\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
@@ -19,12 +20,12 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Poedit 2.2.1\n"
 
-#: gnu.scm:82
+#: gnu.scm:83
 #, scheme-format
 msgid "module ~a not found"
 msgstr "modul ~a hittades inte"
 
-#: gnu.scm:100
+#: gnu.scm:101
 msgid ""
 "You may use @command{guix package --show=foo | grep location} to search\n"
 "for the location of package @code{foo}.\n"
@@ -36,12 +37,12 @@ msgstr ""
 "Om du får raden @code{location: gnu/packages/bar.scm:174:2},\n"
 "lägg till @code{bar} till @code{use-package-modules}-formen."
 
-#: gnu.scm:108
+#: gnu.scm:109
 #, scheme-format
 msgid "Try adding @code{(use-package-modules ~a)}."
 msgstr "Prova att lägga till @code{(use-package-modules ~a)}."
 
-#: gnu.scm:123
+#: gnu.scm:124
 #, scheme-format
 msgid ""
 "You may use @command{guix system search ~a} to search for a service\n"
@@ -54,47 +55,47 @@ msgstr ""
 "Om du får raden @code{location: gnu/services/foo.scm:188:2},\n"
 "lägg till @code{foo} till @code{use-service-modules}-formen."
 
-#: gnu.scm:132
+#: gnu.scm:133
 #, scheme-format
 msgid "Try adding @code{(use-service-modules ~a)}."
 msgstr "Prova att lägga till @code{(use-service-modules ~a)}."
 
-#: gnu/packages.scm:94
+#: gnu/packages.scm:103
 #, scheme-format
 msgid "~a: patch not found"
 msgstr "~a: programfix hittades inte"
 
-#: gnu/packages.scm:110
+#: gnu/packages.scm:119
 #, scheme-format
 msgid "could not find bootstrap binary '~a' for system '~a'"
 msgstr "kunde inte hitta uppstartsbinär ”~a” för system ”~a”"
 
-#: gnu/packages.scm:270
+#: gnu/packages.scm:480 gnu/packages.scm:521
 #, scheme-format
 msgid "ambiguous package specification `~a'~%"
 msgstr "tvetydig paketspecifikation ”~a”~%"
 
-#: gnu/packages.scm:271
+#: gnu/packages.scm:481 gnu/packages.scm:522
 #, scheme-format
 msgid "choosing ~a@~a from ~a~%"
 msgstr "väljer ~a@~a från ~a~%"
 
-#: gnu/packages.scm:276 guix/scripts/package.scm:206
+#: gnu/packages.scm:486 guix/scripts/package.scm:212
 #, scheme-format
 msgid "package '~a' has been superseded by '~a'~%"
 msgstr "paket ”~a” har ersatts av ”~a”~%"
 
-#: gnu/packages.scm:283
+#: gnu/packages.scm:493 gnu/packages.scm:510
 #, scheme-format
 msgid "~A: package not found for version ~a~%"
 msgstr "~A: paket hittades inte för version ~a~%"
 
-#: gnu/packages.scm:284
+#: gnu/packages.scm:494 gnu/packages.scm:511
 #, scheme-format
 msgid "~A: unknown package~%"
 msgstr "~A: okänt paket~%"
 
-#: gnu/packages.scm:312
+#: gnu/packages.scm:546
 #, scheme-format
 msgid "package `~a' lacks output `~a'~%"
 msgstr "paket ”~a” saknar utdata ”~a”~%"
@@ -201,42 +202,42 @@ msgstr "mer än ett en måltjänst av typ ”~a”"
 msgid "service of type '~a' not found"
 msgstr "tjänst av typ ”~a” hittades inte"
 
-#: gnu/system.scm:317
+#: gnu/system.scm:335
 #, scheme-format
 msgid "unrecognized boot parameters at '~a'~%"
 msgstr "okänd startparameter vid ”~a”~%"
 
-#: gnu/system.scm:725
+#: gnu/system.scm:736
 #, scheme-format
 msgid "using a string for file '~a' is deprecated; use 'plain-file' instead~%"
 msgstr "användning av sträng för fil ”~a” är föråldrat; använd ”plain-file” istället~%"
 
-#: gnu/system.scm:741
+#: gnu/system.scm:752
 #, scheme-format
 msgid "using a monadic value for '~a' is deprecated; use 'plain-file' instead~%"
 msgstr "användning av ett monadiskt värdet för ”~a” är föråldrat; använd ”plain-file” istället~%"
 
-#: gnu/system.scm:885
+#: gnu/system.scm:897
 #, scheme-format
 msgid "~a: invalid locale name"
 msgstr "~a: ogiltigt lokalnamn"
 
-#: gnu/services/shepherd.scm:192
+#: gnu/services/shepherd.scm:194
 #, scheme-format
 msgid "service '~a' provided more than once"
 msgstr "tjänst ”~a” erbjud mer än en gång"
 
-#: gnu/services/shepherd.scm:207
+#: gnu/services/shepherd.scm:209
 #, scheme-format
 msgid "service '~a' requires '~a', which is not provided by any service"
 msgstr "tjänst ”~a” kräver ”~a”, vilken inte erbjuds av någon tjänst"
 
-#: gnu/system/mapped-devices.scm:147
+#: gnu/system/mapped-devices.scm:136
 #, scheme-format
 msgid "you may need these modules in the initrd for ~a:~{ ~a~}"
 msgstr "du kan behöver dessa moduler i initrd för ~a:~{ ~a~}"
 
-#: gnu/system/mapped-devices.scm:151
+#: gnu/system/mapped-devices.scm:140
 #, scheme-format
 msgid ""
 "Try adding them to the\n"
@@ -267,42 +268,771 @@ msgstr ""
 "Om du tror att denna diagnostik är felaktig, använd flaggan\n"
 "@option{--skip-checks} med @command{guix system}.\n"
 
-#: gnu/system/mapped-devices.scm:230
+#: gnu/system/mapped-devices.scm:219
 #, scheme-format
 msgid "no LUKS partition with UUID '~a'"
 msgstr "ingen LUKS-partition med UUID ”~a”"
 
-#: gnu/system/shadow.scm:258
+#: gnu/system/shadow.scm:236
 #, scheme-format
 msgid "supplementary group '~a' of user '~a' is undeclared"
 msgstr "tilläggsgrupp ”~a” för användare ”~a” är odeklarerad"
 
-#: gnu/system/shadow.scm:268
+#: gnu/system/shadow.scm:246
 #, scheme-format
 msgid "primary group '~a' of user '~a' is undeclared"
 msgstr "primärgrupp ”~a” för användare ”~a” är odeklarerad"
 
-#: guix/scripts.scm:60
+#: guix/import/opam.scm:133
+#, scheme-format
+msgid "Package not found in opam repository: ~a~%"
+msgstr "Paket hittades inte i opam-arkiv: ~a~%"
+
+#: guix/import/opam.scm:344
+msgid "Updater for OPAM packages"
+msgstr "Uppdaterare för OPAM-paket"
+
+#: gnu/installer.scm:191
+msgid "Locale"
+msgstr "Lokal"
+
+#: gnu/installer.scm:207 gnu/installer/newt/timezone.scm:58
+msgid "Timezone"
+msgstr "Tidszon"
+
+#: gnu/installer.scm:223
+msgid "Keyboard mapping selection"
+msgstr "Val av tangentbordsmappning"
+
+#: gnu/installer.scm:232
+msgid "Partitioning"
+msgstr "Partitionering"
+
+#: gnu/installer.scm:240 gnu/installer/newt/hostname.scm:26
+msgid "Hostname"
+msgstr "Värdnamn"
+
+#: gnu/installer.scm:249
+msgid "Network selection"
+msgstr "Närverksval"
+
+#: gnu/installer.scm:256 gnu/installer/newt/user.scm:65
+#: gnu/installer/newt/user.scm:201
+msgid "User creation"
+msgstr "Skapande av användare"
+
+#: gnu/installer.scm:264
+msgid "Services"
+msgstr "Tjänster"
+
+#: gnu/installer.scm:271 gnu/installer/newt/final.scm:51
+msgid "Configuration file"
+msgstr "Konfigurationsfil"
+
+#: gnu/installer/connman.scm:196
+msgid "Could not determine the state of connman."
+msgstr "Kunde inte bestämma connman-tillstånd."
+
+#: gnu/installer/connman.scm:322
+msgid "Unable to find expected regexp."
+msgstr "Kunde inte hitta förväntat reguljärt uttryck."
+
+#: gnu/installer/newt.scm:60
+#, scheme-format
+msgid "The installer has encountered an unexpected problem. The backtrace is displayed below. Please report it by email to <~a>."
+msgstr "Installeraren har anträffat ett oväntat problem. En bakåtspårning visas nedan. Rapportera den via e-post till <~a>."
+
+#: gnu/installer/newt.scm:63
+msgid "Unexpected problem"
+msgstr "Oväntat problem"
+
+#: gnu/installer/newt/ethernet.scm:66
+msgid "No ethernet service available, please try again."
+msgstr "Ingen ethernet-tjänst tillgänglig, försök igen."
+
+#: gnu/installer/newt/ethernet.scm:67
+msgid "No service"
+msgstr "Ingen tjänst"
+
+#: gnu/installer/newt/ethernet.scm:76
+msgid "Please select an ethernet network."
+msgstr "Välj ett ethernet-nätverk."
+
+#: gnu/installer/newt/ethernet.scm:77
+msgid "Ethernet connection"
+msgstr "Ethernet-anslutning"
+
+#: gnu/installer/newt/ethernet.scm:81 gnu/installer/newt/keymap.scm:44
+#: gnu/installer/newt/locale.scm:43 gnu/installer/newt/network.scm:63
+#: gnu/installer/newt/network.scm:84 gnu/installer/newt/page.scm:175
+#: gnu/installer/newt/page.scm:508 gnu/installer/newt/page.scm:565
+#: gnu/installer/newt/partition.scm:54 gnu/installer/newt/partition.scm:83
+#: gnu/installer/newt/partition.scm:115 gnu/installer/newt/partition.scm:126
+#: gnu/installer/newt/partition.scm:624 gnu/installer/newt/partition.scm:645
+#: gnu/installer/newt/partition.scm:685 gnu/installer/newt/partition.scm:738
+#: gnu/installer/newt/partition.scm:749 gnu/installer/newt/services.scm:85
+#: gnu/installer/newt/timezone.scm:63 gnu/installer/newt/user.scm:200
+#: gnu/installer/newt/wifi.scm:202
+msgid "Exit"
+msgstr "Avsluta"
+
+#: gnu/installer/newt/final.scm:44
+#, scheme-format
+msgid "We're now ready to proceed with the installation! A system configuration file has been generated, it is displayed below.  This file will be available as '~a' on the installed system.  The new system will be created from this file once you've pressed OK.  This will take a few minutes."
+msgstr "Vi är nu redo att fortsätta med installationen! En systemkonfigurationsfil har genererats och visas nedan. Denna fil kommer att vara tillgänglig som ”~a” på det installerade systemet. Det nya systemet kommer att skapas från denna fil när du tryckt OK. Det kommer att ta ett par minuter."
+
+#: gnu/installer/newt/final.scm:64
+msgid "Installation complete"
+msgstr "Installation fullständig"
+
+#: gnu/installer/newt/final.scm:65 gnu/installer/newt/welcome.scm:115
+msgid "Reboot"
+msgstr "Omstart"
+
+#: gnu/installer/newt/final.scm:66
+msgid "Congratulations!  Installation is now complete.  You may remove the device containing the installation image and press the button to reboot."
+msgstr "Grattis! Installationen är nu fullständig. Du kan ta bort enheten som innehåller installationavbilden och trycka på knappen för att starta om."
+
+#: gnu/installer/newt/final.scm:75
+msgid "Installation failed"
+msgstr "Installationen misslyckades"
+
+#: gnu/installer/newt/final.scm:76
+msgid "Restart installer"
+msgstr "Starta om installeraren"
+
+#: gnu/installer/newt/final.scm:77
+msgid "Retry system install"
+msgstr "Försök att installera systemet igen"
+
+#: gnu/installer/newt/final.scm:78
+msgid "The final system installation step failed.  You can retry the last step, or restart the installer."
+msgstr "Det slutgiltiga steget i systeminstallationen misslyckades. Du kan prova detta sista steg igen, eller starta om installeraren."
+
+#: gnu/installer/newt/hostname.scm:25
+msgid "Please enter the system hostname."
+msgstr "Mata in systemets värdnamn."
+
+#: gnu/installer/newt/keymap.scm:37
+msgid "Layout"
+msgstr "Layout"
+
+#: gnu/installer/newt/keymap.scm:40
+msgid "Please choose your keyboard layout."
+msgstr "Välj din tangentbordslayout."
+
+#: gnu/installer/newt/keymap.scm:52
+msgid "Variant"
+msgstr "Variant"
+
+#: gnu/installer/newt/keymap.scm:55
+msgid "Please choose a variant for your keyboard layout."
+msgstr "Välj en variant av din tangentbordslayout."
+
+#: gnu/installer/newt/keymap.scm:59 gnu/installer/newt/locale.scm:63
+#: gnu/installer/newt/locale.scm:78 gnu/installer/newt/locale.scm:94
+#: gnu/installer/newt/partition.scm:580 gnu/installer/newt/timezone.scm:64
+msgid "Back"
+msgstr "Tillbaka"
+
+#: gnu/installer/newt/locale.scm:36
+msgid "Locale language"
+msgstr "Lokalspråk"
+
+#: gnu/installer/newt/locale.scm:37
+msgid "Choose the language to use for the installation process and for the installed system."
+msgstr "Välj språket som ska användas för installationsprocessen och för det installerade systemet."
+
+#: gnu/installer/newt/locale.scm:57
+msgid "Locale location"
+msgstr "Lokalplats"
+
+#: gnu/installer/newt/locale.scm:60
+msgid "Choose a territory for this language."
+msgstr "Välj ett territorium för detta språk."
+
+#: gnu/installer/newt/locale.scm:71
+msgid "Locale codeset"
+msgstr "Lokalkoduppsättning"
+
+#: gnu/installer/newt/locale.scm:74
+msgid "Choose the locale encoding."
+msgstr "Välj lokalkodning."
+
+#: gnu/installer/newt/locale.scm:86
+msgid "Locale modifier"
+msgstr "Lokalmodifierare"
+
+#: gnu/installer/newt/locale.scm:89
+msgid "Choose your locale's modifier. The most frequent modifier is euro. It indicates that you want to use Euro as the currency symbol."
+msgstr "Välj din lokals modifierare. Den mest frekventa modifieraren är euro. Den indikerar att du vill använda Euro som valutasymbol."
+
+#: gnu/installer/newt/locale.scm:190
+msgid "No location"
+msgstr "Ingen plats"
+
+#: gnu/installer/newt/locale.scm:217
+msgid "No modifier"
+msgstr "Ingen modifierare"
+
+#: gnu/installer/newt/menu.scm:35
+msgid "Choose where you want to resume the install.  You can also abort the installation by pressing the Abort button."
+msgstr "Välj var du vill återuppta installationen. Du kan också avbryta installationen genom att trycka på knappen Avbryt."
+
+#: gnu/installer/newt/menu.scm:37
+msgid "Installation menu"
+msgstr "Installationsmeny"
+
+#: gnu/installer/newt/menu.scm:41
+msgid "Abort"
+msgstr "Avbryt"
+
+#: gnu/installer/newt/network.scm:61 gnu/installer/newt/network.scm:80
+msgid "Internet access"
+msgstr "Internetåtkomst"
+
+#: gnu/installer/newt/network.scm:62 gnu/installer/newt/page.scm:174
+msgid "Continue"
+msgstr "Fortsätt"
+
+#: gnu/installer/newt/network.scm:64
+msgid "The install process requires Internet access but no network device were found. Do you want to continue anyway?"
+msgstr "Installationsprocessen kräver internetåtkomst, men ingen nätverksenhet hittades. Vill du fortsätta ändå?"
+
+#: gnu/installer/newt/network.scm:78
+msgid "The install process requires Internet access. Please select a network device."
+msgstr "Installationsprocessen kräver internetåtkomst. Välj en nätverksenhet."
+
+#: gnu/installer/newt/network.scm:103
+msgid "Powering technology"
+msgstr "Strömsätter teknology"
+
+#: gnu/installer/newt/network.scm:104
+#, scheme-format
+msgid "Waiting for technology ~a to be powered."
+msgstr "Väntar på att teknologi ~a ska strömsättas."
+
+#: gnu/installer/newt/network.scm:124
+msgid "Checking connectivity"
+msgstr "Kontrollerar anslutning"
+
+#: gnu/installer/newt/network.scm:125
+msgid "Waiting for Internet access establishment..."
+msgstr "Väntar på att internetåtkomst ska etableras…"
+
+#: gnu/installer/newt/network.scm:135
+msgid "The selected network does not provide access to the Internet, please try again."
+msgstr "Valt nätverk ger inte tillgång till internet, försök igen."
+
+#: gnu/installer/newt/network.scm:137 gnu/installer/newt/wifi.scm:106
+msgid "Connection error"
+msgstr "Anslutningsfel"
+
+#: gnu/installer/newt/page.scm:71
+#, scheme-format
+msgid "Connecting to ~a, please wait."
+msgstr "Ansluter till ~a, vänta."
+
+#: gnu/installer/newt/page.scm:72
+msgid "Connection in progress"
+msgstr "Anslutning pågår"
+
+#: gnu/installer/newt/page.scm:91 gnu/installer/newt/user.scm:58
+msgid "Hide"
+msgstr "Göm"
+
+#: gnu/installer/newt/page.scm:97 gnu/installer/newt/page.scm:507
+#: gnu/installer/newt/page.scm:564 gnu/installer/newt/partition.scm:443
+#: gnu/installer/newt/partition.scm:623 gnu/installer/newt/partition.scm:644
+#: gnu/installer/newt/partition.scm:683 gnu/installer/newt/user.scm:63
+#: gnu/installer/newt/user.scm:199
+msgid "OK"
+msgstr "OK"
+
+#: gnu/installer/newt/page.scm:123
+msgid "Please enter a non empty input."
+msgstr "Mata in något i inmatningsfältet."
+
+#: gnu/installer/newt/page.scm:124 gnu/installer/newt/user.scm:119
+msgid "Empty input"
+msgstr "Tom inmatning"
+
+#: gnu/installer/newt/partition.scm:45
+msgid "Everything is one partition"
+msgstr "Allting är en partition"
+
+#: gnu/installer/newt/partition.scm:46
+msgid "Separate /home partition"
+msgstr "Separat /home-partition"
+
+#: gnu/installer/newt/partition.scm:48
+msgid "Please select a partitioning scheme."
+msgstr "Välj ett partitioneringsarrangemang."
+
+#: gnu/installer/newt/partition.scm:49
+msgid "Partition scheme"
+msgstr "Partitioneringsarrangemang"
+
+#: gnu/installer/newt/partition.scm:61
+msgid "We are about to format your hard disk.  All its data will be lost.  Do you wish to continue?"
+msgstr "Vi kommer strax att formatera din hårddisk. All dess data kommer att gå förlorad. Vill du fortsätta?"
+
+#: gnu/installer/newt/partition.scm:63
+msgid "Format disk?"
+msgstr "Formatera disk?"
+
+#: gnu/installer/newt/partition.scm:66
+msgid "Partition formatting is in progress, please wait."
+msgstr "Partitionsformattering pågår, vänta."
+
+#: gnu/installer/newt/partition.scm:67
+msgid "Preparing partitions"
+msgstr "Förbereder partitioner"
+
+#: gnu/installer/newt/partition.scm:78
+msgid "Please select a disk."
+msgstr "Välj en disk."
+
+#: gnu/installer/newt/partition.scm:79
+msgid "Disk"
+msgstr "Disk"
+
+#: gnu/installer/newt/partition.scm:91
+msgid "Select a new partition table type. Be careful, all data on the disk will be lost."
+msgstr "Välj ny paritionstabellstyp. Var försiktig, all data på disken kommer att gå förlorad."
+
+#: gnu/installer/newt/partition.scm:93
+msgid "Partition table"
+msgstr "Partitionstabell"
+
+#: gnu/installer/newt/partition.scm:110
+msgid "Please select a partition type."
+msgstr "Välj en partitionstyp."
+
+#: gnu/installer/newt/partition.scm:111
+msgid "Partition type"
+msgstr "Partitionstyp"
+
+#: gnu/installer/newt/partition.scm:121
+msgid "Please select the file-system type for this partition."
+msgstr "Välj filsystemstypen för denna partition."
+
+#: gnu/installer/newt/partition.scm:122
+msgid "File-system type"
+msgstr "Filsystemstyp"
+
+#: gnu/installer/newt/partition.scm:135
+msgid "Primary partitions count exceeded."
+msgstr "Antalet primära partitioner överskreds."
+
+#: gnu/installer/newt/partition.scm:136 gnu/installer/newt/partition.scm:141
+#: gnu/installer/newt/partition.scm:146
+msgid "Creation error"
+msgstr "Fel vid skapande"
+
+#: gnu/installer/newt/partition.scm:140
+msgid "Extended partition creation error."
+msgstr "Fel vid skapande av utökad partition."
+
+#: gnu/installer/newt/partition.scm:145
+msgid "Logical partition creation error."
+msgstr "Fel vid skapande av logisk partition."
+
+#: gnu/installer/newt/partition.scm:159
+#, scheme-format
+msgid "Please enter the password for the encryption of partition ~a (label: ~a)."
+msgstr "Mata in lösenordet för krypteringen av partition ~a (etikett: ~a)."
+
+#: gnu/installer/newt/partition.scm:161 gnu/installer/newt/wifi.scm:91
+msgid "Password required"
+msgstr "Lösenord krävs"
+
+#: gnu/installer/newt/partition.scm:166
+#, scheme-format
+msgid "Please confirm the password for the encryption of partition ~a (label: ~a)."
+msgstr "Bekräfta lösenordet för krypteringen av partition ~a (etikett: ~a)."
+
+#: gnu/installer/newt/partition.scm:168 gnu/installer/newt/user.scm:156
+msgid "Password confirmation required"
+msgstr "Lösenordsbekräftelse krävs"
+
+#: gnu/installer/newt/partition.scm:180 gnu/installer/newt/user.scm:164
+msgid "Password mismatch, please try again."
+msgstr "Lösenord stämmer inte, försök igen."
+
+#: gnu/installer/newt/partition.scm:181 gnu/installer/newt/user.scm:165
+msgid "Password error"
+msgstr "Lösenordsfel"
+
+#: gnu/installer/newt/partition.scm:267
+msgid "Please enter the partition gpt name."
+msgstr "Mata in GPT-partitionens namn."
+
+#: gnu/installer/newt/partition.scm:268
+msgid "Partition name"
+msgstr "Partitionsnamn"
+
+#: gnu/installer/newt/partition.scm:298
+msgid "Please enter the encrypted label"
+msgstr "Mata in den krypterade etiketten"
+
+#: gnu/installer/newt/partition.scm:299
+msgid "Encryption label"
+msgstr "Krypteringsetikett"
+
+#: gnu/installer/newt/partition.scm:316
+#, scheme-format
+msgid "Please enter the size of the partition. The maximum size is ~a."
+msgstr "Mata in storleken på partitionen. Största storlek är ~a."
+
+#: gnu/installer/newt/partition.scm:318
+msgid "Partition size"
+msgstr "Partitionsstorlek"
+
+#: gnu/installer/newt/partition.scm:336
+msgid "The percentage can not be superior to 100."
+msgstr "Procentandelen kan inte vara större än 100."
+
+#: gnu/installer/newt/partition.scm:337 gnu/installer/newt/partition.scm:342
+#: gnu/installer/newt/partition.scm:347
+msgid "Size error"
+msgstr "Storleksfel"
+
+#: gnu/installer/newt/partition.scm:341
+msgid "The requested size is incorrectly formatted, or too large."
+msgstr "Den begärda storleken är felaktigt formatterad, eller för stor."
+
+#: gnu/installer/newt/partition.scm:346
+msgid "The request size is superior to the maximum size."
+msgstr "Den begärda storleken är större än den största storleken."
+
+#: gnu/installer/newt/partition.scm:366
+msgid "Please enter the desired mounting point for this partition. Leave this field empty if you don't want to set a mounting point."
+msgstr "Mata in den önskade monteringspunkten för denna partitionen. Lämna detta fält tomt om du inte vill sätta någon monteringspunkt."
+
+#: gnu/installer/newt/partition.scm:368
+msgid "Mounting point"
+msgstr "Monteringspunkt"
+
+#: gnu/installer/newt/partition.scm:432
+#, scheme-format
+msgid "Creating ~a partition starting at ~a of ~a."
+msgstr "Skapar ~a-partition med början på ~a av ~a."
+
+#: gnu/installer/newt/partition.scm:434
+#, scheme-format
+msgid "You are currently editing partition ~a."
+msgstr "Du redigerar just nu partition ~a."
+
+#: gnu/installer/newt/partition.scm:437
+msgid "Partition creation"
+msgstr "Partitionsskapande"
+
+#: gnu/installer/newt/partition.scm:438
+msgid "Partition edit"
+msgstr "Partitionsredigering"
+
+#: gnu/installer/newt/partition.scm:620
+#, scheme-format
+msgid "Are you sure you want to delete everything on disk ~a?"
+msgstr "Är du säker på att du vill ta bort allting på disk ~a?"
+
+#: gnu/installer/newt/partition.scm:622
+msgid "Delete disk"
+msgstr "Ta bort disk"
+
+#: gnu/installer/newt/partition.scm:636
+msgid "You cannot delete a free space area."
+msgstr "Du kan inte ta bort fritt utrymme."
+
+#: gnu/installer/newt/partition.scm:637 gnu/installer/newt/partition.scm:643
+msgid "Delete partition"
+msgstr "Ta bort partition"
+
+#: gnu/installer/newt/partition.scm:641
+#, scheme-format
+msgid "Are you sure you want to delete partition ~a?"
+msgstr "Är du säker på att du vill ta bort partition ~a?"
+
+#: gnu/installer/newt/partition.scm:658
+msgid ""
+"You can change a disk's partition table by selecting it and pressing ENTER. You can also edit a partition by selecting it and pressing ENTER, or remove it by pressing DELETE. To create a new partition, select a free space area and press ENTER.\n"
+"\n"
+"At least one partition must have its mounting point set to '/'."
+msgstr ""
+"Du kan ändra en disks partitionstabell genom att välja den och trycka RETUR. Du kan också redigera en partition genom att välja den och trycka RETUR, eller ta bort den genom att trycka DELETE. För att skapa en ny partition, välj ett fritt utrymme och tryck RETUR.\n"
+"\n"
+"Åtminstone en partition måste ha dess monteringspunkt satt till ”/”."
+
+#: gnu/installer/newt/partition.scm:664
+#, scheme-format
+msgid "This is the proposed partitioning. It is still possible to edit it or to go back to install menu by pressing the Exit button.~%~%"
+msgstr "Detta är den föreslagna partitioneringen. Det är fortfarande möjligt att redigera den eller att gå tillbaka till installationsmenyn genom att trycka på knappen Avsluta.~%~%"
+
+#: gnu/installer/newt/partition.scm:674
+msgid "Guided partitioning"
+msgstr "Guidad partitionering"
+
+#: gnu/installer/newt/partition.scm:675
+msgid "Manual partitioning"
+msgstr "Manuell partitionering"
+
+#: gnu/installer/newt/partition.scm:694
+msgid "No root mount point found."
+msgstr "Ingen rotmonteringspunkt hittad."
+
+#: gnu/installer/newt/partition.scm:695
+msgid "Missing mount point"
+msgstr "Saknar monteringspunkt"
+
+#: gnu/installer/newt/partition.scm:728
+msgid "Guided - using the entire disk"
+msgstr "Guidad - använd hela disken"
+
+#: gnu/installer/newt/partition.scm:729
+msgid "Guided - using the entire disk with encryption"
+msgstr "Guidad - använd hela disken med kryptering"
+
+#: gnu/installer/newt/partition.scm:730
+msgid "Manual"
+msgstr "Manuell"
+
+#: gnu/installer/newt/partition.scm:732
+msgid "Please select a partitioning method."
+msgstr "Välj en partitioneringsmetod."
+
+#: gnu/installer/newt/partition.scm:733
+msgid "Partitioning method"
+msgstr "Partitioneringsmetod"
+
+#: gnu/installer/newt/services.scm:36
+msgid "Please select the desktop(s) environment(s) you wish to install. If you select multiple desktops environments, you will be able to choose the one to use on the log-in screen."
+msgstr "Välj de skrivbordsmiljöer du önskar installera. Om du väljer flera skrivbordsmiljöer kommer du att kunna välja vilken som ska användas på inloggningsskärmen."
+
+#: gnu/installer/newt/services.scm:39
+msgid "Desktop environment"
+msgstr "Skrivbordsmiljö"
+
+#: gnu/installer/newt/services.scm:56
+msgid "You can now select networking services to run on your system."
+msgstr "Du kan nu välja nätverkstjänster som ska köra på ditt system."
+
+#: gnu/installer/newt/services.scm:58
+msgid "Network service"
+msgstr "Nätverkstjänst"
+
+#: gnu/installer/newt/services.scm:71
+msgid "Network management"
+msgstr "Nätverkshantering"
+
+#: gnu/installer/newt/services.scm:74
+msgid ""
+"Choose the method to manage network connections.\n"
+"\n"
+"We recommend NetworkManager or Connman for a WiFi-capable laptop; the DHCP client may be enough for a server."
+msgstr ""
+"Välj metod för att hantera nätverksanslutningar.\n"
+"\n"
+"Vi rekommenderar NetworkManager eller Connman för en bärbar dator med Wifi; DHCP-klienten kan vara tillräcklig för en server."
+
+#: gnu/installer/newt/timezone.scm:59
+msgid "Please select a timezone."
+msgstr "Välj en tidszon."
+
+#: gnu/installer/newt/user.scm:43
+msgid "Name"
+msgstr "Namn"
+
+#: gnu/installer/newt/user.scm:45
+msgid "Real name"
+msgstr "Verkligt namn"
+
+#: gnu/installer/newt/user.scm:47
+msgid "Home directory"
+msgstr "Hemkatalog"
+
+#: gnu/installer/newt/user.scm:49
+msgid "Password"
+msgstr "Lösenord"
+
+#: gnu/installer/newt/user.scm:118
+msgid "Empty inputs are not allowed."
+msgstr "Tomma inmatningsfält är inte tillåtna."
+
+#: gnu/installer/newt/user.scm:155
+msgid "Please confirm the password."
+msgstr "Bekräfta lösenordet."
+
+#: gnu/installer/newt/user.scm:172
+msgid "Please choose a password for the system administrator (\"root\")."
+msgstr "Välj ett lösenord för systemadministratören (”root”)."
+
+#: gnu/installer/newt/user.scm:174
+msgid "System administrator password"
+msgstr "Systemadministratörslösenord"
+
+#: gnu/installer/newt/user.scm:187
+msgid "Please add at least one user to system using the 'Add' button."
+msgstr "Lägg till åtminstone en användare till systemet via knappen ”Lägg till”."
+
+#: gnu/installer/newt/user.scm:190
+msgid "Add"
+msgstr "Lägg till"
+
+#: gnu/installer/newt/user.scm:191
+msgid "Delete"
+msgstr "Ta bort"
+
+#: gnu/installer/newt/user.scm:250
+msgid "Please create at least one user."
+msgstr "Skapa åtminstone en användaren."
+
+#: gnu/installer/newt/user.scm:251
+msgid "No user"
+msgstr "Ingen användare"
+
+#: gnu/installer/newt/welcome.scm:95
+msgid "GNU Guix install"
+msgstr "GNU Guix-installerare"
+
+#: gnu/installer/newt/welcome.scm:96
+msgid ""
+"Welcome to GNU Guix system installer!\n"
+"\n"
+"You will be guided through a graphical installation program.\n"
+"\n"
+"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."
+msgstr ""
+"Välkommen till GNU Guix-systeminstallerare!\n"
+"\n"
+"Du kommer att guidas genom ett grafiskt installationsprogram.\n"
+"\n"
+"Om du är bekant med GNU/Linux och du vill ha noggrann kontroll över installationsprocessen kan du istället välja manuell installation. Dokumentation är tillgänglig när som helst genom att trycka på Ctrl-Alt-F2."
+
+#: gnu/installer/newt/welcome.scm:105
+msgid "Graphical install using a terminal based interface"
+msgstr "Grafisk installation genom ett terminalbaserat gränssnitt"
+
+#: gnu/installer/newt/welcome.scm:108
+msgid "Install using the shell based process"
+msgstr "Installation via skalbaseradprocess"
+
+#: gnu/installer/newt/wifi.scm:81
+msgid "Unable to find a wifi technology"
+msgstr "Kan inte hitta wifi-teknologi"
+
+#: gnu/installer/newt/wifi.scm:85
+msgid "Scanning wifi for available networks, please wait."
+msgstr "Söker via wifi efter tillgängliga nätverk, vänta."
+
+#: gnu/installer/newt/wifi.scm:86
+msgid "Scan in progress"
+msgstr "Sökning pågår"
+
+#: gnu/installer/newt/wifi.scm:90
+msgid "Please enter the wifi password."
+msgstr "Mata in wifi-lösenordet."
+
+#: gnu/installer/newt/wifi.scm:96
+#, scheme-format
+msgid "The password you entered for ~a is incorrect."
+msgstr "Lösenordet du angav för ~a är felaktigt."
+
+#: gnu/installer/newt/wifi.scm:98
+msgid "Wrong password"
+msgstr "Felaktig lösenord"
+
+#: gnu/installer/newt/wifi.scm:104
+#, scheme-format
+msgid "An error occurred while trying to connect to ~a, please retry."
+msgstr "Ett fel uppstod vid försök att ansluta till ~a, försök igen."
+
+#: gnu/installer/newt/wifi.scm:197
+msgid "Please select a wifi network."
+msgstr "Välj ett wifi-lösenord."
+
+#: gnu/installer/newt/wifi.scm:203
+msgid "Scan"
+msgstr "Sök"
+
+#: gnu/installer/newt/wifi.scm:208
+msgid "No wifi detected"
+msgstr "Inget wifi hittades"
+
+#: gnu/installer/newt/wifi.scm:223
+msgid "Wifi"
+msgstr "Wifi"
+
+#: gnu/installer/parted.scm:428 gnu/installer/parted.scm:465
+msgid "Free space"
+msgstr "Fritt utrymme"
+
+#: gnu/installer/parted.scm:1345
+#, scheme-format
+msgid "Device ~a is still in use."
+msgstr "Enhet ~a används fortfarande."
+
+#: gnu/installer/services.scm:85
+msgid "OpenSSH secure shell daemon (sshd)"
+msgstr "OpenSSH-demon för säkert skal (sshd)"
+
+#: gnu/installer/services.scm:89
+msgid "Tor anonymous network router"
+msgstr "Router för det anonyma nätverket Tor"
+
+#: gnu/installer/services.scm:93
+msgid "Mozilla NSS certificates, for HTTPS access"
+msgstr "Mozilla NSS-certifikat för HTTPS-åtkomst"
+
+#: gnu/installer/services.scm:100
+msgid "NetworkManager network connection manager"
+msgstr "Nätverksanslutningshanteraren NetworkManager"
+
+#: gnu/installer/services.scm:105
+msgid "Connman network connection manager"
+msgstr "Nätverksanslutningshanteraren Connman"
+
+#: gnu/installer/services.scm:110
+msgid "DHCP client (dynamic IP address assignment)"
+msgstr "DHCP-klient (dynamisk IP-adresstilldelning)"
+
+#: gnu/installer/timezone.scm:110
+#, scheme-format
+msgid "Unable to locate path: ~a."
+msgstr "Kan inte hitta sökväg: ~a."
+
+#: gnu/installer/utils.scm:64
+#, scheme-format
+msgid "Press Enter to continue.~%"
+msgstr "Tryck på RETUR för att fortsätta.~%"
+
+#: gnu/installer/utils.scm:86
+#, scheme-format
+msgid "Command failed with exit code ~a.~%"
+msgstr "Kommando misslyckades med avslutningskod ~a.~%"
+
+#: guix/scripts.scm:61
 #, scheme-format
 msgid "invalid argument: ~a~%"
 msgstr "ogiltigt argument: ~a~%"
 
-#: guix/scripts.scm:88 guix/scripts/download.scm:135
-#: guix/scripts/import/cran.scm:84 guix/scripts/import/elpa.scm:85
-#: guix/scripts/publish.scm:881 guix/scripts/edit.scm:81
-#: guix/scripts/describe.scm:197 guix/scripts/processes.scm:216
+#: guix/scripts.scm:89 guix/scripts/download.scm:135
+#: guix/scripts/search.scm:60 guix/scripts/import/cran.scm:84
+#: guix/scripts/import/elpa.scm:85 guix/scripts/publish.scm:888
+#: guix/scripts/edit.scm:79 guix/scripts/describe.scm:205
+#: guix/scripts/processes.scm:230
 #, scheme-format
 msgid "~A: unrecognized option~%"
 msgstr "~A: okänd flagga~%"
 
-#: guix/scripts.scm:182
+#: guix/scripts.scm:172
 #, scheme-format
 msgid "Your Guix installation is ~a day old.\n"
 msgid_plural "Your Guix installation is ~a days old.\n"
 msgstr[0] "Din Guix-installation är ~a dag gammal.\n"
 msgstr[1] "Din Guix-installation är ~a dagar gammal.\n"
 
-#: guix/scripts.scm:187
+#: guix/scripts.scm:178
 #, scheme-format
 msgid ""
 "Consider running 'guix pull' followed by\n"
@@ -311,54 +1041,48 @@ msgstr ""
 "Överväg att köra ”guix pull” följt av\n"
 "”~a” för att få uppdaterade paket och säkerhetsfixar.\n"
 
-#: guix/scripts.scm:211
+#: guix/scripts.scm:202
 #, scheme-format
 msgid "only ~,1f% of free space available on ~a~%"
 msgstr "endast ~,1f% fritt utrymme tillgängligt på ~a~%"
 
-#: guix/scripts.scm:214
-#, scheme-format
+#: guix/scripts.scm:204
 msgid ""
 "Consider deleting old profile\n"
 "generations and collecting garbage, along these lines:\n"
 "\n"
 "@example\n"
-"guix package -p ~s --delete-generations=1m\n"
-"guix gc\n"
+"guix gc --delete-generations=1m\n"
 "@end example\n"
 msgstr ""
 "Överväg att ta bort gamla profilgenerationer\n"
-"och att skräpsamla med dessa rader:\n"
+"och att skräpsamla på detta sätt:\n"
 "\n"
 "@example\n"
-"guix package -p ~s --delete-generations=1m\n"
-"guix gc\n"
+"guix gc --delete-generations=1m\n"
 "@end example\n"
 
-#: guix/scripts.scm:222
-msgid ""
-"Consider running @command{guix gc} to free\n"
-"space."
-msgstr ""
-"Överväg att köra @command{guix gc} för att\n"
-"frigöra utrymme."
-
-#: guix/scripts/build.scm:84
+#: guix/scripts/build.scm:86
 #, scheme-format
 msgid "cannot access build log at '~a':~%"
 msgstr "kan inte komma åt bygglogg vid ”~a”:~%"
 
-#: guix/scripts/build.scm:138
+#: guix/scripts/build.scm:140
 #, scheme-format
 msgid "failed to create GC root `~a': ~a~%"
 msgstr "misslyckades med att skapa GC-rot ”~a”: ~a~%"
 
-#: guix/scripts/build.scm:240
+#: guix/scripts/build.scm:245 guix/scripts/build.scm:310
 #, scheme-format
 msgid "invalid replacement specification: ~s~%"
 msgstr "ogiltig ersättningsspecifikation: ~s~%"
 
-#: guix/scripts/build.scm:297
+#: guix/scripts/build.scm:292
+#, scheme-format
+msgid "the source of ~a is not a Git reference~%"
+msgstr "källan för ~a är inte en Git-referens~%"
+
+#: guix/scripts/build.scm:417
 msgid ""
 "\n"
 "      --with-source=SOURCE\n"
@@ -368,7 +1092,7 @@ msgstr ""
 "      --with-source=KÄLLA\n"
 "                         använd KÄLLA när motsvarande paket byggs"
 
-#: guix/scripts/build.scm:300
+#: guix/scripts/build.scm:420
 msgid ""
 "\n"
 "      --with-input=PACKAGE=REPLACEMENT\n"
@@ -378,7 +1102,7 @@ msgstr ""
 "      --with-input=PAKET=ERSÄTTNING\n"
 "                         ersätt PAKET-beroende med ERSÄTTNING"
 
-#: guix/scripts/build.scm:303
+#: guix/scripts/build.scm:423
 msgid ""
 "\n"
 "      --with-graft=PACKAGE=REPLACEMENT\n"
@@ -388,12 +1112,42 @@ msgstr ""
 "      --with-graft=PAKET=ERSÄTTNING\n"
 "                         ympa in ERSÄTTNING för paket som refererar till PAKET"
 
-#: guix/scripts/build.scm:328
+#: guix/scripts/build.scm:426
+msgid ""
+"\n"
+"      --with-branch=PACKAGE=BRANCH\n"
+"                         build PACKAGE from the latest commit of BRANCH"
+msgstr ""
+"\n"
+"      --with-gren=PAKET=GREN\n"
+"                         bygg PAKET från senaste incheckningen på GREN"
+
+#: guix/scripts/build.scm:429
+msgid ""
+"\n"
+"      --with-commit=PACKAGE=COMMIT\n"
+"                         build PACKAGE from COMMIT"
+msgstr ""
+"\n"
+"      --with-commit=PAKET=INCHECKNING\n"
+"                         bygg PAKET från INCHECKNING"
+
+#: guix/scripts/build.scm:432
+msgid ""
+"\n"
+"      --with-git-url=PACKAGE=URL\n"
+"                         build PACKAGE from the repository at URL"
+msgstr ""
+"\n"
+"      --with-git-url=PAKET=URL\n"
+"                         bygg PAKET från arkivet vid URL"
+
+#: guix/scripts/build.scm:463
 #, scheme-format
 msgid "transformation '~a' had no effect on ~a~%"
 msgstr "transformation ”~a” hade ingen effekt på ~a~%"
 
-#: guix/scripts/build.scm:346
+#: guix/scripts/build.scm:481
 msgid ""
 "\n"
 "  -L, --load-path=DIR    prepend DIR to the package module search path"
@@ -401,7 +1155,7 @@ msgstr ""
 "\n"
 "  -L, --load-path=KAT    skjut in KAT i början på sökväg för paketmoduler"
 
-#: guix/scripts/build.scm:348
+#: guix/scripts/build.scm:483
 msgid ""
 "\n"
 "  -K, --keep-failed      keep build tree of failed builds"
@@ -409,7 +1163,7 @@ msgstr ""
 "\n"
 "  -K, --keep-failed      behåll byggträd för misslyckade byggen"
 
-#: guix/scripts/build.scm:350
+#: guix/scripts/build.scm:485
 msgid ""
 "\n"
 "  -k, --keep-going       keep going when some of the derivations fail"
@@ -417,7 +1171,7 @@ msgstr ""
 "\n"
 "  -k, --keep-going       fortsätt även om några av härledningarna misslyckades"
 
-#: guix/scripts/build.scm:352
+#: guix/scripts/build.scm:487
 msgid ""
 "\n"
 "  -n, --dry-run          do not build the derivations"
@@ -425,220 +1179,294 @@ msgstr ""
 "\n"
 "  -n, --dry-run          bygg inte härledningarna"
 
-#: guix/scripts/build.scm:354
+#: guix/scripts/build.scm:489
 msgid ""
 "\n"
 "      --fallback         fall back to building when the substituter fails"
 msgstr ""
+"\n"
+"      --fallback         fall tillbaka på att bygga när ersättaren misslyckas"
 
-#: guix/scripts/build.scm:356
+#: guix/scripts/build.scm:491
 msgid ""
 "\n"
 "      --no-substitutes   build instead of resorting to pre-built substitutes"
 msgstr ""
+"\n"
+"      --no-substitutes   bygg istället för att tillgripa fröbyggda ersättningar"
 
-#: guix/scripts/build.scm:358 guix/scripts/size.scm:223
+#: guix/scripts/build.scm:493 guix/scripts/size.scm:233
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         fetch substitute from URLS if they are authorized"
 msgstr ""
+"\n"
+"      --substitute-urls=URLER\n"
+"                         hämta ersättning från URLER om de auktoriserade"
 
-#: guix/scripts/build.scm:361
+#: guix/scripts/build.scm:496
 msgid ""
 "\n"
 "      --no-grafts        do not graft packages"
 msgstr ""
+"\n"
+"      --no-grafts        ympa inte paket"
 
-#: guix/scripts/build.scm:363
+#: guix/scripts/build.scm:498
 msgid ""
 "\n"
 "      --no-build-hook    do not attempt to offload builds via the build hook"
 msgstr ""
+"\n"
+"      --no-build-hook    försök inte att avlasta byggen via byggkroken"
 
-#: guix/scripts/build.scm:365
+#: guix/scripts/build.scm:500
 msgid ""
 "\n"
 "      --max-silent-time=SECONDS\n"
 "                         mark the build as failed after SECONDS of silence"
 msgstr ""
+"\n"
+"      --max-silent-time=SEKUNDER\n"
+"                         markera bygget som misslyckat efter tystnad under givet antal SEKUNDER"
 
-#: guix/scripts/build.scm:368
+#: guix/scripts/build.scm:503
 msgid ""
 "\n"
 "      --timeout=SECONDS  mark the build as failed after SECONDS of activity"
 msgstr ""
-
-#: guix/scripts/build.scm:370
-msgid ""
 "\n"
-"      --verbosity=LEVEL  use the given verbosity LEVEL"
-msgstr ""
+"      --timeout=SEKUNDER markera bygget som misslyckat efter aktivetet under givet antal SEKUNDER"
 
-#: guix/scripts/build.scm:372
+#: guix/scripts/build.scm:505
 msgid ""
 "\n"
 "      --rounds=N         build N times in a row to detect non-determinism"
 msgstr ""
+"\n"
+"      --rounds=N         bygg N gånger i rad för att detektera ickedeterminism"
 
-#: guix/scripts/build.scm:374
+#: guix/scripts/build.scm:507
 msgid ""
 "\n"
 "  -c, --cores=N          allow the use of up to N CPU cores for the build"
 msgstr ""
+"\n"
+"  -c, --cores=N          tillåt använding av upp till N CPU-kärnor för bygget"
 
-#: guix/scripts/build.scm:376
+#: guix/scripts/build.scm:509
 msgid ""
 "\n"
 "  -M, --max-jobs=N       allow at most N build jobs"
 msgstr ""
+"\n"
+"  -M, --max-jobs=N       tillåt som mest N byggjobb"
 
-#: guix/scripts/build.scm:486 guix/scripts/build.scm:493
+#: guix/scripts/build.scm:511
+msgid ""
+"\n"
+"      --debug=LEVEL      produce debugging output at LEVEL"
+msgstr ""
+"\n"
+"      --debug=NIVÅ       producera felsökningsutmatning på NIVÅ"
+
+#: guix/scripts/build.scm:621 guix/scripts/build.scm:628
 #, scheme-format
 msgid "not a number: '~a' option argument: ~a~%"
-msgstr ""
+msgstr "inte ett tal: ”~a”-flaggargument: ~a~%"
 
-#: guix/scripts/build.scm:514
+#: guix/scripts/build.scm:649
 msgid ""
 "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n"
 "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n"
 msgstr ""
+"Användning: guix build [FLAGGA]… PAKET-ELLER-HÄRLEDNING…\n"
+"Bygg givet PAKET-ELLER-HÄRLEDNING och returnera deras utmatningssökvägar.\n"
 
-#: guix/scripts/build.scm:516
+#: guix/scripts/build.scm:651
 msgid ""
 "\n"
 "  -e, --expression=EXPR  build the package or derivation EXPR evaluates to"
 msgstr ""
+"\n"
+"  -e, --expression=UTR   bygg paketet eller härledningen som UTR utvärderas till"
 
-#: guix/scripts/build.scm:518
+#: guix/scripts/build.scm:653
 msgid ""
 "\n"
 "  -f, --file=FILE        build the package or derivation that the code within\n"
 "                         FILE evaluates to"
 msgstr ""
+"\n"
+"  -f, --file=FIL         bygg paketet eller härdledningen som koden inuti\n"
+"                         FIL utvärderas till"
 
-#: guix/scripts/build.scm:521
+#: guix/scripts/build.scm:656
 msgid ""
 "\n"
 "  -S, --source           build the packages' source derivations"
 msgstr ""
+"\n"
+"  -S, --source           bygg paketens källhärledningar"
 
-#: guix/scripts/build.scm:523
+#: guix/scripts/build.scm:658
 msgid ""
 "\n"
 "      --sources[=TYPE]   build source derivations; TYPE may optionally be one\n"
 "                         of \"package\", \"all\" (default), or \"transitive\""
 msgstr ""
+"\n"
+"      --sources[=TYP]    bygg källhärledningar; TYP kan valfritt vara enderas av\n"
+"                         ”package”, ”all” (standardvärde) eller ”transitive”"
 
-#: guix/scripts/build.scm:526 guix/scripts/pack.scm:712
+#: guix/scripts/build.scm:661 guix/scripts/pull.scm:97
+#: guix/scripts/pack.scm:754
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    attempt to build for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
+"\n"
+"  -s, --system=SYSTEM    försök att bygga för SYSTEM — t.ex. ”i686-linux”"
 
-#: guix/scripts/build.scm:528 guix/scripts/pack.scm:714
+#: guix/scripts/build.scm:663 guix/scripts/pack.scm:756
 msgid ""
 "\n"
 "      --target=TRIPLET   cross-build for TRIPLET--e.g., \"armel-linux-gnu\""
 msgstr ""
+"\n"
+"      --target=TRIPPLETT korsbygge för TRIPPLETT — t.ex. ”armel-linux-gnu”"
 
-#: guix/scripts/build.scm:530
+#: guix/scripts/build.scm:665
 msgid ""
 "\n"
 "  -d, --derivations      return the derivation paths of the given packages"
 msgstr ""
+"\n"
+"  -d, --derivations      returnera härledningssökvägar för de givna paketen"
 
-#: guix/scripts/build.scm:532
+#: guix/scripts/build.scm:667
 msgid ""
 "\n"
 "      --check            rebuild items to check for non-determinism issues"
 msgstr ""
+"\n"
+"      --check            bygg om objekt för att leta efter ickedeterministiska problem"
 
-#: guix/scripts/build.scm:534
+#: guix/scripts/build.scm:669
 msgid ""
 "\n"
 "      --repair           repair the specified items"
 msgstr ""
+"\n"
+"      --repair           reparera angivna objekt"
 
-#: guix/scripts/build.scm:536
+#: guix/scripts/build.scm:671
 msgid ""
 "\n"
 "  -r, --root=FILE        make FILE a symlink to the result, and register it\n"
 "                         as a garbage collector root"
 msgstr ""
+"\n"
+"  -r, --root=FIL         gör FIL till en symbolisk länk till resultatet, och registrera den\n"
+"                         som en skräpsamlarrot"
 
-#: guix/scripts/build.scm:539
+#: guix/scripts/build.scm:674 guix/scripts/package.scm:364
+#: guix/scripts/install.scm:36 guix/scripts/remove.scm:36
+#: guix/scripts/upgrade.scm:36 guix/scripts/pull.scm:95
+#: guix/scripts/system.scm:1032 guix/scripts/copy.scm:120
+#: guix/scripts/pack.scm:771
+msgid ""
+"\n"
+"  -v, --verbosity=LEVEL  use the given verbosity LEVEL"
+msgstr ""
+"\n"
+"  -v, --verbosity=NIVÅ   använd angiven NIVÅ av utförlighet"
+
+#: guix/scripts/build.scm:676
 msgid ""
 "\n"
 "  -q, --quiet            do not show the build log"
 msgstr ""
+"\n"
+"  -q, --quiet            visa inte byggloggen"
 
-#: guix/scripts/build.scm:541
+#: guix/scripts/build.scm:678
 msgid ""
 "\n"
 "      --log-file         return the log file names for the given derivations"
 msgstr ""
+"\n"
+"      --log-file         returnera loggfilnamnen för angivna härledningar"
 
-#: guix/scripts/build.scm:548 guix/scripts/download.scm:83
-#: guix/scripts/package.scm:366 guix/scripts/gc.scm:76
-#: guix/scripts/hash.scm:60 guix/scripts/import.scm:93
-#: guix/scripts/import/cran.scm:47 guix/scripts/pull.scm:95
-#: guix/scripts/substitute.scm:889 guix/scripts/system.scm:1017
-#: guix/scripts/lint.scm:1115 guix/scripts/publish.scm:94
-#: guix/scripts/edit.scm:44 guix/scripts/size.scm:234
-#: guix/scripts/graph.scm:472 guix/scripts/challenge.scm:241
-#: guix/scripts/copy.scm:122 guix/scripts/pack.scm:730
-#: guix/scripts/weather.scm:259 guix/scripts/describe.scm:71
-#: guix/scripts/processes.scm:200 guix/scripts/container.scm:34
-#: guix/scripts/container/exec.scm:43
+#: guix/scripts/build.scm:685 guix/scripts/download.scm:83
+#: guix/scripts/package.scm:382 guix/scripts/install.scm:43
+#: guix/scripts/remove.scm:41 guix/scripts/upgrade.scm:43
+#: guix/scripts/search.scm:34 guix/scripts/gc.scm:84 guix/scripts/hash.scm:60
+#: guix/scripts/import.scm:93 guix/scripts/import/cran.scm:47
+#: guix/scripts/pull.scm:103 guix/scripts/substitute.scm:898
+#: guix/scripts/system.scm:1035 guix/scripts/lint.scm:1180
+#: guix/scripts/publish.scm:94 guix/scripts/edit.scm:43
+#: guix/scripts/size.scm:244 guix/scripts/graph.scm:499
+#: guix/scripts/challenge.scm:241 guix/scripts/copy.scm:125
+#: guix/scripts/pack.scm:776 guix/scripts/weather.scm:270
+#: guix/scripts/describe.scm:72 guix/scripts/processes.scm:214
+#: guix/scripts/container.scm:34 guix/scripts/container/exec.scm:43
 msgid ""
 "\n"
 "  -h, --help             display this help and exit"
 msgstr ""
+"\n"
+"  -h, --help             visa denna hjälp och avsluta"
 
-#: guix/scripts/build.scm:550 guix/scripts/download.scm:85
-#: guix/scripts/package.scm:368 guix/scripts/gc.scm:78
-#: guix/scripts/hash.scm:62 guix/scripts/import.scm:95
-#: guix/scripts/import/cran.scm:51 guix/scripts/pull.scm:97
-#: guix/scripts/substitute.scm:891 guix/scripts/system.scm:1019
-#: guix/scripts/lint.scm:1119 guix/scripts/publish.scm:96
-#: guix/scripts/edit.scm:46 guix/scripts/size.scm:236
-#: guix/scripts/graph.scm:474 guix/scripts/challenge.scm:243
-#: guix/scripts/copy.scm:124 guix/scripts/pack.scm:732
-#: guix/scripts/weather.scm:261 guix/scripts/describe.scm:73
-#: guix/scripts/processes.scm:202 guix/scripts/container.scm:36
-#: guix/scripts/container/exec.scm:45
+#: guix/scripts/build.scm:687 guix/scripts/download.scm:85
+#: guix/scripts/package.scm:384 guix/scripts/install.scm:45
+#: guix/scripts/remove.scm:43 guix/scripts/upgrade.scm:45
+#: guix/scripts/search.scm:36 guix/scripts/gc.scm:86 guix/scripts/hash.scm:62
+#: guix/scripts/import.scm:95 guix/scripts/import/cran.scm:51
+#: guix/scripts/pull.scm:105 guix/scripts/substitute.scm:900
+#: guix/scripts/system.scm:1037 guix/scripts/lint.scm:1184
+#: guix/scripts/publish.scm:96 guix/scripts/edit.scm:45
+#: guix/scripts/size.scm:246 guix/scripts/graph.scm:501
+#: guix/scripts/challenge.scm:243 guix/scripts/copy.scm:127
+#: guix/scripts/pack.scm:778 guix/scripts/weather.scm:272
+#: guix/scripts/describe.scm:74 guix/scripts/processes.scm:216
+#: guix/scripts/container.scm:36 guix/scripts/container/exec.scm:45
 msgid ""
 "\n"
 "  -V, --version          display version information and exit"
 msgstr ""
+"\n"
+"  -V, --version          visa versionsinformation och avsluta"
 
-#: guix/scripts/build.scm:577
+#: guix/scripts/build.scm:714
 #, scheme-format
 msgid ""
 "invalid argument: '~a' option argument: ~a, ~\n"
 "must be one of 'package', 'all', or 'transitive'~%"
 msgstr ""
+"ogiltigt argument: ”~a”-flaggargument: ~a, ~\n"
+"måste vara endera av ”package”, ”all” eller ”trasitive”~%"
 
-#: guix/scripts/build.scm:630
+#: guix/scripts/build.scm:772
 #, scheme-format
 msgid "~s: not something we can build~%"
-msgstr ""
+msgstr "~s: inte något vi kan bygga~%"
 
-#: guix/scripts/build.scm:688
+#: guix/scripts/build.scm:837
 #, scheme-format
 msgid "~a: warning: package '~a' has no source~%"
-msgstr ""
+msgstr "~a: varning: paket ”~a” har ingen källa~%"
 
-#: guix/scripts/build.scm:726
+#: guix/scripts/build.scm:885
 #, scheme-format
 msgid "no build log for '~a'~%"
-msgstr ""
+msgstr "ingen bygglogg för ”~a”~%"
 
-#: guix/discovery.scm:91
+#: guix/discovery.scm:92
 #, scheme-format
 msgid "cannot access `~a': ~a~%"
-msgstr ""
+msgstr "kan inte komma åt ”~a”: ~a~%"
 
 #: guix/scripts/download.scm:69
 msgid ""
@@ -649,12 +1477,20 @@ msgid ""
 "Supported formats: 'nix-base32' (default), 'base32', and 'base16'\n"
 "('hex' and 'hexadecimal' can be used as well).\n"
 msgstr ""
+"Användning: guix download [FLAGGA] URL\n"
+"Hämta filen vid URL till arkivet eller till den givna filen, och skriv ut dess\n"
+"filnamn och hashen av dess innehåll.\n"
+"\n"
+"Format som stöds: ”nix-base32” (standardvärde), ”base32” och ”base16”\n"
+"(”hex” och ”hexadecimal” kan också användas.)\n"
 
 #: guix/scripts/download.scm:75 guix/scripts/hash.scm:55
 msgid ""
 "\n"
 "  -f, --format=FMT       write the hash in the given format"
 msgstr ""
+"\n"
+"  -f, --format=FMT       skriv hash i angivet format"
 
 #: guix/scripts/download.scm:77
 msgid ""
@@ -662,318 +1498,424 @@ msgid ""
 "      --no-check-certificate\n"
 "                         do not validate the certificate of HTTPS servers "
 msgstr ""
+"\n"
+"      --no-check-certificate\n"
+"                         validera inte certifiakt från HTTPS-servrar"
 
 #: guix/scripts/download.scm:80
 msgid ""
 "\n"
 "  -o, --output=FILE      download to FILE"
 msgstr ""
+"\n"
+"  -o, --output=FIL       hämta till FIL"
 
 #: guix/scripts/download.scm:103 guix/scripts/hash.scm:83
 #, scheme-format
 msgid "unsupported hash format: ~a~%"
-msgstr ""
+msgstr "hashformat stöds inte: ~a~%"
 
-#: guix/scripts/download.scm:138 guix/scripts/package.scm:905
-#: guix/scripts/publish.scm:883
+#: guix/scripts/download.scm:138 guix/scripts/package.scm:900
+#: guix/scripts/upgrade.scm:79 guix/scripts/publish.scm:890
 #, scheme-format
 msgid "~A: extraneous argument~%"
-msgstr ""
+msgstr "~A: främmande argument~%"
 
 #: guix/scripts/download.scm:146
 #, scheme-format
 msgid "no download URI was specified~%"
-msgstr ""
+msgstr "ingen hämtnings-URI angavs~%"
 
 #: guix/scripts/download.scm:151
 #, scheme-format
 msgid "~a: failed to parse URI~%"
-msgstr ""
+msgstr "~a: misslyckades med att tolka URI~%"
 
 #: guix/scripts/download.scm:161
 #, scheme-format
 msgid "~a: download failed~%"
-msgstr ""
+msgstr "~a: hämtning misslyckades~%"
 
-#: guix/scripts/package.scm:109
+#: guix/scripts/package.scm:115
 #, scheme-format
 msgid "not removing generation ~a, which is current~%"
-msgstr ""
+msgstr "tar inte bort generation ~a, då den är aktuell~%"
 
-#: guix/scripts/package.scm:116
+#: guix/scripts/package.scm:122
 #, scheme-format
 msgid "no matching generation~%"
-msgstr ""
+msgstr "ingen matchande generation~%"
 
-#: guix/scripts/package.scm:119 guix/scripts/package.scm:707
-#: guix/scripts/system.scm:622
+#: guix/scripts/package.scm:125 guix/scripts/package.scm:697
+#: guix/scripts/system.scm:626
 #, scheme-format
 msgid "invalid syntax: ~a~%"
-msgstr ""
+msgstr "ogiltig syntax: ~a~%"
 
-#: guix/scripts/package.scm:148
+#: guix/scripts/package.scm:154
 #, scheme-format
 msgid "nothing to be done~%"
-msgstr ""
+msgstr "ingenting att göra~%"
 
-#: guix/scripts/package.scm:162
+#: guix/scripts/package.scm:168
 #, scheme-format
 msgid "~a package in profile~%"
 msgid_plural "~a packages in profile~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~a paket i profil~%"
+msgstr[1] "~a paket i profil~%"
 
-#: guix/scripts/package.scm:248
+#: guix/scripts/package.scm:255
 #, scheme-format
 msgid "package '~a' no longer exists~%"
-msgstr ""
+msgstr "paket ”~a” finns inte längre~%"
 
-#: guix/scripts/package.scm:286
+#: guix/scripts/package.scm:301
 #, scheme-format
 msgid "The following environment variable definitions may be needed:~%"
-msgstr ""
+msgstr "Följande definitioner av miljövariabler kan behövas: ~%"
 
-#: guix/scripts/package.scm:305
+#: guix/scripts/package.scm:321
 msgid ""
 "Usage: guix package [OPTION]...\n"
 "Install, remove, or upgrade packages in a single transaction.\n"
 msgstr ""
+"Användning: guis package [FLAGGA]…\n"
+"Installera, ta bort eller uppgradera paket i en enstaka transaktion.\n"
 
-#: guix/scripts/package.scm:307
+#: guix/scripts/package.scm:323
 msgid ""
 "\n"
 "  -i, --install PACKAGE ...\n"
 "                         install PACKAGEs"
 msgstr ""
+"\n"
+"  -i, --install PACKET …\n"
+"                         installera PAKET"
 
-#: guix/scripts/package.scm:310
+#: guix/scripts/package.scm:326
 msgid ""
 "\n"
 "  -e, --install-from-expression=EXP\n"
 "                         install the package EXP evaluates to"
 msgstr ""
+"\n"
+"  -e, --install-from-expression=UTR\n"
+"                         installera paketet som UTR utvärderas till"
 
-#: guix/scripts/package.scm:313
+#: guix/scripts/package.scm:329
 msgid ""
 "\n"
 "  -f, --install-from-file=FILE\n"
 "                         install the package that the code within FILE\n"
 "                         evaluates to"
 msgstr ""
+"\n"
+"  -f, --install-from-file=FIL\n"
+"                         installera paketet som koden inuti FIL\n"
+"                         utvärderas till"
 
-#: guix/scripts/package.scm:317
+#: guix/scripts/package.scm:333
 msgid ""
 "\n"
 "  -r, --remove PACKAGE ...\n"
 "                         remove PACKAGEs"
 msgstr ""
+"\n"
+"  -r, --remove PAKET …\n"
+"                         ta bort PAKET"
 
-#: guix/scripts/package.scm:320
+#: guix/scripts/package.scm:336
 msgid ""
 "\n"
 "  -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP"
 msgstr ""
+"\n"
+"  -u, --upgrade[=REGUTR] uppgradera alla interallerade paket som matchar REGUTR"
 
-#: guix/scripts/package.scm:322
+#: guix/scripts/package.scm:338
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a new profile generation with the manifest\n"
 "                         from FILE"
 msgstr ""
+"\n"
+"  -m, --manifest=FIL     skapa en ny profilgeneration med manifestet\n"
+"                         från FIL"
 
-#: guix/scripts/package.scm:325
+#: guix/scripts/package.scm:341
 msgid ""
 "\n"
 "      --do-not-upgrade[=REGEXP] do not upgrade any packages matching REGEXP"
 msgstr ""
+"\n"
+"      --do-not-upgrade[=REGUTR] uppgradera inte något av de paket som matchar REGUTR"
 
-#: guix/scripts/package.scm:327
+#: guix/scripts/package.scm:343
 msgid ""
 "\n"
 "      --roll-back        roll back to the previous generation"
 msgstr ""
+"\n"
+"      --roll-back        rulla tillbaka till föregående generation"
 
-#: guix/scripts/package.scm:329
+#: guix/scripts/package.scm:345
 msgid ""
 "\n"
 "      --search-paths[=KIND]\n"
 "                         display needed environment variable definitions"
 msgstr ""
+"\n"
+"      --search-paths[=TYP]\n"
+"                         visa miljövariabeldefinitioner som behövs"
 
-#: guix/scripts/package.scm:332 guix/scripts/pull.scm:84
+#: guix/scripts/package.scm:348 guix/scripts/pull.scm:90
 msgid ""
 "\n"
 "  -l, --list-generations[=PATTERN]\n"
 "                         list generations matching PATTERN"
 msgstr ""
+"\n"
+"  -l, --list-generations[=MÖNSTER]\n"
+"                         lista generationer som matchar MÖNSTER"
 
-#: guix/scripts/package.scm:335
+#: guix/scripts/package.scm:351
 msgid ""
 "\n"
 "  -d, --delete-generations[=PATTERN]\n"
 "                         delete generations matching PATTERN"
 msgstr ""
+"\n"
+"  -d, --delete-generations[=MÖNSTER]\n"
+"                         ta bort generationer som matchar MÖNSTER"
 
-#: guix/scripts/package.scm:338
+#: guix/scripts/package.scm:354
 msgid ""
 "\n"
 "  -S, --switch-generation=PATTERN\n"
 "                         switch to a generation matching PATTERN"
 msgstr ""
+"\n"
+"  -S, --switch-generation=MÖNSTER\n"
+"                         växla till en generation som matchar MÖNSTER"
 
-#: guix/scripts/package.scm:341
+#: guix/scripts/package.scm:357 guix/scripts/install.scm:33
+#: guix/scripts/remove.scm:33 guix/scripts/upgrade.scm:34
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  use PROFILE instead of the user's default profile"
 msgstr ""
+"\n"
+"  -p, --profile=PROFIL   använd PROFIL istället för användarens standardprofil"
 
-#: guix/scripts/package.scm:344
+#: guix/scripts/package.scm:360
 msgid ""
 "\n"
 "      --allow-collisions do not treat collisions in the profile as an error"
 msgstr ""
+"\n"
+"      --allow-collisions behandla inte kollisioner i profilen som fel"
 
-#: guix/scripts/package.scm:346
+#: guix/scripts/package.scm:362
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the profile"
 msgstr ""
-
-#: guix/scripts/package.scm:348 guix/scripts/pull.scm:74
-msgid ""
 "\n"
-"      --verbose          produce verbose output"
-msgstr ""
+"      --bootstrap        använd laddar-Guile för att bygga profilen"
 
-#: guix/scripts/package.scm:351
+#: guix/scripts/package.scm:367
 msgid ""
 "\n"
 "  -s, --search=REGEXP    search in synopsis and description using REGEXP"
 msgstr ""
+"\n"
+"  -s, --search=REGUTR    sök i synopsis och beskrivning efter REGUTR"
 
-#: guix/scripts/package.scm:353
+#: guix/scripts/package.scm:369
 msgid ""
 "\n"
 "  -I, --list-installed[=REGEXP]\n"
 "                         list installed packages matching REGEXP"
 msgstr ""
+"\n"
+"  -I, --list-installed[=REGUTR]\n"
+"                         lista installerade paket som matchar REGEXP"
 
-#: guix/scripts/package.scm:356
+#: guix/scripts/package.scm:372
 msgid ""
 "\n"
 "  -A, --list-available[=REGEXP]\n"
 "                         list available packages matching REGEXP"
 msgstr ""
+"\n"
+"  -A, --list-available[=REGUTR]\n"
+"                         lista tillgängliga paket som matchar REGUTR"
 
-#: guix/scripts/package.scm:359
+#: guix/scripts/package.scm:375
 msgid ""
 "\n"
 "      --show=PACKAGE     show details about PACKAGE"
 msgstr ""
+"\n"
+"      --show=PAKET       visa detaljer om PAKET"
 
-#: guix/scripts/package.scm:411
+#: guix/scripts/package.scm:427
 #, scheme-format
 msgid "upgrade regexp '~a' looks like a command-line option~%"
-msgstr ""
+msgstr "reguljärt uttryck för uppgradering ”~a” ser ut som en kommandoradsflagga~%"
 
-#: guix/scripts/package.scm:414
+#: guix/scripts/package.scm:430
 #, scheme-format
 msgid "is this intended?~%"
-msgstr ""
+msgstr "är det avsiktligt?~%"
 
-#: guix/scripts/package.scm:459
+#: guix/scripts/package.scm:475
 #, scheme-format
 msgid "~a: unsupported kind of search path~%"
-msgstr ""
+msgstr "~a: sökvägstyp stöds inte~%"
 
-#: guix/scripts/package.scm:776
+#: guix/scripts/package.scm:771
 #, scheme-format
 msgid "~a~@[@~a~]: package not found~%"
-msgstr ""
+msgstr "~a~@[@~a~]: paket hittades inte~%"
 
-#: guix/scripts/package.scm:810
+#: guix/scripts/package.scm:805
 #, scheme-format
 msgid "cannot switch to generation '~a'~%"
-msgstr ""
+msgstr "kan inte växla till generation ”~a”~%"
 
-#: guix/scripts/package.scm:827
+#: guix/scripts/package.scm:822
 #, scheme-format
 msgid "would install new manifest from '~a' with ~d entries~%"
-msgstr ""
+msgstr "skulle installera nytt manifest från ”~a” med ~d poster~%"
 
-#: guix/scripts/package.scm:829
+#: guix/scripts/package.scm:824
 #, scheme-format
 msgid "installing new manifest from '~a' with ~d entries~%"
+msgstr "installerar nytt manifest från ”~a” med ~d poster~%"
+
+#: guix/scripts/install.scm:30
+msgid ""
+"Usage: guix install [OPTION] PACKAGES...\n"
+"Install the given PACKAGES.\n"
+"This is an alias for 'guix package -i'.\n"
 msgstr ""
+"Användning: gui install [FLAGGA] PAKET…\n"
+"Installera givna PAKET.\n"
+"Detta är ett alias för ”guis package -i”.\n"
 
-#: guix/scripts/gc.scm:42
+#: guix/scripts/remove.scm:30
+msgid ""
+"Usage: guix remove [OPTION] PACKAGES...\n"
+"Remove the given PACKAGES.\n"
+"This is an alias for 'guix package -r'.\n"
+msgstr ""
+
+#: guix/scripts/upgrade.scm:31
+msgid ""
+"Usage: guix upgrade [OPTION] [REGEXP]\n"
+"Upgrade packages that match REGEXP.\n"
+"This is an alias for 'guix package -u'.\n"
+msgstr ""
+
+#: guix/scripts/search.scm:29
+msgid ""
+"Usage: guix search [OPTION] REGEXPS...\n"
+"Search for packages matching REGEXPS."
+msgstr ""
+
+#: guix/scripts/search.scm:31
+msgid ""
+"\n"
+"This is an alias for 'guix package -s'.\n"
+msgstr ""
+
+#: guix/scripts/search.scm:65
+#, scheme-format
+msgid "missing arguments: no regular expressions to search for~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:45
 msgid ""
 "Usage: guix gc [OPTION]... PATHS...\n"
 "Invoke the garbage collector.\n"
 msgstr ""
 
-#: guix/scripts/gc.scm:44
+#: guix/scripts/gc.scm:47
 msgid ""
 "\n"
 "  -C, --collect-garbage[=MIN]\n"
 "                         collect at least MIN bytes of garbage"
 msgstr ""
 
-#: guix/scripts/gc.scm:47
+#: guix/scripts/gc.scm:50
 msgid ""
 "\n"
 "  -F, --free-space=FREE  attempt to reach FREE available space in the store"
 msgstr ""
 
-#: guix/scripts/gc.scm:49
+#: guix/scripts/gc.scm:52
+msgid ""
+"\n"
+"  -d, --delete-generations[=PATTERN]\n"
+"                         delete profile generations matching PATTERN"
+msgstr ""
+
+#: guix/scripts/gc.scm:55
+msgid ""
+"\n"
+"  -D, --delete           attempt to delete PATHS"
+msgstr ""
+
+#: guix/scripts/gc.scm:57
 msgid ""
 "\n"
-"  -d, --delete           attempt to delete PATHS"
+"      --list-roots       list the user's garbage collector roots"
 msgstr ""
 
-#: guix/scripts/gc.scm:51
+#: guix/scripts/gc.scm:59
 msgid ""
 "\n"
 "      --optimize         optimize the store by deduplicating identical files"
 msgstr ""
 
-#: guix/scripts/gc.scm:53
+#: guix/scripts/gc.scm:61
 msgid ""
 "\n"
 "      --list-dead        list dead paths"
 msgstr ""
 
-#: guix/scripts/gc.scm:55
+#: guix/scripts/gc.scm:63
 msgid ""
 "\n"
 "      --list-live        list live paths"
 msgstr ""
 
-#: guix/scripts/gc.scm:58
+#: guix/scripts/gc.scm:66
 msgid ""
 "\n"
 "      --references       list the references of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:60
+#: guix/scripts/gc.scm:68
 msgid ""
 "\n"
 "  -R, --requisites       list the requisites of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:62
+#: guix/scripts/gc.scm:70
 msgid ""
 "\n"
 "      --referrers        list the referrers of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:64
+#: guix/scripts/gc.scm:72
 msgid ""
 "\n"
 "      --derivers         list the derivers of PATHS"
 msgstr ""
 
-#: guix/scripts/gc.scm:67
+#: guix/scripts/gc.scm:75
 msgid ""
 "\n"
 "      --verify[=OPTS]    verify the integrity of the store; OPTS is a\n"
@@ -981,42 +1923,52 @@ msgid ""
 "                         'contents'"
 msgstr ""
 
-#: guix/scripts/gc.scm:71
+#: guix/scripts/gc.scm:79
 msgid ""
 "\n"
 "      --list-failures    list cached build failures"
 msgstr ""
 
-#: guix/scripts/gc.scm:73
+#: guix/scripts/gc.scm:81
 msgid ""
 "\n"
 "      --clear-failures   remove PATHS from the set of cached failures"
 msgstr ""
 
-#: guix/scripts/gc.scm:87
+#: guix/scripts/gc.scm:95
 #, scheme-format
 msgid "~a: invalid '--verify' option~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:117
+#: guix/scripts/gc.scm:135
 #, scheme-format
 msgid "invalid amount of storage: ~a~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:202
+#: guix/scripts/gc.scm:149
+#, scheme-format
+msgid "'-d' as an alias for '--delete' is deprecated; use '-D'~%"
+msgstr "”-d” som ett alias för ”--delete” är föråldrat; använd ”-D”~%"
+
+#: guix/scripts/gc.scm:156
+#, scheme-format
+msgid "~s does not denote a duration~%"
+msgstr ""
+
+#: guix/scripts/gc.scm:239
 msgid "already ~h MiBs available on ~a, nothing to do~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:205
+#: guix/scripts/gc.scm:242
 msgid "freeing ~h MiBs~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:217
+#: guix/scripts/gc.scm:275
 #, scheme-format
 msgid "extraneous arguments: ~{~a ~}~%"
 msgstr ""
 
-#: guix/scripts/gc.scm:237 guix/scripts/gc.scm:240
+#: guix/scripts/gc.scm:299 guix/scripts/gc.scm:302
 msgid "freed ~h MiBs~%"
 msgstr ""
 
@@ -1041,13 +1993,16 @@ msgid ""
 "  -r, --recursive        compute the hash on FILE recursively"
 msgstr ""
 
-#: guix/scripts/hash.scm:151 guix/ui.scm:371 guix/ui.scm:728 guix/ui.scm:781
+#: guix/scripts/hash.scm:151 guix/ui.scm:445 guix/ui.scm:452 guix/ui.scm:477
+#: guix/ui.scm:787 guix/ui.scm:809 guix/ui.scm:815 guix/ui.scm:821
+#: guix/ui.scm:874
 #, scheme-format
 msgid "~a~%"
 msgstr ""
 
-#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1189
-#: guix/scripts/system.scm:1198 guix/scripts/system.scm:1205
+#: guix/scripts/hash.scm:154 guix/scripts/system.scm:1213
+#: guix/scripts/system.scm:1223 guix/scripts/system.scm:1230
+#: guix/scripts/system.scm:1237
 #, scheme-format
 msgid "wrong number of arguments~%"
 msgstr ""
@@ -1145,124 +2100,138 @@ msgstr ""
 msgid "failed to download package '~a'~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:72
+#: guix/scripts/pull.scm:76
 msgid ""
 "Usage: guix pull [OPTION]...\n"
 "Download and deploy the latest version of Guix.\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:76
+#: guix/scripts/pull.scm:78
+msgid ""
+"\n"
+"      --verbose          produce verbose output"
+msgstr ""
+
+#: guix/scripts/pull.scm:80
 msgid ""
 "\n"
 "  -C, --channels=FILE    deploy the channels defined in FILE"
 msgstr ""
 
-#: guix/scripts/pull.scm:78
+#: guix/scripts/pull.scm:82
 msgid ""
 "\n"
 "      --url=URL          download from the Git repository at URL"
 msgstr ""
 
-#: guix/scripts/pull.scm:80
+#: guix/scripts/pull.scm:84
 msgid ""
 "\n"
 "      --commit=COMMIT    download the specified COMMIT"
 msgstr ""
 
-#: guix/scripts/pull.scm:82
+#: guix/scripts/pull.scm:86
 msgid ""
 "\n"
 "      --branch=BRANCH    download the tip of the specified BRANCH"
 msgstr ""
 
-#: guix/scripts/pull.scm:87
-#, scheme-format
+#: guix/scripts/pull.scm:88
 msgid ""
 "\n"
-"  -p, --profile=PROFILE  use PROFILE instead of ~/.config/guix/current"
+"  -N, --news             display news compared to the previous generation"
 msgstr ""
 
-#: guix/scripts/pull.scm:89
+#: guix/scripts/pull.scm:93
+#, scheme-format
 msgid ""
 "\n"
-"  -n, --dry-run          show what would be pulled and built"
+"  -p, --profile=PROFILE  use PROFILE instead of ~/.config/guix/current"
 msgstr ""
 
-#: guix/scripts/pull.scm:91
+#: guix/scripts/pull.scm:99
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap Guile to build the new Guix"
 msgstr ""
 
-#: guix/scripts/pull.scm:165
+#: guix/scripts/pull.scm:196
 msgid "New in this revision:\n"
 msgstr ""
 
-#: guix/scripts/pull.scm:223
+#: guix/scripts/pull.scm:225
+#, scheme-format
+msgid ""
+"After setting @code{PATH}, run\n"
+"@command{hash guix} to make sure your shell refers to @file{~a}."
+msgstr ""
+
+#: guix/scripts/pull.scm:250
 #, scheme-format
 msgid "Git error ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:225
+#: guix/scripts/pull.scm:252 guix/git.scm:306
 #, scheme-format
 msgid "Git error: ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:250
+#: guix/scripts/pull.scm:277
 #, scheme-format
 msgid "Migrating profile generations to '~a'...~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:285
+#: guix/scripts/pull.scm:312
 #, scheme-format
 msgid "while creating symlink '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:307
+#: guix/scripts/pull.scm:334
 #, scheme-format
 msgid "    repository URL: ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:309
+#: guix/scripts/pull.scm:336
 #, scheme-format
 msgid "    branch: ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:310
+#: guix/scripts/pull.scm:337
 #, scheme-format
 msgid "    commit: ~a~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:376
+#: guix/scripts/pull.scm:439
 msgid "  ~h new package: ~a~%"
 msgid_plural "  ~h new packages: ~a~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:387
+#: guix/scripts/pull.scm:447
 msgid "  ~h package upgraded: ~a~%"
 msgid_plural "  ~h packages upgraded: ~a~%"
 msgstr[0] ""
 msgstr[1] ""
 
-#: guix/scripts/pull.scm:451
+#: guix/scripts/pull.scm:456
+msgid ""
+"Run @command{guix pull --news} to view the complete\n"
+"list of package changes."
+msgstr ""
+
+#: guix/scripts/pull.scm:520
 #, scheme-format
 msgid "'~a' did not return a list of channels~%"
 msgstr ""
 
-#: guix/scripts/pull.scm:465
+#: guix/scripts/pull.scm:534
 #, scheme-format
 msgid ""
 "The 'GUIX_PULL_URL' environment variable is deprecated.\n"
 "Use '~/.config/guix/channels.scm' instead."
 msgstr ""
 
-#: guix/scripts/pull.scm:490
-#, scheme-format
-msgid "'--url', '--commit', and '--branch' are not applicable~%"
-msgstr ""
-
-#: guix/scripts/pull.scm:515
+#: guix/scripts/pull.scm:583
 #, scheme-format
 msgid "Building from this channel:~%"
 msgid_plural "Building from these channels:~%"
@@ -1344,50 +2313,50 @@ msgstr ""
 msgid "signature on '~a' is corrupt~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:458
+#: guix/scripts/substitute.scm:467
 #, scheme-format
 msgid "'~a' does not name a store item~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:620
+#: guix/scripts/substitute.scm:629
 #, scheme-format
 msgid "updating substitutes from '~a'... ~5,1f%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:684
+#: guix/scripts/substitute.scm:693
 #, scheme-format
 msgid "~s: unsupported server URI scheme~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:694
+#: guix/scripts/substitute.scm:703
 #, scheme-format
 msgid "'~a' uses different store '~a'; ignoring it~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:863
+#: guix/scripts/substitute.scm:872
 #, scheme-format
 msgid "host name lookup error: ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:868
+#: guix/scripts/substitute.scm:877
 #, scheme-format
 msgid "TLS error in procedure '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:879
+#: guix/scripts/substitute.scm:888
 msgid ""
 "Usage: guix substitute [OPTION]...\n"
 "Internal tool to substitute a pre-built binary to a local build.\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:881
+#: guix/scripts/substitute.scm:890
 msgid ""
 "\n"
 "      --query            report on the availability of substitutes for the\n"
 "                         store file names passed on the standard input"
 msgstr ""
 
-#: guix/scripts/substitute.scm:884
+#: guix/scripts/substitute.scm:893
 msgid ""
 "\n"
 "      --substitute STORE-FILE DESTINATION\n"
@@ -1395,26 +2364,26 @@ msgid ""
 "                         DESTINATION"
 msgstr ""
 
-#: guix/scripts/substitute.scm:949
+#: guix/scripts/substitute.scm:958
 #, scheme-format
 msgid "no valid substitute for '~a'~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:957
+#: guix/scripts/substitute.scm:966
 #, scheme-format
 msgid "Downloading ~a...~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:1019
+#: guix/scripts/substitute.scm:1028
 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n"
 msgstr ""
 
-#: guix/scripts/substitute.scm:1073
+#: guix/scripts/substitute.scm:1082
 #, scheme-format
 msgid "~a: invalid URI~%"
 msgstr ""
 
-#: guix/scripts/substitute.scm:1144
+#: guix/scripts/substitute.scm:1153
 #, scheme-format
 msgid "~a: unrecognized options~%"
 msgstr ""
@@ -1450,117 +2419,117 @@ msgstr ""
 msgid "wrong arguments"
 msgstr ""
 
-#: guix/scripts/system.scm:148
+#: guix/scripts/system.scm:150
 #, scheme-format
 msgid "failed to register '~a' under '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:163
+#: guix/scripts/system.scm:165
 #, scheme-format
 msgid "copying to '~a'..."
 msgstr ""
 
-#: guix/scripts/system.scm:204
+#: guix/scripts/system.scm:206
 #, scheme-format
 msgid "failed to install bootloader ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:224
+#: guix/scripts/system.scm:226
 #, scheme-format
 msgid "initializing the current root file system~%"
 msgstr ""
 
-#: guix/scripts/system.scm:238
+#: guix/scripts/system.scm:240
 #, scheme-format
 msgid "not running as 'root', so the ownership of '~a' may be incorrect!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:290
+#: guix/scripts/system.scm:292
 #, scheme-format
 msgid "while talking to shepherd: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:297
+#: guix/scripts/system.scm:299
 #, scheme-format
 msgid "service '~a' could not be found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:300
+#: guix/scripts/system.scm:302
 #, scheme-format
 msgid "service '~a' does not have an action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:304
+#: guix/scripts/system.scm:306
 #, scheme-format
 msgid "exception caught while executing '~a' on service '~a':~%"
 msgstr ""
 
-#: guix/scripts/system.scm:312
+#: guix/scripts/system.scm:314
 #, scheme-format
 msgid "something went wrong: ~s~%"
 msgstr ""
 
-#: guix/scripts/system.scm:315
+#: guix/scripts/system.scm:317
 #, scheme-format
 msgid "shepherd error~%"
 msgstr ""
 
-#: guix/scripts/system.scm:332
+#: guix/scripts/system.scm:334
 #, scheme-format
 msgid "failed to obtain list of shepherd services~%"
 msgstr ""
 
-#: guix/scripts/system.scm:352
+#: guix/scripts/system.scm:354
 #, scheme-format
 msgid "unloading service '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:361
+#: guix/scripts/system.scm:363
 #, scheme-format
 msgid "loading new services:~{ ~a~}...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:366
+#: guix/scripts/system.scm:368
 msgid ""
 "To complete the upgrade, run 'herd restart SERVICE' to stop,\n"
 "upgrade, and restart each service that was not automatically restarted.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:393
+#: guix/scripts/system.scm:395
 #, scheme-format
 msgid "activating system...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:471
+#: guix/scripts/system.scm:473
 #, scheme-format
 msgid "cannot switch to system generation '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:542
+#: guix/scripts/system.scm:546
 msgid "the DAG of services"
 msgstr ""
 
-#: guix/scripts/system.scm:555
+#: guix/scripts/system.scm:559
 msgid "the dependency graph of shepherd services"
 msgstr ""
 
-#: guix/scripts/system.scm:579
+#: guix/scripts/system.scm:583
 #, scheme-format
 msgid "  file name: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:580
+#: guix/scripts/system.scm:584
 #, scheme-format
 msgid "  canonical file name: ~a~%"
 msgstr ""
 
 #. TRANSLATORS: Please preserve the two-space indentation.
-#: guix/scripts/system.scm:582
+#: guix/scripts/system.scm:586
 #, scheme-format
 msgid "  label: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:583
+#: guix/scripts/system.scm:587
 #, scheme-format
 msgid "  bootloader: ~a~%"
 msgstr ""
@@ -1573,146 +2542,151 @@ msgstr ""
 #. root device: label: "my-root"
 #. or just:
 #. root device: /dev/sda3
-#: guix/scripts/system.scm:593
+#: guix/scripts/system.scm:597
 #, scheme-format
 msgid "  root device: ~[UUID: ~a~;label: ~s~;~a~]~%"
 msgstr ""
 
-#: guix/scripts/system.scm:604
+#: guix/scripts/system.scm:608
 #, scheme-format
 msgid "  kernel: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:675
+#: guix/scripts/system.scm:679
 #, scheme-format
 msgid "~a: error: device '~a' not found: ~a~%"
 msgstr ""
 
-#: guix/scripts/system.scm:679
+#: guix/scripts/system.scm:683
 #, scheme-format
 msgid ""
 "If '~a' is a file system\n"
 "label, write @code{(file-system-label ~s)} in your @code{device} field."
 msgstr ""
 
-#: guix/scripts/system.scm:687
+#: guix/scripts/system.scm:691
 #, scheme-format
 msgid "~a: error: file system with label '~a' not found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:692
+#: guix/scripts/system.scm:696
 #, scheme-format
 msgid "~a: error: file system with UUID '~a' not found~%"
 msgstr ""
 
-#: guix/scripts/system.scm:793
+#: guix/scripts/system.scm:797
 #, scheme-format
 msgid "~a not found: 'guix pull' was never run~%"
 msgstr ""
 
-#: guix/scripts/system.scm:794
+#: guix/scripts/system.scm:798
 #, scheme-format
 msgid "Consider running 'guix pull' before 'reconfigure'.~%"
 msgstr ""
 
-#: guix/scripts/system.scm:795
+#: guix/scripts/system.scm:799
 #, scheme-format
 msgid "Failing to do that may downgrade your system!~%"
 msgstr ""
 
-#: guix/scripts/system.scm:907
+#: guix/scripts/system.scm:920
 #, scheme-format
 msgid "initializing operating system under '~a'...~%"
 msgstr ""
 
-#: guix/scripts/system.scm:952
+#: guix/scripts/system.scm:965
 msgid ""
 "Usage: guix system [OPTION ...] ACTION [ARG ...] [FILE]\n"
 "Build the operating system declared in FILE according to ACTION.\n"
 "Some ACTIONS support additional ARGS.\n"
 msgstr ""
 
-#: guix/scripts/system.scm:956 guix/scripts/container.scm:29
+#: guix/scripts/system.scm:969 guix/scripts/container.scm:29
 msgid "The valid values for ACTION are:\n"
 msgstr ""
 
-#: guix/scripts/system.scm:958
+#: guix/scripts/system.scm:971
 msgid "   search           search for existing service types\n"
 msgstr ""
 
-#: guix/scripts/system.scm:960
+#: guix/scripts/system.scm:973
 msgid "   reconfigure      switch to a new operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:962
+#: guix/scripts/system.scm:975
 msgid "   roll-back        switch to the previous operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:964
+#: guix/scripts/system.scm:977
+msgid "   list-generations list the system generations\n"
+msgstr ""
+
+#: guix/scripts/system.scm:979
 msgid "   switch-generation switch to an existing operating system configuration\n"
 msgstr ""
 
-#: guix/scripts/system.scm:966
-msgid "   list-generations list the system generations\n"
+#: guix/scripts/system.scm:981
+msgid "   delete-generations delete old system generations\n"
 msgstr ""
 
-#: guix/scripts/system.scm:968
+#: guix/scripts/system.scm:983
 msgid "   build            build the operating system without installing anything\n"
 msgstr ""
 
-#: guix/scripts/system.scm:970
+#: guix/scripts/system.scm:985
 msgid "   container        build a container that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:972
+#: guix/scripts/system.scm:987
 msgid "   vm               build a virtual machine image that shares the host's store\n"
 msgstr ""
 
-#: guix/scripts/system.scm:974
+#: guix/scripts/system.scm:989
 msgid "   vm-image         build a freestanding virtual machine image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:976
+#: guix/scripts/system.scm:991
 msgid "   disk-image       build a disk image, suitable for a USB stick\n"
 msgstr ""
 
-#: guix/scripts/system.scm:978
+#: guix/scripts/system.scm:993
 msgid "   docker-image     build a Docker image\n"
 msgstr ""
 
-#: guix/scripts/system.scm:980
+#: guix/scripts/system.scm:995
 msgid "   init             initialize a root file system to run GNU\n"
 msgstr ""
 
-#: guix/scripts/system.scm:982
+#: guix/scripts/system.scm:997
 msgid "   extension-graph  emit the service extension graph in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:984
+#: guix/scripts/system.scm:999
 msgid "   shepherd-graph   emit the graph of shepherd services in Dot format\n"
 msgstr ""
 
-#: guix/scripts/system.scm:988
+#: guix/scripts/system.scm:1003
 msgid ""
 "\n"
 "  -d, --derivation       return the derivation of the given system"
 msgstr ""
 
-#: guix/scripts/system.scm:990
+#: guix/scripts/system.scm:1005
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the operating-system EXPR evaluates to\n"
 "                         instead of reading FILE, when applicable"
 msgstr ""
 
-#: guix/scripts/system.scm:993
+#: guix/scripts/system.scm:1008
 msgid ""
 "\n"
 "      --on-error=STRATEGY\n"
-"                         apply STRATEGY when an error occurs while reading FILE"
+"                         apply STRATEGY (one of nothing-special, backtrace,\n"
+"                         or debug) when an error occurs while reading FILE"
 msgstr ""
 
-#: guix/scripts/system.scm:996
+#: guix/scripts/system.scm:1012
 msgid ""
 "\n"
 "      --file-system-type=TYPE\n"
@@ -1720,25 +2694,25 @@ msgid ""
 "                         (one of 'ext4', 'iso9660')"
 msgstr ""
 
-#: guix/scripts/system.scm:1000
+#: guix/scripts/system.scm:1016
 msgid ""
 "\n"
 "      --image-size=SIZE  for 'vm-image', produce an image of SIZE"
 msgstr ""
 
-#: guix/scripts/system.scm:1002
+#: guix/scripts/system.scm:1018
 msgid ""
 "\n"
 "      --no-bootloader    for 'init', do not install a bootloader"
 msgstr ""
 
-#: guix/scripts/system.scm:1004
+#: guix/scripts/system.scm:1020
 msgid ""
 "\n"
 "      --share=SPEC       for 'vm', share host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:1006
+#: guix/scripts/system.scm:1022
 msgid ""
 "\n"
 "  -r, --root=FILE        for 'vm', 'vm-image', 'disk-image', 'container',\n"
@@ -1746,72 +2720,72 @@ msgid ""
 "                         register it as a garbage collector root"
 msgstr ""
 
-#: guix/scripts/system.scm:1010
+#: guix/scripts/system.scm:1026
 msgid ""
 "\n"
 "      --expose=SPEC      for 'vm', expose host file system according to SPEC"
 msgstr ""
 
-#: guix/scripts/system.scm:1012
+#: guix/scripts/system.scm:1028
 msgid ""
 "\n"
 "      --full-boot        for 'vm', make a full boot sequence"
 msgstr ""
 
-#: guix/scripts/system.scm:1014
+#: guix/scripts/system.scm:1030
 msgid ""
 "\n"
 "      --skip-checks      skip file system and initrd module safety checks"
 msgstr ""
 
-#: guix/scripts/system.scm:1116
+#: guix/scripts/system.scm:1140
 #, scheme-format
 msgid "both file and expression cannot be specified~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1123
+#: guix/scripts/system.scm:1147
 #, scheme-format
 msgid "no configuration specified~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1224
+#: guix/scripts/system.scm:1257
 #, scheme-format
 msgid "~a: unknown action~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1240
+#: guix/scripts/system.scm:1273
 #, scheme-format
 msgid "wrong number of arguments for action '~a'~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1245
+#: guix/scripts/system.scm:1278
 #, scheme-format
 msgid "guix system: missing command name~%"
 msgstr ""
 
-#: guix/scripts/system.scm:1247
+#: guix/scripts/system.scm:1280
 #, scheme-format
 msgid "Try 'guix system --help' for more information.~%"
 msgstr ""
 
-#: guix/scripts/system/search.scm:88 guix/ui.scm:1205 guix/ui.scm:1219
+#: guix/scripts/system/search.scm:88 guix/ui.scm:1332 guix/ui.scm:1346
 msgid "unknown"
 msgstr ""
 
-#: guix/scripts/lint.scm:140
+#: guix/scripts/lint.scm:144
 #, scheme-format
 msgid "Available checkers:~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:164
+#: guix/scripts/lint.scm:168
 msgid "description should not be empty"
 msgstr ""
 
-#: guix/scripts/lint.scm:174
+#: guix/scripts/lint.scm:178
 msgid "Texinfo markup in description is invalid"
 msgstr ""
 
-#: guix/scripts/lint.scm:184
+#: guix/scripts/lint.scm:188
 #, scheme-format
 msgid ""
 "description should not contain ~\n"
@@ -1820,296 +2794,313 @@ msgstr ""
 
 #. TRANSLATORS: '@code' is Texinfo markup and must be kept
 #. as is.
-#: guix/scripts/lint.scm:197
+#: guix/scripts/lint.scm:201
 msgid "use @code or similar ornament instead of quotes"
 msgstr ""
 
-#: guix/scripts/lint.scm:204
+#: guix/scripts/lint.scm:208
 msgid "description should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:220
+#: guix/scripts/lint.scm:224
 #, scheme-format
 msgid ""
 "sentences in description should be followed ~\n"
 "by two spaces; possible infraction~p at ~{~a~^, ~}"
 msgstr ""
 
-#: guix/scripts/lint.scm:238
+#: guix/scripts/lint.scm:242
 #, scheme-format
 msgid "invalid description: ~s"
 msgstr ""
 
-#: guix/scripts/lint.scm:283
+#: guix/scripts/lint.scm:287
 #, scheme-format
 msgid "'~a' should probably be a native input"
 msgstr ""
 
-#: guix/scripts/lint.scm:299
+#: guix/scripts/lint.scm:303
 #, scheme-format
 msgid "'~a' should probably not be an input at all"
 msgstr ""
 
-#: guix/scripts/lint.scm:316
+#: guix/scripts/lint.scm:320
 msgid "synopsis should not be empty"
 msgstr ""
 
-#: guix/scripts/lint.scm:324
+#: guix/scripts/lint.scm:328
 msgid "no period allowed at the end of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:336
+#: guix/scripts/lint.scm:340
 msgid "no article allowed at the beginning of the synopsis"
 msgstr ""
 
-#: guix/scripts/lint.scm:343
+#: guix/scripts/lint.scm:347
 msgid "synopsis should be less than 80 characters long"
 msgstr ""
 
-#: guix/scripts/lint.scm:349
+#: guix/scripts/lint.scm:353
 msgid "synopsis should start with an upper-case letter or digit"
 msgstr ""
 
-#: guix/scripts/lint.scm:356
+#: guix/scripts/lint.scm:360
 msgid "synopsis should not start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:366
+#: guix/scripts/lint.scm:370
 msgid "Texinfo markup in synopsis is invalid"
 msgstr ""
 
-#: guix/scripts/lint.scm:385
+#: guix/scripts/lint.scm:389
 #, scheme-format
 msgid "invalid synopsis: ~s"
 msgstr ""
 
-#: guix/scripts/lint.scm:504
+#: guix/scripts/lint.scm:508
 #, scheme-format
 msgid "URI ~a returned suspiciously small file (~a bytes)"
 msgstr ""
 
-#: guix/scripts/lint.scm:514
+#: guix/scripts/lint.scm:518
 #, scheme-format
 msgid "permanent redirect from ~a to ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:521
+#: guix/scripts/lint.scm:525
 #, scheme-format
 msgid "invalid permanent redirect from ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:528 guix/scripts/lint.scm:540
+#: guix/scripts/lint.scm:532 guix/scripts/lint.scm:544
 #, scheme-format
 msgid "URI ~a not reachable: ~a (~s)"
 msgstr ""
 
-#: guix/scripts/lint.scm:547
+#: guix/scripts/lint.scm:551
 #, scheme-format
 msgid "URI ~a domain not found: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:555
+#: guix/scripts/lint.scm:559
 #, scheme-format
 msgid "URI ~a unreachable: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:564
+#: guix/scripts/lint.scm:568
 #, scheme-format
 msgid "TLS certificate error: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:585
+#: guix/scripts/lint.scm:589
 msgid "invalid value for home page"
 msgstr ""
 
-#: guix/scripts/lint.scm:588
+#: guix/scripts/lint.scm:592
 #, scheme-format
 msgid "invalid home page URL: ~s"
 msgstr ""
 
-#: guix/scripts/lint.scm:614
+#: guix/scripts/lint.scm:619
 msgid "file names of patches should start with the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:630
+#: guix/scripts/lint.scm:635
 #, scheme-format
 msgid "~a: file name is too long"
 msgstr ""
 
-#: guix/scripts/lint.scm:671
+#: guix/scripts/lint.scm:676
 #, scheme-format
 msgid "~a: ~a: proposed synopsis: ~s~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:684
+#: guix/scripts/lint.scm:689
 #, scheme-format
 msgid "~a: ~a: proposed description:~%     \"~a\"~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:726
+#: guix/scripts/lint.scm:731
 msgid "all the source URIs are unreachable:"
 msgstr ""
 
-#: guix/scripts/lint.scm:748
+#: guix/scripts/lint.scm:753
 msgid "the source file name should contain the package name"
 msgstr ""
 
-#: guix/scripts/lint.scm:764
+#: guix/scripts/lint.scm:765
+msgid "the source URI should not be an autogenerated tarball"
+msgstr ""
+
+#: guix/scripts/lint.scm:786
 #, scheme-format
 msgid "URL should be 'mirror://~a/~a'"
 msgstr ""
 
-#: guix/scripts/lint.scm:783 guix/scripts/lint.scm:788
+#: guix/scripts/lint.scm:829
+#, scheme-format
+msgid "URL should be '~a'"
+msgstr ""
+
+#: guix/scripts/lint.scm:840 guix/scripts/lint.scm:845
 #, scheme-format
 msgid "failed to create ~a derivation: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:805
+#: guix/scripts/lint.scm:862
 #, scheme-format
 msgid "failed to create ~a derivation: ~s"
 msgstr ""
 
-#: guix/scripts/lint.scm:817
+#: guix/scripts/lint.scm:874
 msgid "invalid license field"
 msgstr ""
 
-#: guix/scripts/lint.scm:824
+#: guix/scripts/lint.scm:881
 #, scheme-format
 msgid "~a: HTTP GET error for ~a: ~a (~s)~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:834
+#: guix/scripts/lint.scm:891
 #, scheme-format
 msgid "~a: host lookup failure: ~a~%"
 msgstr ""
 
-#: guix/scripts/lint.scm:839
+#: guix/scripts/lint.scm:896
 #, scheme-format
 msgid "~a: TLS certificate error: ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:854
+#: guix/scripts/lint.scm:911
 msgid "while retrieving CVE vulnerabilities"
 msgstr ""
 
-#: guix/scripts/lint.scm:891
+#: guix/scripts/lint.scm:948
 #, scheme-format
 msgid "probably vulnerable to ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:898
+#: guix/scripts/lint.scm:955
 #, scheme-format
 msgid "while retrieving upstream info for '~a'"
 msgstr ""
 
-#: guix/scripts/lint.scm:906
+#: guix/scripts/lint.scm:963
 #, scheme-format
 msgid "can be upgraded to ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:921
+#: guix/scripts/lint.scm:978
 #, scheme-format
 msgid "tabulation on line ~a, column ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:930
+#: guix/scripts/lint.scm:987
 #, scheme-format
 msgid "trailing white space on line ~a"
 msgstr ""
 
-#: guix/scripts/lint.scm:940
+#: guix/scripts/lint.scm:997
 #, scheme-format
 msgid "line ~a is way too long (~a characters)"
 msgstr ""
 
-#: guix/scripts/lint.scm:951
+#: guix/scripts/lint.scm:1008
 #, scheme-format
 msgid "line ~a: parentheses feel lonely, move to the previous or next line"
 msgstr ""
 
-#: guix/scripts/lint.scm:1021
+#: guix/scripts/lint.scm:1078
 msgid "Validate package descriptions"
 msgstr ""
 
-#: guix/scripts/lint.scm:1025
+#: guix/scripts/lint.scm:1082
 msgid "Validate synopsis & description of GNU packages"
 msgstr ""
 
-#: guix/scripts/lint.scm:1029
+#: guix/scripts/lint.scm:1086
 msgid "Identify inputs that should be native inputs"
 msgstr ""
 
-#: guix/scripts/lint.scm:1033
+#: guix/scripts/lint.scm:1090
 msgid "Identify inputs that shouldn't be inputs at all"
 msgstr ""
 
-#: guix/scripts/lint.scm:1037
+#: guix/scripts/lint.scm:1094
 msgid "Validate file names and availability of patches"
 msgstr ""
 
-#: guix/scripts/lint.scm:1041
+#: guix/scripts/lint.scm:1098
 msgid "Validate home-page URLs"
 msgstr ""
 
 #. TRANSLATORS: <license> is the name of a data type and must not be
 #. translated.
-#: guix/scripts/lint.scm:1047
+#: guix/scripts/lint.scm:1104
 msgid "Make sure the 'license' field is a <license> or a list thereof"
 msgstr ""
 
-#: guix/scripts/lint.scm:1052
+#: guix/scripts/lint.scm:1109
 msgid "Validate source URLs"
 msgstr ""
 
-#: guix/scripts/lint.scm:1056
+#: guix/scripts/lint.scm:1113
 msgid "Suggest 'mirror://' URLs"
 msgstr ""
 
-#: guix/scripts/lint.scm:1060
+#: guix/scripts/lint.scm:1117
+msgid "Suggest GitHub URLs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1121
 msgid "Validate file names of sources"
 msgstr ""
 
-#: guix/scripts/lint.scm:1064
+#: guix/scripts/lint.scm:1125
+msgid "Check for autogenerated tarballs"
+msgstr ""
+
+#: guix/scripts/lint.scm:1129
 msgid "Report failure to compile a package to a derivation"
 msgstr ""
 
-#: guix/scripts/lint.scm:1068
+#: guix/scripts/lint.scm:1133
 msgid "Validate package synopses"
 msgstr ""
 
-#: guix/scripts/lint.scm:1072
+#: guix/scripts/lint.scm:1137
 msgid "Check the Common Vulnerabilities and Exposures (CVE) database"
 msgstr ""
 
-#: guix/scripts/lint.scm:1077
+#: guix/scripts/lint.scm:1142
 msgid "Check the package for new upstream releases"
 msgstr ""
 
-#: guix/scripts/lint.scm:1081
+#: guix/scripts/lint.scm:1146
 msgid "Look for formatting issues in the source"
 msgstr ""
 
-#: guix/scripts/lint.scm:1109
+#: guix/scripts/lint.scm:1174
 msgid ""
 "Usage: guix lint [OPTION]... [PACKAGE]...\n"
 "Run a set of checkers on the specified package; if none is specified,\n"
 "run the checkers on all packages.\n"
 msgstr ""
 
-#: guix/scripts/lint.scm:1112
+#: guix/scripts/lint.scm:1177
 msgid ""
 "\n"
 "  -c, --checkers=CHECKER1,CHECKER2...\n"
 "                         only run the specified checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:1117
+#: guix/scripts/lint.scm:1182
 msgid ""
 "\n"
 "  -l, --list-checkers    display the list of available lint checkers"
 msgstr ""
 
-#: guix/scripts/lint.scm:1137
+#: guix/scripts/lint.scm:1202
 #, scheme-format
 msgid "~a: invalid checker~%"
 msgstr ""
@@ -2208,60 +3199,55 @@ msgstr ""
 msgid "~a: invalid duration~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:869
+#: guix/scripts/publish.scm:876
 #, scheme-format
 msgid "user '~a' not found: ~a~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:910
+#: guix/scripts/publish.scm:917
 #, scheme-format
 msgid "server running as root; consider using the '--user' option!~%"
 msgstr ""
 
-#: guix/scripts/publish.scm:915
+#: guix/scripts/publish.scm:922
 #, scheme-format
 msgid "publishing ~a on ~a, port ~d~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:41
+#: guix/scripts/edit.scm:40
 msgid ""
 "Usage: guix edit PACKAGE...\n"
 "Start $VISUAL or $EDITOR to edit the definitions of PACKAGE...\n"
 msgstr ""
 
-#: guix/scripts/edit.scm:62
+#: guix/scripts/edit.scm:61
 #, scheme-format
 msgid "file '~a' not found in search path ~s~%"
 msgstr ""
 
-#: guix/scripts/edit.scm:90
-#, scheme-format
-msgid "source location of package '~a' is unknown~%"
-msgstr ""
-
-#: guix/scripts/edit.scm:103
+#: guix/scripts/edit.scm:96
 #, scheme-format
 msgid "failed to launch '~a': ~a~%"
 msgstr ""
 
-#: guix/scripts/size.scm:68
+#: guix/scripts/size.scm:69
 #, scheme-format
 msgid "no available substitute information for '~a'~%"
 msgstr ""
 
-#: guix/scripts/size.scm:90
+#: guix/scripts/size.scm:91
 msgid "store item"
 msgstr ""
 
-#: guix/scripts/size.scm:90
+#: guix/scripts/size.scm:91
 msgid "total"
 msgstr ""
 
-#: guix/scripts/size.scm:90
+#: guix/scripts/size.scm:91
 msgid "self"
 msgstr ""
 
-#: guix/scripts/size.scm:98
+#: guix/scripts/size.scm:99
 #, scheme-format
 msgid "total: ~,1f MiB~%"
 msgstr ""
@@ -2269,155 +3255,159 @@ msgstr ""
 #. TRANSLATORS: This is the title of a graph, meaning that the graph
 #. represents a profile of the store (the "store" being the place where
 #. packages are stored.)
-#: guix/scripts/size.scm:212
+#: guix/scripts/size.scm:222
 msgid "store profile"
 msgstr ""
 
-#: guix/scripts/size.scm:221
+#: guix/scripts/size.scm:231
 msgid ""
 "Usage: guix size [OPTION]... PACKAGE\n"
 "Report the size of PACKAGE and its dependencies.\n"
 msgstr ""
 
-#: guix/scripts/size.scm:226
+#: guix/scripts/size.scm:236
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider packages for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
 #. TRANSLATORS: "closure" and "self" must not be translated.
-#: guix/scripts/size.scm:229
+#: guix/scripts/size.scm:239
 msgid ""
 "\n"
 "      --sort=KEY         sort according to KEY--\"closure\" or \"self\""
 msgstr ""
 
-#: guix/scripts/size.scm:231
+#: guix/scripts/size.scm:241
 msgid ""
 "\n"
 "  -m, --map-file=FILE    write to FILE a graphical map of disk usage"
 msgstr ""
 
-#: guix/scripts/size.scm:262
+#: guix/scripts/size.scm:272
 #, scheme-format
 msgid "~a: invalid sorting key~%"
 msgstr ""
 
-#: guix/scripts/size.scm:297
+#: guix/scripts/size.scm:307
 msgid "missing store item argument\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:87
+#: guix/scripts/graph.scm:88
 #, scheme-format
 msgid "~a: invalid argument (package name expected)"
 msgstr ""
 
-#: guix/scripts/graph.scm:98
+#: guix/scripts/graph.scm:99
 msgid "the DAG of packages, excluding implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:124
+#: guix/scripts/graph.scm:135
 msgid "the reverse DAG of packages"
 msgstr ""
 
-#: guix/scripts/graph.scm:174
+#: guix/scripts/graph.scm:185
 msgid "the DAG of packages, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:184
+#: guix/scripts/graph.scm:195
 msgid "the DAG of packages and origins, including implicit inputs"
 msgstr ""
 
-#: guix/scripts/graph.scm:214
+#: guix/scripts/graph.scm:225
 msgid "same as 'bag', but without the bootstrap nodes"
 msgstr ""
 
-#: guix/scripts/graph.scm:256
+#: guix/scripts/graph.scm:242
+msgid "the reverse DAG of packages, including implicit inputs"
+msgstr ""
+
+#: guix/scripts/graph.scm:282
 msgid "the DAG of derivations"
 msgstr ""
 
-#: guix/scripts/graph.scm:268
+#: guix/scripts/graph.scm:294
 msgid "unsupported argument for derivation graph"
 msgstr ""
 
-#: guix/scripts/graph.scm:294
+#: guix/scripts/graph.scm:320
 msgid "unsupported argument for this type of graph"
 msgstr ""
 
-#: guix/scripts/graph.scm:307
+#: guix/scripts/graph.scm:333
 #, scheme-format
 msgid "references for '~a' are not known~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:314
+#: guix/scripts/graph.scm:340
 msgid "the DAG of run-time dependencies (store references)"
 msgstr ""
 
-#: guix/scripts/graph.scm:330
+#: guix/scripts/graph.scm:356
 msgid "the DAG of referrers in the store"
 msgstr ""
 
-#: guix/scripts/graph.scm:360
+#: guix/scripts/graph.scm:386
 msgid "the graph of package modules"
 msgstr ""
 
-#: guix/scripts/graph.scm:388
+#: guix/scripts/graph.scm:415
 #, scheme-format
 msgid "~a: unknown node type~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:395
+#: guix/scripts/graph.scm:422
 #, scheme-format
 msgid "~a: unknown backend~%"
 msgstr ""
 
-#: guix/scripts/graph.scm:399
+#: guix/scripts/graph.scm:426
 msgid "The available node types are:\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:409
+#: guix/scripts/graph.scm:436
 msgid "The available backend types are:\n"
 msgstr ""
 
 #. TRANSLATORS: Here 'dot' is the name of a program; it must not be
 #. translated.
-#: guix/scripts/graph.scm:457
+#: guix/scripts/graph.scm:484
 msgid ""
 "Usage: guix graph PACKAGE...\n"
 "Emit a representation of the dependency graph of PACKAGE...\n"
 msgstr ""
 
-#: guix/scripts/graph.scm:459
+#: guix/scripts/graph.scm:486
 msgid ""
 "\n"
 "  -b, --backend=TYPE     produce a graph with the given backend TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:461
+#: guix/scripts/graph.scm:488
 msgid ""
 "\n"
 "      --list-backends    list the available graph backends"
 msgstr ""
 
-#: guix/scripts/graph.scm:463
+#: guix/scripts/graph.scm:490
 msgid ""
 "\n"
 "  -t, --type=TYPE        represent nodes of the given TYPE"
 msgstr ""
 
-#: guix/scripts/graph.scm:465
+#: guix/scripts/graph.scm:492
 msgid ""
 "\n"
 "      --list-types       list the available graph types"
 msgstr ""
 
-#: guix/scripts/graph.scm:467 guix/scripts/pack.scm:710
+#: guix/scripts/graph.scm:494 guix/scripts/pack.scm:752
 msgid ""
 "\n"
 "  -e, --expression=EXPR  consider the package EXPR evaluates to"
 msgstr ""
 
-#: guix/scripts/graph.scm:469
+#: guix/scripts/graph.scm:496
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider the graph for SYSTEM--e.g., \"i686-linux\""
@@ -2493,473 +3483,524 @@ msgid ""
 "      -v, --verbose      show details about successful comparisons"
 msgstr ""
 
-#: guix/scripts/copy.scm:59
+#: guix/scripts/copy.scm:60
 #, scheme-format
 msgid "~a: invalid TCP port number~%"
 msgstr ""
 
-#: guix/scripts/copy.scm:61
+#: guix/scripts/copy.scm:62
 #, scheme-format
 msgid "~a: invalid SSH specification~%"
 msgstr ""
 
-#: guix/scripts/copy.scm:113
+#: guix/scripts/copy.scm:114
 msgid ""
 "Usage: guix copy [OPTION]... ITEMS...\n"
 "Copy ITEMS to or from the specified host over SSH.\n"
 msgstr ""
 
-#: guix/scripts/copy.scm:115
+#: guix/scripts/copy.scm:116
 msgid ""
 "\n"
 "      --to=HOST          send ITEMS to HOST"
 msgstr ""
 
-#: guix/scripts/copy.scm:117
+#: guix/scripts/copy.scm:118
 msgid ""
 "\n"
 "      --from=HOST        receive ITEMS from HOST"
 msgstr ""
 
-#: guix/scripts/copy.scm:169
+#: guix/scripts/copy.scm:182
 #, scheme-format
 msgid "use '--to' or '--from'~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:93
+#: guix/scripts/pack.scm:95
 #, scheme-format
 msgid "~a: compressor not found~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:504
+#: guix/scripts/pack.scm:513
 #, scheme-format
 msgid ""
 "cross-compilation not implemented here;\n"
 "please email '~a'~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:615
+#: guix/scripts/pack.scm:644
 msgid "The supported formats for 'guix pack' are:"
 msgstr ""
 
-#: guix/scripts/pack.scm:617
+#: guix/scripts/pack.scm:646
 msgid ""
 "\n"
 "  tarball       Self-contained tarball, ready to run on another machine"
 msgstr ""
 
-#: guix/scripts/pack.scm:619
+#: guix/scripts/pack.scm:648
 msgid ""
 "\n"
 "  squashfs      Squashfs image suitable for Singularity"
 msgstr ""
 
-#: guix/scripts/pack.scm:621
+#: guix/scripts/pack.scm:650
 msgid ""
 "\n"
 "  docker        Tarball ready for 'docker load'"
 msgstr ""
 
-#: guix/scripts/pack.scm:678
+#: guix/scripts/pack.scm:712
 #, scheme-format
 msgid "~a: invalid symlink specification~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:689
+#: guix/scripts/pack.scm:726
 #, scheme-format
 msgid "~a: unsupported profile name~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:698
+#: guix/scripts/pack.scm:740
 msgid ""
 "Usage: guix pack [OPTION]... PACKAGE...\n"
 "Create a bundle of PACKAGE.\n"
 msgstr ""
 
-#: guix/scripts/pack.scm:704
+#: guix/scripts/pack.scm:746
 msgid ""
 "\n"
 "  -f, --format=FORMAT    build a pack in the given FORMAT"
 msgstr ""
 
-#: guix/scripts/pack.scm:706
+#: guix/scripts/pack.scm:748
 msgid ""
 "\n"
 "      --list-formats     list the formats available"
 msgstr ""
 
-#: guix/scripts/pack.scm:708
+#: guix/scripts/pack.scm:750
 msgid ""
 "\n"
 "  -R, --relocatable      produce relocatable executables"
 msgstr ""
 
-#: guix/scripts/pack.scm:716
+#: guix/scripts/pack.scm:758
 msgid ""
 "\n"
 "  -C, --compression=TOOL compress using TOOL--e.g., \"lzip\""
 msgstr ""
 
-#: guix/scripts/pack.scm:718
+#: guix/scripts/pack.scm:760
 msgid ""
 "\n"
 "  -S, --symlink=SPEC     create symlinks to the profile according to SPEC"
 msgstr ""
 
-#: guix/scripts/pack.scm:720
+#: guix/scripts/pack.scm:762
 msgid ""
 "\n"
 "  -m, --manifest=FILE    create a pack with the manifest from FILE"
 msgstr ""
 
-#: guix/scripts/pack.scm:722
+#: guix/scripts/pack.scm:764
+msgid ""
+"\n"
+"      --save-provenance  save provenance information"
+msgstr ""
+
+#: guix/scripts/pack.scm:766
 msgid ""
 "\n"
 "      --localstatedir    include /var/guix in the resulting pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:724
+#: guix/scripts/pack.scm:768
 msgid ""
 "\n"
 "      --profile-name=NAME\n"
 "                         populate /var/guix/profiles/.../NAME"
 msgstr ""
 
-#: guix/scripts/pack.scm:727
+#: guix/scripts/pack.scm:773
 msgid ""
 "\n"
 "      --bootstrap        use the bootstrap binaries to build the pack"
 msgstr ""
 
-#: guix/scripts/pack.scm:769
+#: guix/scripts/pack.scm:818
+#, scheme-format
+msgid "could not determine provenance of package ~a~%"
+msgstr ""
+
+#: guix/scripts/pack.scm:827
 #, scheme-format
 msgid "both a manifest and a package list were given~%"
 msgstr ""
 
-#: guix/scripts/pack.scm:814
+#: guix/scripts/pack.scm:882
 #, scheme-format
 msgid "~a: unknown pack format~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:73
+#: guix/scripts/weather.scm:80
 msgid "computing ~h package derivations for ~a...~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:162
+#: guix/scripts/weather.scm:169
 msgid "looking for ~h store items on ~a...~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:174
+#: guix/scripts/weather.scm:181
 msgid "  ~2,1f% substitutes available (~h out of ~h)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:180
+#: guix/scripts/weather.scm:187
 #, scheme-format
 msgid "  unknown substitute sizes~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:183
+#: guix/scripts/weather.scm:190
 msgid "  ~,1h MiB of nars (compressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:184
+#: guix/scripts/weather.scm:191
 msgid "  at least ~,1h MiB of nars (compressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:186
+#: guix/scripts/weather.scm:193
 msgid "  ~,1h MiB on disk (uncompressed)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:188
+#: guix/scripts/weather.scm:195
 msgid "  ~,3h seconds per request (~,1h seconds in total)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:190
+#: guix/scripts/weather.scm:197
 msgid "  ~,1h requests per second~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:196
+#: guix/scripts/weather.scm:203
 #, scheme-format
 msgid "  (continuous integration information unavailable)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:199
+#: guix/scripts/weather.scm:206
 #, scheme-format
 msgid "  '~a' returned ~a (~s)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:216
+#: guix/scripts/weather.scm:223
 msgid "  ~,1f% (~h out of ~h) of the missing items are queued~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:222
+#: guix/scripts/weather.scm:229
 msgid "  at least ~h queued builds~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:223
+#: guix/scripts/weather.scm:230
 msgid "  ~h queued builds~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:226
+#: guix/scripts/weather.scm:233
 #, scheme-format
 msgid "      ~a: ~a (~0,1f%)~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:232
+#: guix/scripts/weather.scm:239
 #, scheme-format
 msgid "  build rate: ~1,2f builds per hour~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:236
+#: guix/scripts/weather.scm:243
 #, scheme-format
 msgid "      ~a: ~,2f builds per hour~%"
 msgstr ""
 
-#: guix/scripts/weather.scm:248
+#: guix/scripts/weather.scm:255
 msgid ""
 "Usage: guix weather [OPTIONS]\n"
 "Report the availability of substitutes.\n"
 msgstr ""
 
-#: guix/scripts/weather.scm:250
+#: guix/scripts/weather.scm:257
 msgid ""
 "\n"
 "      --substitute-urls=URLS\n"
 "                         check for available substitutes at URLS"
 msgstr ""
 
-#: guix/scripts/weather.scm:253
+#: guix/scripts/weather.scm:260
 msgid ""
 "\n"
 "  -m, --manifest=MANIFEST\n"
 "                         look up substitutes for packages specified in MANIFEST"
 msgstr ""
 
-#: guix/scripts/weather.scm:256
+#: guix/scripts/weather.scm:263
+msgid ""
+"\n"
+"  -c, --coverage[=COUNT]\n"
+"                         show substitute coverage for packages with at least\n"
+"                         COUNT dependents"
+msgstr ""
+
+#: guix/scripts/weather.scm:267
 msgid ""
 "\n"
 "  -s, --system=SYSTEM    consider substitutes for SYSTEM--e.g., \"i686-linux\""
 msgstr ""
 
-#: guix/scripts/weather.scm:280
+#: guix/scripts/weather.scm:291
 #, scheme-format
 msgid "~a: invalid URL~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:45
+#: guix/scripts/weather.scm:420
+#, scheme-format
+msgid "The following ~a package is missing from '~a' for '~a':~%"
+msgid_plural "The following ~a packages are missing from '~a' for '~a':~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/scripts/weather.scm:426
+#, scheme-format
+msgid "~a package is missing from '~a' for '~a':~%"
+msgid_plural "~a packages are missing from '~a' for '~a', among which:~%"
+msgstr[0] ""
+msgstr[1] ""
+
+#: guix/scripts/describe.scm:46
 #, scheme-format
 msgid "~a: unsupported output format~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:64
+#: guix/scripts/describe.scm:65
 msgid ""
 "Usage: guix describe [OPTION]...\n"
 "Display information about the channels currently in use.\n"
 msgstr ""
 
-#: guix/scripts/describe.scm:66
+#: guix/scripts/describe.scm:67
 msgid ""
 "\n"
 "  -f, --format=FORMAT    display information in the given FORMAT"
 msgstr ""
 
-#: guix/scripts/describe.scm:68
+#: guix/scripts/describe.scm:69
 msgid ""
 "\n"
 "  -p, --profile=PROFILE  display information about PROFILE"
 msgstr ""
 
-#: guix/scripts/describe.scm:87
+#: guix/scripts/describe.scm:88
 #, scheme-format
 msgid "~%;; warning: GUIX_PACKAGE_PATH=\"~a\"~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:115
+#: guix/scripts/describe.scm:91
+#, scheme-format
+msgid "'GUIX_PACKAGE_PATH' is set but it is not captured~%"
+msgstr ""
+
+#: guix/scripts/describe.scm:118
 #, scheme-format
 msgid "failed to determine origin~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:121
+#: guix/scripts/describe.scm:119
+#, scheme-format
+msgid ""
+"Perhaps this\n"
+"@command{guix} command was not obtained with @command{guix pull}?  Its version\n"
+"string is ~a.~%"
+msgstr ""
+
+#: guix/scripts/describe.scm:129
 #, scheme-format
 msgid "Git checkout:~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:122
+#: guix/scripts/describe.scm:130
 #, scheme-format
 msgid "  repository: ~a~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:123
+#: guix/scripts/describe.scm:131
 #, scheme-format
 msgid "  branch: ~a~%"
 msgstr ""
 
-#: guix/scripts/describe.scm:124
+#: guix/scripts/describe.scm:132
 #, scheme-format
 msgid "  commit: ~a~%"
 msgstr ""
 
-#: guix/scripts/processes.scm:197
+#: guix/scripts/processes.scm:211
 msgid ""
 "Usage: guix processes\n"
 "List the current Guix sessions and their processes."
 msgstr ""
+"Användning: guix processes\n"
+"Lista aktuella Guix-sessioner och deras processer."
 
-#: guix/gnu-maintenance.scm:661
+#: guix/gnu-maintenance.scm:660
 msgid "Updater for GNU packages"
-msgstr ""
+msgstr "Uppdaterar för GNU-paket"
 
-#: guix/gnu-maintenance.scm:670
+#: guix/gnu-maintenance.scm:669
 msgid "Updater for GNU packages only available via FTP"
-msgstr ""
+msgstr "Uppdaterare för GNU-paket som bara är tillgängliga via FTP"
 
-#: guix/gnu-maintenance.scm:679
+#: guix/gnu-maintenance.scm:678
 msgid "Updater for KDE packages"
-msgstr ""
+msgstr "Uppdaterare för KDE-paket"
 
-#: guix/gnu-maintenance.scm:686
+#: guix/gnu-maintenance.scm:685
 msgid "Updater for X.org packages"
-msgstr ""
+msgstr "Uppdaterare för X.org-paket"
 
-#: guix/gnu-maintenance.scm:693
+#: guix/gnu-maintenance.scm:692
 msgid "Updater for packages hosted on kernel.org"
-msgstr ""
+msgstr "Uppdaterare för paket som finns på kernel.org"
 
 #: guix/scripts/container.scm:26
 msgid ""
 "Usage: guix container ACTION ARGS...\n"
 "Build and manipulate Linux containers.\n"
 msgstr ""
+"Användning: guix container ÅTGÄRD ARGUMENT…\n"
+"Bygg och manipulera Linux-behållare.\n"
 
 #: guix/scripts/container.scm:31
 msgid "   exec            execute a command inside of an existing container\n"
-msgstr ""
+msgstr "   exec            kör ett kommando inut en existerande behållare\n"
 
 #: guix/scripts/container.scm:54
 #, scheme-format
 msgid "guix container: missing action~%"
-msgstr ""
+msgstr "guix container: saknar åtgärd~%"
 
 #: guix/scripts/container.scm:64
 #, scheme-format
 msgid "guix container: invalid action~%"
-msgstr ""
+msgstr "guix container: ogiltig åtgärd~%"
 
 #: guix/scripts/container/exec.scm:40
 msgid ""
 "Usage: guix container exec PID COMMAND [ARGS...]\n"
 "Execute COMMMAND within the container process PID.\n"
 msgstr ""
+"Användning: guix container exec PID KOMMANDO [ARGUMENT…]\n"
+"Kör KOMMANDO inuti behållarprocess PID.\n"
 
 #: guix/scripts/container/exec.scm:69
 #, scheme-format
 msgid "~a: extraneous argument~%"
-msgstr ""
+msgstr "~a: främmande argument~%"
 
 #: guix/scripts/container/exec.scm:87
 #, scheme-format
 msgid "no pid specified~%"
-msgstr ""
+msgstr "ingen pid angiven~%"
 
 #: guix/scripts/container/exec.scm:90
 #, scheme-format
 msgid "no command specified~%"
-msgstr ""
+msgstr "inget kommando angivet~%"
 
 #: guix/scripts/container/exec.scm:93
 #, scheme-format
 msgid "no such process ~d~%"
-msgstr ""
+msgstr "ingen sådan process ~d~%"
 
 #: guix/scripts/container/exec.scm:105
 #, scheme-format
 msgid "exec failed with status ~d~%"
-msgstr ""
+msgstr "exec misslyckades med status ~d~%"
 
-#: guix/upstream.scm:250
+#: guix/upstream.scm:327
 #, scheme-format
 msgid "signature verification failed for `~a'~%"
-msgstr ""
+msgstr "signaturverifiering misslyckades för ”~a”~%"
 
-#: guix/upstream.scm:252
+#: guix/upstream.scm:329
 #, scheme-format
 msgid "(could be because the public key is not in your keyring)~%"
-msgstr ""
+msgstr "(kan vara för att den publika nyckeln inte finns i din nyckelring)~%"
+
+#: guix/upstream.scm:397
+#, scheme-format
+msgid "cannot download for this method: ~s"
+msgstr "kan inte hämta med denna metod: ~s"
 
-#: guix/upstream.scm:337
+#: guix/upstream.scm:460
 #, scheme-format
 msgid "~a: could not locate source file"
-msgstr ""
+msgstr "~a: kunde inte hitta källfil"
 
-#: guix/upstream.scm:342
+#: guix/upstream.scm:465
 #, scheme-format
 msgid "~a: ~a: no `version' field in source; skipping~%"
-msgstr ""
+msgstr "~a: ~a: inget ”version”-fält i källa; hoppar över~%"
 
-#: guix/ui.scm:175
+#. TRANSLATORS: The goal is to emit "warning:" followed by a short phrase;
+#. "~a" is a placeholder for that phrase.
+#: guix/ui.scm:205
+msgid "warning: "
+msgstr "varning: "
+
+#: guix/ui.scm:207
+msgid "error: "
+msgstr "fel: "
+
+#: guix/ui.scm:254
 #, scheme-format
 msgid "error: ~a: unbound variable"
-msgstr ""
+msgstr "fel: ~a: obunden variabel"
 
-#: guix/ui.scm:271
+#: guix/ui.scm:350
 msgid "entering debugger; type ',bt' for a backtrace\n"
-msgstr ""
+msgstr "går in i felsökare; skriv ”,bt” för en bakåtspårning\n"
 
-#: guix/ui.scm:320
-#, scheme-format
-msgid "hint: ~a~%"
-msgstr ""
+#: guix/ui.scm:405
+msgid "hint: "
+msgstr "tips: "
 
-#: guix/ui.scm:336
+#: guix/ui.scm:422
 msgid "Did you forget a @code{use-modules} form?"
-msgstr ""
+msgstr "Glömde du en @code{use-modules}-form?"
 
-#: guix/ui.scm:338
+#: guix/ui.scm:424
 #, scheme-format
 msgid "Did you forget @code{(use-modules ~a)}?"
-msgstr ""
+msgstr "Glömde du @code{(use-modules ~s)}?"
 
-#: guix/ui.scm:347 guix/ui.scm:387 guix/ui.scm:394
+#: guix/ui.scm:433 guix/ui.scm:474 guix/ui.scm:480
 #, scheme-format
 msgid "failed to load '~a': ~a~%"
-msgstr ""
+msgstr "misslyckades med att läsa in ”~a”: ~a~%"
 
-#: guix/ui.scm:354
+#: guix/ui.scm:440
 #, scheme-format
 msgid "~amissing closing parenthesis~%"
-msgstr ""
+msgstr "~asaknar avslutande parentes~%"
 
-#: guix/ui.scm:359 guix/ui.scm:367 guix/ui.scm:714
-#, scheme-format
-msgid "~a: error: ~a~%"
-msgstr ""
-
-#: guix/ui.scm:374 guix/ui.scm:784
+#: guix/ui.scm:454 guix/ui.scm:877
 #, scheme-format
 msgid "exception thrown: ~s~%"
-msgstr ""
+msgstr "kastat undantag: ~s~%"
 
-#: guix/ui.scm:378 guix/ui.scm:400
+#: guix/ui.scm:458 guix/ui.scm:486
 #, scheme-format
 msgid "failed to load '~a':~%"
-msgstr ""
+msgstr "misslyckades med att läsa in ”~a”:~%"
 
-#: guix/ui.scm:390
-#, scheme-format
-msgid "~a: warning: ~a~%"
-msgstr ""
-
-#: guix/ui.scm:397
+#: guix/ui.scm:483
 #, scheme-format
 msgid "failed to load '~a': exception thrown: ~s~%"
-msgstr ""
+msgstr "misslyckades med att läsa in ”~a”: kastat undantag: ~s~%"
 
-#: guix/ui.scm:433
-#, scheme-format
-msgid "failed to install locale: ~a~%"
-msgstr ""
-
-#: guix/ui.scm:435
+#: guix/ui.scm:516
 msgid ""
 "Consider installing the @code{glibc-utf8-locales} or\n"
 "@code{glibc-locales} package and defining @code{GUIX_LOCPATH}, along these\n"
@@ -2972,648 +4013,800 @@ msgid ""
 "\n"
 "See the \"Application Setup\" section in the manual, for more info.\n"
 msgstr ""
+"Överväg att installera ~code{glibc-utf8-locales} eller\n"
+"@code{glibc-locales} paketen och definiera @code{GUIX_LOCPATH},\n"
+"på följande sätt:\n"
+"\n"
+"@example\n"
+"guix package -i glibc-utf8-locales\n"
+"export GUIX_LOCPATH=\"$HOME/.guix-profile/lib/locale\"\n"
+"@end example\n"
+"\n"
+"Se avsnittet ”Applikationsinställning” i manualen för vidare infromation.\n"
 
 #. TRANSLATORS: Translate "(C)" to the copyright symbol
 #. (C-in-a-circle), if this symbol is available in the user's
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
-#: guix/ui.scm:473
+#: guix/ui.scm:554
 msgid "(C)"
-msgstr ""
+msgstr "(C)"
 
-#: guix/ui.scm:474
+#: guix/ui.scm:555
 msgid "the Guix authors\n"
-msgstr ""
+msgstr "Guix-upphovsmännen\n"
 
-#: guix/ui.scm:475
+#: guix/ui.scm:556
 msgid ""
 "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
 "This is free software: you are free to change and redistribute it.\n"
 "There is NO WARRANTY, to the extent permitted by law.\n"
 msgstr ""
+"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>\n"
+"Detta är fri mjukvara: du kan fritt ändra och återdistribuera den.\n"
+"Det finns INGEN GARANTI, utom sådan som måste ges enligt lag.\n"
 
 #. TRANSLATORS: The placeholder indicates the bug-reporting address for this
 #. package.  Please add another line saying "Report translation bugs to
 #. ...\n" with the address for translation bugs (typically your translation
 #. team's web or email address).
-#: guix/ui.scm:487
+#: guix/ui.scm:568
 #, scheme-format
 msgid ""
 "\n"
 "Report bugs to: ~a."
 msgstr ""
+"\n"
+"Rapportera buggar till: ~a."
 
-#: guix/ui.scm:489
+#: guix/ui.scm:570
 #, scheme-format
 msgid ""
 "\n"
 "~a home page: <~a>"
 msgstr ""
+"\n"
+"~a hemsida: <~a>"
 
-#: guix/ui.scm:491
+#: guix/ui.scm:572
 msgid ""
 "\n"
 "General help using GNU software: <http://www.gnu.org/gethelp/>"
 msgstr ""
+"\n"
+"Allmän hjälp med att använda GNU-programvara: <http://www.gnu.org/gethelp/>"
 
-#: guix/ui.scm:539
+#: guix/ui.scm:627
 #, scheme-format
 msgid "'~a' is not a valid regular expression: ~a~%"
-msgstr ""
+msgstr "”~a” är inte ett giltigt reguljärt uttryck: ~a~%"
 
-#: guix/ui.scm:545
+#: guix/ui.scm:633
 #, scheme-format
 msgid "~a: invalid number~%"
-msgstr ""
+msgstr "~a: ogiltigt nummer~%"
 
-#: guix/ui.scm:562
+#: guix/ui.scm:650
 #, scheme-format
 msgid "invalid number: ~a~%"
-msgstr ""
+msgstr "ogiltigt nummer: ~a~%"
 
-#: guix/ui.scm:585
+#: guix/ui.scm:673
 #, scheme-format
 msgid "unknown unit: ~a~%"
-msgstr ""
+msgstr "okänd enhet: ~a~%"
 
-#: guix/ui.scm:600
+#: guix/ui.scm:688
 #, scheme-format
 msgid ""
 "You cannot have two different versions\n"
 "or variants of @code{~a} in the same profile."
 msgstr ""
+"Du kan inte ha två olika versioner\n"
+"eller varianter av @code{~a} i samma profil."
 
-#: guix/ui.scm:603
+#: guix/ui.scm:691
 #, scheme-format
 msgid ""
 "Try upgrading both @code{~a} and @code{~a},\n"
 "or remove one of them from the profile."
 msgstr ""
+"Prova att uppgradera både @code{~a} och @code{~a},\n"
+"eller ta bort en av dem från profilen."
 
-#: guix/ui.scm:622
+#: guix/ui.scm:710
 #, scheme-format
 msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%"
-msgstr ""
+msgstr "~a:~a~a: paket ”~a” har en ogiltig inmatning: ~s~%"
 
-#: guix/ui.scm:629
+#: guix/ui.scm:717
 #, scheme-format
 msgid "~a: ~a: build system `~a' does not support cross builds~%"
-msgstr ""
+msgstr "~a: ~a: byggsystem ”~a” har inte stöd för korsbyggen~%"
 
-#: guix/ui.scm:635
+#: guix/ui.scm:723
 #, scheme-format
 msgid "~s: invalid G-expression input~%"
-msgstr ""
+msgstr "~s: ogiltig inmatning för G-uttryck~%"
 
-#: guix/ui.scm:638
+#: guix/ui.scm:726
 #, scheme-format
 msgid "profile '~a' does not exist~%"
-msgstr ""
+msgstr "profil ”~a” existerar inte~%"
 
-#: guix/ui.scm:641
+#: guix/ui.scm:729
 #, scheme-format
 msgid "generation ~a of profile '~a' does not exist~%"
-msgstr ""
+msgstr "generation ~a av profil ”~a” existerar inte~%"
 
-#: guix/ui.scm:650
+#: guix/ui.scm:734
+#, scheme-format
+msgid "package '~a~@[@~a~]~@[:~a~]' not found in profile~%"
+msgstr "paket ”~a~@[@~a~]~@[:~a~]” hittades inte i profil~%"
+
+#: guix/ui.scm:746
 #, scheme-format
 msgid "   ... propagated from ~a@~a~%"
-msgstr ""
+msgstr "   … propagerad från ~a@~a~%"
 
-#: guix/ui.scm:660
+#: guix/ui.scm:756
 #, scheme-format
 msgid "profile contains conflicting entries for ~a~a~%"
-msgstr ""
+msgstr "profil innehåller poster som står i konflikt för ~a~a~%"
 
-#: guix/ui.scm:663
+#: guix/ui.scm:759
 #, scheme-format
 msgid "  first entry: ~a@~a~a ~a~%"
-msgstr ""
+msgstr "  första post: ~a@~a~a ~a~%"
 
-#: guix/ui.scm:669
+#: guix/ui.scm:765
 #, scheme-format
 msgid "  second entry: ~a@~a~a ~a~%"
-msgstr ""
+msgstr "  andra post: ~a@~a~a ~a~%"
 
-#: guix/ui.scm:681
+#: guix/ui.scm:777
 #, scheme-format
 msgid "corrupt input while restoring '~a' from ~s~%"
-msgstr ""
+msgstr "korrupt inmatning under återställning av ”~a” från ~s~%"
 
-#: guix/ui.scm:683
+#: guix/ui.scm:779
 #, scheme-format
 msgid "corrupt input while restoring archive from ~s~%"
-msgstr ""
+msgstr "korrupt inmatning under återställning av arkiv från ~s~%"
 
-#: guix/ui.scm:686
+#: guix/ui.scm:782
 #, scheme-format
 msgid "failed to connect to `~a': ~a~%"
-msgstr ""
+msgstr "misslyckades med att ansluta till ”~a”: ~a~%"
 
-#: guix/ui.scm:691
-#, scheme-format
-msgid "build failed: ~a~%"
-msgstr ""
-
-#: guix/ui.scm:694
+#: guix/ui.scm:790
 #, scheme-format
 msgid "reference to invalid output '~a' of derivation '~a'~%"
-msgstr ""
+msgstr "referens till ogiltig utmatning ”~a” från härledning ”~a”~%"
 
-#: guix/ui.scm:698
+#: guix/ui.scm:794
 #, scheme-format
 msgid "file '~a' could not be found in these directories:~{ ~a~}~%"
-msgstr ""
+msgstr "fil ”~a” kunde inte hittas bland dessa kataloger:~{ ~a~}~%"
 
-#: guix/ui.scm:703
+#: guix/ui.scm:799
 #, scheme-format
 msgid "program exited~@[ with non-zero exit status ~a~]~@[ terminated by signal ~a~]~@[ stopped by signal ~a~]: ~s~%"
-msgstr ""
+msgstr "program avslutades~@[ med icke-noll avslutningsstatus ~a~]~@[ avslutades av signal ~a~]~@[ stoppades av signal ~a~]: ~s~%"
 
-#: guix/ui.scm:734
+#: guix/ui.scm:827
 #, scheme-format
 msgid "~a: ~a~%"
-msgstr ""
+msgstr "~a: ~a~%"
 
-#: guix/ui.scm:769
+#: guix/ui.scm:862
 #, scheme-format
 msgid "failed to read expression ~s: ~s~%"
-msgstr ""
+msgstr "misslyckades med att läsa uttryck ~s: ~s~%"
 
-#: guix/ui.scm:775
+#: guix/ui.scm:868
 #, scheme-format
 msgid "failed to evaluate expression '~a':~%"
-msgstr ""
+msgstr "misslyckades med att utvärdera uttryck ”~a”:~%"
 
-#: guix/ui.scm:778
+#: guix/ui.scm:871
 #, scheme-format
 msgid "syntax error: ~a~%"
-msgstr ""
+msgstr "syntaxfel: ~a~%"
 
-#: guix/ui.scm:796
+#: guix/ui.scm:889
 #, scheme-format
 msgid "expression ~s does not evaluate to a package~%"
-msgstr ""
+msgstr "uttryck ~s utvärderas inte till ett paket~%"
 
-#: guix/ui.scm:816
+#: guix/ui.scm:909
 msgid "at least ~,1h MB needed but only ~,1h MB available in ~a~%"
-msgstr ""
+msgstr "åtminstone ~,1h MB behövs men endast ~,1h MB tillgängligt i ~a~%"
 
-#: guix/ui.scm:894
+#: guix/ui.scm:1011
 #, scheme-format
 msgid "~:[The following derivation would be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations would be built:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande härledning skulle byggas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande härledningar skulle byggas:~%~{   ~a~%~}~;~]"
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:902
+#: guix/ui.scm:1019
 msgid "~:[~,1h MB would be downloaded:~%~{   ~a~%~}~;~]"
-msgstr ""
+msgstr "~:[~,1h MB skulle hämtas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:907
+#: guix/ui.scm:1024
 #, scheme-format
 msgid "~:[The following file would be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files would be downloaded:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande fil skulle hämtas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande filer skulle hämtas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:913
+#: guix/ui.scm:1030
 #, scheme-format
 msgid "~:[The following graft would be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts would be made:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande ympning skulle göras:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande ympningar skulle göras:~%~{   ~a~%~}~;~]"
+
+#: guix/ui.scm:1035
+#, scheme-format
+msgid "~:[The following profile hook would be built:~%~{   ~a~%~}~;~]"
+msgid_plural "~:[The following profile hooks would be built:~%~{   ~a~%~}~;~]"
+msgstr[0] "~:[Följande profilkrok skulle byggas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande profilkrokar skulle byggas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:919
+#: guix/ui.scm:1041
 #, scheme-format
 msgid "~:[The following derivation will be built:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following derivations will be built:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande härledning kommer att byggas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande härledningar kommer att byggas:~%~{   ~a~%~}~;~]"
 
 #. TRANSLATORS: "MB" is for "megabyte"; it should be
 #. translated to the corresponding abbreviation.
-#: guix/ui.scm:927
+#: guix/ui.scm:1049
 msgid "~:[~,1h MB will be downloaded:~%~{   ~a~%~}~;~]"
-msgstr ""
+msgstr "~:[~,1h MB kommer att hämtas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:932
+#: guix/ui.scm:1054
 #, scheme-format
 msgid "~:[The following file will be downloaded:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following files will be downloaded:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande fil kommer att hämtas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande filer kommer att hämtas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:938
+#: guix/ui.scm:1060
 #, scheme-format
 msgid "~:[The following graft will be made:~%~{   ~a~%~}~;~]"
 msgid_plural "~:[The following grafts will be made:~%~{   ~a~%~}~;~]"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "~:[Följande ympning kommer att göras:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande ympningar kommer att göras:~%~{   ~a~%~}~;~]"
+
+#: guix/ui.scm:1065
+#, scheme-format
+msgid "~:[The following profile hook will be built:~%~{   ~a~%~}~;~]"
+msgid_plural "~:[The following profile hooks will be built:~%~{   ~a~%~}~;~]"
+msgstr[0] "~:[Följande profilkrok kommer att byggas:~%~{   ~a~%~}~;~]"
+msgstr[1] "~:[Följande profilkrokar kommer att byggas:~%~{   ~a~%~}~;~]"
 
-#: guix/ui.scm:997
+#: guix/ui.scm:1124
 #, scheme-format
 msgid "The following package would be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be removed:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket skulle tas bort:~%~{~a~%~}~%"
+msgstr[1] "Följande paket skulle tas bort:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1002
+#: guix/ui.scm:1129
 #, scheme-format
 msgid "The following package will be removed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be removed:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket kommer att tas bort:~%~{~a~%~}~%"
+msgstr[1] "Följande paket kommer att tas bort:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1015
+#: guix/ui.scm:1142
 #, scheme-format
 msgid "The following package would be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be downgraded:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket skulle nedgraderas:~%~{~a~%~}~%"
+msgstr[1] "Följande paket skulle nedgraderas:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1020
+#: guix/ui.scm:1147
 #, scheme-format
 msgid "The following package will be downgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be downgraded:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket kommer att nedgraderas:~%~{~a~%~}~%"
+msgstr[1] "Följande paket kommer att nedgraderas:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1033
+#: guix/ui.scm:1160
 #, scheme-format
 msgid "The following package would be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket skulle uppgraderas:~%~{~a~%~}~%"
+msgstr[1] "Följande paket skulle uppgraderas:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1038
+#: guix/ui.scm:1165
 #, scheme-format
 msgid "The following package will be upgraded:~%~{~a~%~}~%"
 msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket kommer att uppgraderas:~%~{~a~%~}~%"
+msgstr[1] "Följande paket kommer att uppgraderas:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1049
+#: guix/ui.scm:1176
 #, scheme-format
 msgid "The following package would be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages would be installed:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket skulle installeras:~%~{~a~%~}~%"
+msgstr[1] "Följande paket skulle installeras:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1054
+#: guix/ui.scm:1181
 #, scheme-format
 msgid "The following package will be installed:~%~{~a~%~}~%"
 msgid_plural "The following packages will be installed:~%~{~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande paket kommer att installeras:~%~{~a~%~}~%"
+msgstr[1] "Följande paket kommer att installeras:~%~{~a~%~}~%"
 
-#: guix/ui.scm:1071
+#: guix/ui.scm:1198 guix/deprecation.scm:46
 msgid "<unknown location>"
-msgstr ""
+msgstr "<okänd plats>"
 
-#: guix/ui.scm:1436
+#: guix/ui.scm:1580
 #, scheme-format
 msgid "Generation ~a\t~a"
-msgstr ""
+msgstr "Generation ~a\t~a"
 
 #. TRANSLATORS: This is a format-string for date->string.
 #. Please choose a format that corresponds to the
 #. usual way of presenting dates in your locale.
 #. See https://www.gnu.org/software/guile/manual/html_node/SRFI_002d19-Date-to-string.html
 #. for details.
-#: guix/ui.scm:1445
+#: guix/ui.scm:1589
 #, scheme-format
 msgid "~b ~d ~Y ~T"
-msgstr ""
+msgstr "~d ~b ~Y ~T"
 
 #. TRANSLATORS: The word "current" here is an adjective for
 #. "Generation", as in "current generation".  Use the appropriate
 #. gender where applicable.
-#: guix/ui.scm:1451
+#: guix/ui.scm:1595
 #, scheme-format
 msgid "~a\t(current)~%"
-msgstr ""
+msgstr "~a\t(aktuell)~%"
 
-#: guix/ui.scm:1494
+#: guix/ui.scm:1638
 #, scheme-format
 msgid "switched from generation ~a to ~a~%"
-msgstr ""
+msgstr "växlade från generation ~a till ~a~%"
 
-#: guix/ui.scm:1510
+#: guix/ui.scm:1654
 #, scheme-format
 msgid "deleting ~a~%"
-msgstr ""
+msgstr "tar bort ~a~%"
 
-#: guix/ui.scm:1541
+#: guix/ui.scm:1685
 #, scheme-format
 msgid "Try `guix --help' for more information.~%"
-msgstr ""
+msgstr "Prova ”guix --help” för mer information.~%"
 
-#: guix/ui.scm:1569
+#: guix/ui.scm:1713
 msgid ""
 "Usage: guix COMMAND ARGS...\n"
 "Run COMMAND with ARGS.\n"
 msgstr ""
+"Användning: guix KOMMANDO ARGUMENT…\n"
+"Kör KOMMANDO med ARGUMENT.\n"
 
-#: guix/ui.scm:1572
+#: guix/ui.scm:1716
 msgid "COMMAND must be one of the sub-commands listed below:\n"
-msgstr ""
+msgstr "KOMMANDO måste vara ett av underkommandona som listas nedan:\n"
 
-#: guix/ui.scm:1592
+#: guix/ui.scm:1736
 #, scheme-format
 msgid "guix: ~a: command not found~%"
-msgstr ""
+msgstr "guix: ~a: kommando hittades inte~%"
 
-#: guix/ui.scm:1622
+#: guix/ui.scm:1766
 #, scheme-format
 msgid "guix: missing command name~%"
-msgstr ""
+msgstr "guix: saknar kommandonamn~%"
 
-#: guix/ui.scm:1630
+#: guix/ui.scm:1774
 #, scheme-format
 msgid "guix: unrecognized option '~a'~%"
-msgstr ""
+msgstr "guix: okänd flagga ”~a”~%"
+
+#. TRANSLATORS: The word "phase" here denotes a "build phase";
+#. "~a" is a placeholder for the untranslated name of the current
+#. build phase--e.g., 'configure' or 'build'.
+#: guix/status.scm:358
+#, scheme-format
+msgid "'~a' phase"
+msgstr "”~a”-fas"
+
+#: guix/status.scm:378
+msgid "building directory of Info manuals..."
+msgstr "bygger katalog av Info-manualer…"
+
+#: guix/status.scm:380
+msgid "building GHC package cache..."
+msgstr "bygger GHC-paketcache…"
+
+#: guix/status.scm:382
+msgid "building CA certificate bundle..."
+msgstr "bygger CA-certifikatsknippe…"
+
+#: guix/status.scm:384
+msgid "generating GLib schema cache..."
+msgstr "genererar GLib-schemacache…"
 
-#: guix/status.scm:335
+#: guix/status.scm:386
+msgid "creating GTK+ icon theme cache..."
+msgstr "skapar GTK+-ikontemacache…"
+
+#: guix/status.scm:388
+msgid "building cache files for GTK+ input methods..."
+msgstr "bygger cachefiler för GTK+-inmatningsmetoder…"
+
+#: guix/status.scm:390
+msgid "building XDG desktop file cache..."
+msgstr "bygger XDG-skrivbordsfilscache…"
+
+#: guix/status.scm:392
+msgid "building XDG MIME database..."
+msgstr "bygger XDG-MIME-databas…"
+
+#: guix/status.scm:394
+msgid "building fonts directory..."
+msgstr "bygger fontkatalog…"
+
+#: guix/status.scm:396
+msgid "building TeX Live configuration..."
+msgstr "bygger TeX Live-konfiguration…"
+
+#: guix/status.scm:398
+msgid "building database for manual pages..."
+msgstr "bygger databas för manualsidor…"
+
+#: guix/status.scm:400
+msgid "building package cache..."
+msgstr "bygger paket cache…"
+
+#: guix/status.scm:475
 #, scheme-format
 msgid "applying ~a graft for ~a..."
 msgid_plural "applying ~a grafts for ~a..."
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "tillämpar ~a ympning för ~a…"
+msgstr[1] "tillämpar ~a ympningar för ~a…"
+
+#: guix/status.scm:484
+#, scheme-format
+msgid "running profile hook of type '~a'..."
+msgstr "kör profilkrok av typ ”~a”…"
 
-#: guix/status.scm:340
+#: guix/status.scm:487
 #, scheme-format
 msgid "building ~a..."
-msgstr ""
+msgstr "bygger ~a…"
 
-#: guix/status.scm:344
+#: guix/status.scm:492
 #, scheme-format
 msgid "successfully built ~a"
-msgstr ""
+msgstr "byggde ~a framgångsrikt"
 
-#: guix/status.scm:350
+#: guix/status.scm:498
 #, scheme-format
 msgid "The following build is still in progress:~%~{  ~a~%~}~%"
 msgid_plural "The following builds are still in progress:~%~{  ~a~%~}~%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Följande bygge pågår fortfarande:~%~{  ~a~%~}~%"
+msgstr[1] "Följande byggen pågår fortfarande:~%~{  ~a~%~}~%"
 
-#: guix/status.scm:355
+#: guix/status.scm:504
 #, scheme-format
 msgid "build of ~a failed"
-msgstr ""
+msgstr "bygge av ~a misslyckades"
 
-#: guix/status.scm:359
+#: guix/status.scm:508
 #, scheme-format
 msgid "Could not find build log for '~a'."
-msgstr ""
+msgstr "Kunde inte hitta bygglogg för ”~a”."
 
-#: guix/status.scm:362
+#: guix/status.scm:511
 #, scheme-format
 msgid "View build log at '~a'."
-msgstr ""
+msgstr "Granska bygglogg vid ”~a”."
 
-#: guix/status.scm:366
+#: guix/status.scm:516
 #, scheme-format
 msgid "substituting ~a..."
-msgstr ""
+msgstr "ersätter ~a…"
 
-#: guix/status.scm:369
+#: guix/status.scm:520
 #, scheme-format
 msgid "downloading from ~a..."
-msgstr ""
+msgstr "hämtar från ~a…"
 
-#: guix/status.scm:394
+#: guix/status.scm:545
 #, scheme-format
 msgid "substitution of ~a complete"
-msgstr ""
+msgstr "ersättning av ~a färdigställd"
 
-#: guix/status.scm:397
+#: guix/status.scm:548
 #, scheme-format
 msgid "substitution of ~a failed"
-msgstr ""
+msgstr "ersättning av ~a misslyckades"
 
 #. TRANSLATORS: The final string looks like "sha256 hash mismatch for
 #. /gnu/store/…-sth:", where "sha256" is the hash algorithm.
-#: guix/status.scm:402
+#: guix/status.scm:553
 #, scheme-format
 msgid "~a hash mismatch for ~a:"
-msgstr ""
+msgstr "~a hash stämmer inte för ~a:"
 
-#: guix/status.scm:404
+#: guix/status.scm:555
 #, scheme-format
 msgid ""
 "  expected hash: ~a\n"
 "  actual hash:   ~a~%"
 msgstr ""
+"  förväntade hash: ~a\n"
+"  faktisk hash:  ~a~%"
 
-#: guix/status.scm:409
+#: guix/status.scm:560
 #, scheme-format
 msgid "offloading build of ~a to '~a'"
-msgstr ""
+msgstr "avlastning av bygge av ~a till ”~a”"
 
 #: guix/http-client.scm:117
 #, scheme-format
 msgid "following redirection to `~a'...~%"
-msgstr ""
+msgstr "följer omdirigering till ”~a”…~%"
 
 #: guix/http-client.scm:129
 #, scheme-format
 msgid "~a: HTTP download failed: ~a (~s)"
-msgstr ""
+msgstr "~a: HTTP-hämtning misslyckades: ~a (~s)"
 
 #: guix/nar.scm:157
 msgid "signature is not a valid s-expression"
-msgstr ""
+msgstr "signatur är inte ett giltig s-uttryck"
 
 #: guix/nar.scm:166
 msgid "invalid signature"
-msgstr ""
+msgstr "ogiltig signatur"
 
 #: guix/nar.scm:170
 msgid "invalid hash"
-msgstr ""
+msgstr "ogiltig hash"
 
 #: guix/nar.scm:178
 msgid "unauthorized public key"
-msgstr ""
+msgstr "icke auktoriserad publik nyckel"
 
 #: guix/nar.scm:183
 msgid "corrupt signature data"
-msgstr ""
+msgstr "korrupt signaturdata"
 
 #: guix/nar.scm:203
 msgid "corrupt file set archive"
-msgstr ""
+msgstr "korrupt filuppsättningsarkiv"
 
 #: guix/nar.scm:213
 #, scheme-format
 msgid "importing file or directory '~a'...~%"
-msgstr ""
+msgstr "importerar fil eller katalog ”~a”…~%"
 
 #: guix/nar.scm:224
 #, scheme-format
 msgid "found valid signature for '~a'~%"
-msgstr ""
+msgstr "hittade giltig signatur för ”~a”~%"
 
 #: guix/nar.scm:231
 msgid "imported file lacks a signature"
-msgstr ""
+msgstr "importerad fil saknar en signatur"
 
 #: guix/nar.scm:270
 msgid "invalid inter-file archive mark"
-msgstr ""
+msgstr "ogiltig arkivmarkör mellan filer"
 
-#: guix/channels.scm:108
+#: guix/channels.scm:177
 #, scheme-format
 msgid "Updating channel '~a' from Git repository at '~a'...~%"
-msgstr ""
+msgstr "Uppdaterar kanal ”~a” från ett Git-arkiv vid ”~a”…~%"
+
+#: guix/channels.scm:366
+msgid "'guix' channel is lacking"
+msgstr "”guix”-kanal saknas"
 
-#: guix/profiles.scm:501
+#: guix/profiles.scm:511
 msgid "unsupported manifest format"
-msgstr ""
+msgstr "manifestformat stöds inte"
 
-#: guix/profiles.scm:1630
+#: guix/profiles.scm:1748
 #, scheme-format
 msgid "while creating directory `~a': ~a"
-msgstr ""
+msgstr "vid skapande av katalog ”~a”: ~a"
 
-#: guix/profiles.scm:1635
+#: guix/profiles.scm:1753
 #, scheme-format
 msgid "Please create the @file{~a} directory, with you as the owner."
-msgstr ""
+msgstr "Skapa katalogen @file{~a}, med dig själv som ägare."
 
-#: guix/profiles.scm:1644
+#: guix/profiles.scm:1762
 #, scheme-format
 msgid "directory `~a' is not owned by you"
-msgstr ""
+msgstr "katalog ”~a” ägs inte av dig"
 
-#: guix/profiles.scm:1648
+#: guix/profiles.scm:1766
 #, scheme-format
 msgid "Please change the owner of @file{~a} to user ~s."
-msgstr ""
+msgstr "Ändra ägare av @file{~a} till användare ~s."
+
+#: guix/git.scm:159
+msgid "long Git object ID is required"
+msgstr "långt Git-objekts-ID krävs"
+
+#: guix/git.scm:192
+#, scheme-format
+msgid "updating submodule '~a'...~%"
+msgstr "uppdaterar undermodul ”~a”…~%"
+
+#: guix/git.scm:205
+#, scheme-format
+msgid "Support for submodules is missing; please upgrade Guile-Git.~%"
+msgstr "Stöd för undermoduler saknas; uppgradera Guile-Git.~%"
+
+#: guix/git.scm:344
+#, scheme-format
+msgid "cannot fetch commit ~a from ~a: ~a"
+msgstr "kan inte hämta incheckning ~a från ~a: ~a"
+
+#: guix/git.scm:347
+#, scheme-format
+msgid "cannot fetch branch '~a' from ~a: ~a"
+msgstr "kan inte hämta gren ”~a” från ~a: ~a"
+
+#: guix/git.scm:350
+#, scheme-format
+msgid "Git failure while fetching ~a: ~a"
+msgstr "Git-fel vid hämtning av ~a: ~a"
+
+#: guix/deprecation.scm:51
+#, scheme-format
+msgid "~a: warning: '~a' is deprecated~@[, use '~a' instead~]~%"
+msgstr "~a: varning: ”~a” är föråldrat~@[, använd ”~a” istället~]~%"
+
+#: gnu/build/bootloader.scm:91
+#, scheme-format
+msgid "'~a~{ ~a~}' exited with status ~a; output follows:~%~%~{  ~a~%~}"
+msgstr "”~a~{ ~a~}” avslutades med status ~a; utmatning följer:~%~%~{  ~a~%~}"
 
 #: nix/nix-daemon/guix-daemon.cc:66
 msgid "guix-daemon -- perform derivation builds and store accesses"
-msgstr ""
+msgstr "guix-daemon — utför härledningsbyggen och lagra åtkomster"
 
 #: nix/nix-daemon/guix-daemon.cc:68
 msgid "This program is a daemon meant to run in the background.  It serves requests sent over a Unix-domain socket.  It accesses the store, and builds derivations on behalf of its clients."
-msgstr ""
+msgstr "Detta program är en demon som är tänkt att köra i bakgrunden. Den betjänar begäran skickade över ett Unix-domänuttag. Å sina klienters vägnar ansluter det till arkivet och bygger härledningar."
 
 #: nix/nix-daemon/guix-daemon.cc:95
 msgid "SYSTEM"
-msgstr ""
+msgstr "SYSTEM"
 
 #: nix/nix-daemon/guix-daemon.cc:96
 msgid "assume SYSTEM as the current system type"
-msgstr ""
+msgstr "anta att SYSTEM är samma som aktuell systemtyp"
 
 #: nix/nix-daemon/guix-daemon.cc:97 nix/nix-daemon/guix-daemon.cc:100
 msgid "N"
-msgstr ""
+msgstr "N"
 
 #: nix/nix-daemon/guix-daemon.cc:98
 msgid "use N CPU cores to build each derivation; 0 means as many as available"
-msgstr ""
+msgstr "använd N CPU-kärnor för att bygga varje härledning; 0 innebär så många som tillgänliga"
 
 #: nix/nix-daemon/guix-daemon.cc:101
 msgid "allow at most N build jobs"
-msgstr ""
+msgstr "tillåt som mest N byggjobb"
 
 #: nix/nix-daemon/guix-daemon.cc:102 nix/nix-daemon/guix-daemon.cc:104
 msgid "SECONDS"
-msgstr ""
+msgstr "SEKUNDER"
 
 #: nix/nix-daemon/guix-daemon.cc:103
 msgid "mark builds as failed after SECONDS of activity"
-msgstr ""
+msgstr "markera byggen som misslyckades aktivitet under antal SEKUNDER"
 
 #: nix/nix-daemon/guix-daemon.cc:105
 msgid "mark builds as failed after SECONDS of silence"
-msgstr ""
+msgstr "markera byggen som misslyckades efter tystnad under antal SEKUNDER"
 
 #: nix/nix-daemon/guix-daemon.cc:107
 msgid "disable chroot builds"
-msgstr ""
+msgstr "inaktivera chroot-byggen"
 
 #: nix/nix-daemon/guix-daemon.cc:108
 msgid "DIR"
-msgstr ""
+msgstr "KAT"
 
 #: nix/nix-daemon/guix-daemon.cc:109
 msgid "add DIR to the build chroot"
-msgstr ""
+msgstr "lägg till KAT till bygg-chroot"
 
 #: nix/nix-daemon/guix-daemon.cc:110
 msgid "GROUP"
-msgstr ""
+msgstr "GRUPP"
 
 #: nix/nix-daemon/guix-daemon.cc:111
 msgid "perform builds as a user of GROUP"
-msgstr ""
+msgstr "utför byggen som en användare i GRUPP"
 
 #: nix/nix-daemon/guix-daemon.cc:113
 msgid "do not use substitutes"
-msgstr ""
+msgstr "använd inte ersättningar"
 
 #: nix/nix-daemon/guix-daemon.cc:114
 msgid "URLS"
-msgstr ""
+msgstr "URLER"
 
 #: nix/nix-daemon/guix-daemon.cc:115
 msgid "use URLS as the default list of substitute providers"
-msgstr ""
+msgstr "använd URLER som standardlistan av ersättningsleverantörer"
 
 #: nix/nix-daemon/guix-daemon.cc:117
 msgid "do not use the 'build hook'"
-msgstr ""
+msgstr "använd inte ”byggkroken”"
 
 #: nix/nix-daemon/guix-daemon.cc:119
 msgid "cache build failures"
-msgstr ""
+msgstr "cacha byggfel"
 
 #: nix/nix-daemon/guix-daemon.cc:121
 msgid "build each derivation N times in a row"
-msgstr ""
+msgstr "bygg varje härledning N gånger i rad"
 
 #: nix/nix-daemon/guix-daemon.cc:123
 msgid "do not keep build logs"
-msgstr ""
+msgstr "behåll inte byggloggar"
 
 #: nix/nix-daemon/guix-daemon.cc:126
 msgid "disable compression of the build logs"
-msgstr ""
+msgstr "inaktivera komprimering av byggloggarna"
 
 #: nix/nix-daemon/guix-daemon.cc:128
 msgid "use the specified compression type for build logs"
-msgstr ""
+msgstr "använd den angivna komprimeringstypen för byggloggar"
 
 #: nix/nix-daemon/guix-daemon.cc:133
 msgid "disable automatic file \"deduplication\" in the store"
-msgstr ""
+msgstr "inaktiva automatisk ”fildeduplicering” för arkivet"
 
 #: nix/nix-daemon/guix-daemon.cc:143
 msgid "impersonate Linux 2.6"
-msgstr ""
+msgstr "imitera Linux 2.6"
 
 #: nix/nix-daemon/guix-daemon.cc:147
 msgid "tell whether the GC must keep outputs of live derivations"
-msgstr ""
+msgstr "berätta huruvida GC måste behålla utmatningar för live-härledningar"
 
 #: nix/nix-daemon/guix-daemon.cc:150
 msgid "tell whether the GC must keep derivations corresponding to live outputs"
-msgstr ""
+msgstr "berätta huruvida GC måste behålla härledningar som motsvarar live-utmatningar"
 
 #: nix/nix-daemon/guix-daemon.cc:153
 msgid "SOCKET"
-msgstr ""
+msgstr "UTTAG"
 
 #: nix/nix-daemon/guix-daemon.cc:154
 msgid "listen for connections on SOCKET"
-msgstr ""
+msgstr "lyssna efter anslutningar på UTTAG"
 
 #: nix/nix-daemon/guix-daemon.cc:156
 msgid "produce debugging output"
-msgstr ""
+msgstr "producera felsökningsutmatning"
+
+#~ msgid ""
+#~ "Consider running @command{guix gc} to free\n"
+#~ "space."
+#~ msgstr ""
+#~ "Överväg att köra @command{guix gc} för att\n"
+#~ "frigöra utrymme."
diff --git a/tests/accounts.scm b/tests/accounts.scm
index 673dd42432..78136390bb 100644
--- a/tests/accounts.scm
+++ b/tests/accounts.scm
@@ -62,6 +62,25 @@ nobody:!:0::::::\n"))
                            (shell "/bin/sh")))
                     port))))
 
+(test-equal "write-passwd with duplicate entry"
+  %passwd-sample
+  (call-with-output-string
+    (lambda (port)
+      (let ((charlie (password-entry
+                      (name "charlie")
+                      (uid 1000) (gid 998)
+                      (real-name "Charlie")
+                      (directory "/home/charlie")
+                      (shell "/bin/sh"))))
+        (write-passwd (list (password-entry
+                             (name "root")
+                             (uid 0) (gid 0)
+                             (real-name "Admin")
+                             (directory "/root")
+                             (shell "/bin/sh"))
+                            charlie charlie)
+                      port)))))
+
 (test-equal "read-passwd + write-passwd"
   %passwd-sample
   (call-with-output-string
diff --git a/tests/guix-pack-relocatable.sh b/tests/guix-pack-relocatable.sh
index ebada62c01..e93610eedc 100644
--- a/tests/guix-pack-relocatable.sh
+++ b/tests/guix-pack-relocatable.sh
@@ -78,3 +78,9 @@ else
     "$test_directory/Bin/sed" --version > "$test_directory/output"
 fi
 grep 'GNU sed' "$test_directory/output"
+chmod -Rf +w "$test_directory"; rm -rf "$test_directory"/*
+
+# Ensure '-R' works with outputs other than "out".
+tarball="`guix pack -R -S /share=share groff:doc`"
+(cd "$test_directory"; tar xvf "$tarball")
+test -d "$test_directory/share/doc/groff/html"
diff --git a/tests/pack.scm b/tests/pack.scm
index ea88cd89f2..71ff5aec18 100644
--- a/tests/pack.scm
+++ b/tests/pack.scm
@@ -169,6 +169,7 @@
                          (when
                           (and (file-exists? (string-append bin "/guile"))
                                (file-exists? "var/guix/db/db.sqlite")
+                               (file-is-directory? "tmp")
                                (string=? (string-append #$%bootstrap-guile "/bin")
                                          (pk 'binlink (readlink bin)))
                                (string=? (string-append #$profile "/bin/guile")