summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-26 13:48:06 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-26 13:48:06 +0200
commitf589cbc4dc4119e3501a0c20822e72cf841d08f3 (patch)
tree776e10b00c08deb9b5baef64050d512d97468cb8
parent0e72d49ef7cb7463012704b3d107fe38b085a562 (diff)
parent2b829898c77c4f5655db6f70de2b3a51e8f35947 (diff)
downloadguix-f589cbc4dc4119e3501a0c20822e72cf841d08f3.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--doc/guix-cookbook.texi40
-rw-r--r--doc/guix.texi127
-rw-r--r--etc/news.scm20
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm48
-rw-r--r--gnu/packages/bootloaders.scm7
-rw-r--r--gnu/packages/calcurse.scm2
-rw-r--r--gnu/packages/check.scm13
-rw-r--r--gnu/packages/chemistry.scm8
-rw-r--r--gnu/packages/compression.scm37
-rw-r--r--gnu/packages/dns.scm57
-rw-r--r--gnu/packages/elixir.scm4
-rw-r--r--gnu/packages/finance.scm4
-rw-r--r--gnu/packages/firmware.scm6
-rw-r--r--gnu/packages/fontutils.scm4
-rw-r--r--gnu/packages/glib.scm6
-rw-r--r--gnu/packages/linux.scm24
-rw-r--r--gnu/packages/lisp-xyz.scm51
-rw-r--r--gnu/packages/lxde.scm50
-rw-r--r--gnu/packages/mail.scm33
-rw-r--r--gnu/packages/nim.scm2
-rw-r--r--gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch82
-rw-r--r--gnu/packages/pdf.scm42
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/pulseaudio.scm6
-rw-r--r--gnu/packages/python-web.scm17
-rw-r--r--gnu/packages/python-xyz.scm22
-rw-r--r--gnu/packages/tex.scm2
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/wm.scm30
-rw-r--r--gnu/system/vm.scm2
32 files changed, 514 insertions, 245 deletions
diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi
index 5d126acd3d..82700a48ad 100644
--- a/doc/guix-cookbook.texi
+++ b/doc/guix-cookbook.texi
@@ -581,7 +581,7 @@ packages.
 Guix makes it possible to streamline the process by adding as many ``package
 declaration directories'' as you want.
 
-Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
+Create a directory, say @file{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
 environment variable:
 
 @example
@@ -851,7 +851,7 @@ version when packaging programs for a specific commit.
 @subsubsection Snippets
 
 Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching
-the source.  They are a Guix-y alternative to the traditional @samp{.patch} files.
+the source.  They are a Guix-y alternative to the traditional @file{.patch} files.
 Because of the quote, the code in only evaluated when passed to the Guix daemon
 for building.  There can be as many snippets as needed.
 
@@ -955,7 +955,7 @@ $ make CC=gcc prefix=/gnu/store/...-<out>
 This sets the C compiler to @code{gcc} and the @code{prefix} variable (the installation
 directory in Make parlance) to @code{(assoc-ref %outputs "out")}, which is a build-stage
 global variable pointing to the destination directory in the store (something like
-@samp{/gnu/store/...-my-libgit2-20180408}).
+@file{/gnu/store/...-my-libgit2-20180408}).
 
 Similarly, it's possible to set the configure flags:
 
@@ -1080,7 +1080,7 @@ mechanism of passing code around two running processes is called @uref{https://a
 @subsubsection Utility functions
 
 When customizing @code{phases}, we often need to write code that mimics the
-equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during
+equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: commonly used during
 regular ``Unix-style'' installations.
 
 Some like @code{chmod} are native to Guile.
@@ -1576,7 +1576,7 @@ available for inclusion into the initrd.
 
 You could install StumpWM with a Guix system by adding
 @code{stumpwm-checkout} and optionally @code{`(,stumpwm-checkout "lib")}
-packages to a system configuration file, e.g. @file{/etc/config.scm}.
+packages to a system configuration file, e.g.@: @file{/etc/config.scm}.
 
 An example configuration can look like this:
 
@@ -1620,10 +1620,10 @@ Then you need to add the following code to a StumpWM configuration file
 @section Setting up a bind mount
 
 To bind mount a file system, one must first set up some definitions
-before the @code{operating-system} section of the system definition. In
+before the @code{operating-system} section of the system definition.  In
 this example we will bind mount a folder from a spinning disk drive to
-@code{/tmp}, to save wear and tear on the primary SSD, without
-dedicating an entire partition to be mounted as @code{/tmp}.
+@file{/tmp}, to save wear and tear on the primary SSD, without
+dedicating an entire partition to be mounted as @file{/tmp}.
 
 First, the source drive that hosts the folder we wish to bind mount
 should be defined, so that the bind mount can depend on it.
@@ -1791,8 +1791,8 @@ where we will store our profiles in the rest of this article.
 
 Placing all your profiles in a single directory, with each profile getting its
 own sub-directory, is somewhat cleaner.  This way, each sub-directory will
-contain all the symlinks for precisely one profile.  Besides, "looping over
-profiles" becomes obvious from any programming language (e.g. a shell script) by
+contain all the symlinks for precisely one profile.  Besides, ``looping over
+profiles'' becomes obvious from any programming language (e.g.@: a shell script) by
 simply looping over the sub-directories of @samp{$GUIX_EXTRA_PROFILES}.
 
 Note that it's also possible to loop over the output of
@@ -1801,9 +1801,9 @@ Note that it's also possible to loop over the output of
 guix package --list-profiles
 @end example
 
-although you'll probably have to filter out @samp{~/.config/guix/current}.
+although you'll probably have to filter out @file{~/.config/guix/current}.
 
-To enable all profiles on login, add this to your @samp{~/.bash_profile} (or similar):
+To enable all profiles on login, add this to your @file{~/.bash_profile} (or similar):
 
 @example
 for i in $GUIX_EXTRA_PROFILES/*; do
@@ -1817,8 +1817,8 @@ done
 @end example
 
 Note to Guix System users: the above reflects how your default profile
-@samp{~/.guix-profile} is activated from @samp{/etc/profile}, that latter being loaded by
-@samp{~/.bashrc} by default.
+@file{~/.guix-profile} is activated from @file{/etc/profile}, that latter being loaded by
+@file{~/.bashrc} by default.
 
 You can obviously choose to only enable a subset of them:
 
@@ -1861,8 +1861,8 @@ guix package -m /path/to/guix-my-project-manifest.scm -p "$GUIX_EXTRA_PROFILES"/
 
 To upgrade all profiles, it's easy enough to loop over them.  For instance,
 assuming your manifest specifications are stored in
-@samp{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
-of the profile (e.g. "project1"), you could do the following in Bourne shell:
+@file{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
+of the profile (e.g.@: "project1"), you could do the following in Bourne shell:
 
 @example
 for profile in "$GUIX_EXTRA_PROFILES"/*; do
@@ -1921,12 +1921,12 @@ The same is true for @samp{INFOPATH} (you can install @samp{info-reader}),
 @node Default profile
 @subsection Default profile
 
-What about the default profile that Guix keeps in @samp{~/.guix-profile}?
+What about the default profile that Guix keeps in @file{~/.guix-profile}?
 
 You can assign it the role you want.  Typically you would install the manifest
 of the packages you want to use all the time.
 
-Alternatively, you could keep it "manifest-less" for throw-away packages
+Alternatively, you could keep it ``manifest-less'' for throw-away packages
 that you would just use for a couple of days.
 This way makes it convenient to run
 
@@ -1957,7 +1957,7 @@ Manifests come with multiple benefits.  In particular, they ease maintenance:
 @itemize
 @item
 When a profile is set up from a manifest, the manifest itself is
-self-sufficient to keep a "package listing" around and reinstall the profile
+self-sufficient to keep a ``package listing'' around and reinstall the profile
 later or on a different system.  For ad-hoc profiles, we would need to
 generate a manifest specification manually and maintain the package versions
 for the packages that don't use the default version.
@@ -1994,7 +1994,7 @@ They can be manipulated in Scheme and passed to the various Guix @uref{https://e
 
 It's important to understand that while manifests can be used to declare
 profiles, they are not strictly equivalent: profiles have the side effect that
-they "pin" packages in the store, which prevents them from being
+they ``pin'' packages in the store, which prevents them from being
 garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual})
 and ensures that they will still be available at any point in
 the future.
diff --git a/doc/guix.texi b/doc/guix.texi
index 19094c4b70..6613a4af13 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6099,8 +6099,8 @@ implements a build procedure for Android NDK (native development kit)
 packages using a Guix-specific build process.
 
 The build system assumes that packages install their public interface
-(header) files to the subdirectory "include" of the "out" output and
-their libraries to the subdirectory "lib" of the "out" output.
+(header) files to the subdirectory @file{include} of the @code{out} output and
+their libraries to the subdirectory @file{lib} the @code{out} output.
 
 It's also assumed that the union of all the dependencies of a package
 has no conflicting files.
@@ -6802,8 +6802,8 @@ kernel module.
 @end table
 
 It is possible and useful to specify the Linux kernel to use for building
-the module (in the "arguments" form of a package using the
-linux-module-build-system, use the key #:linux to specify it).
+the module (in the @code{arguments} form of a package using the
+@code{linux-module-build-system}, use the key @code{#:linux} to specify it).
 @end defvr
 
 @defvr {Scheme Variable} node-build-system
@@ -12427,7 +12427,7 @@ man page for more information.
 
 @item @code{tty}
 The name of the console this agetty runs on, as a string---e.g.,
-@code{"ttyS0"}. This argument is optional, it will default to
+@code{"ttyS0"}.  This argument is optional, it will default to
 a reasonable default serial port used by the kernel Linux.
 
 For this, if there is a value for an option @code{agetty.tty} in the kernel
@@ -12462,7 +12462,7 @@ in automatically without prompting for their login name or password.
 When @code{#t}, don't reset terminal cflags (control modes).
 
 @item @code{host} (default: @code{#f})
-This accepts a string containing the "login_host", which will be written
+This accepts a string containing the ``login_host'', which will be written
 into the @file{/var/run/utmpx} file.
 
 @item @code{remote?} (default: @code{#f})
@@ -12568,8 +12568,8 @@ This option accepts a string of additional characters that should be
 interpreted as backspace when the user types their login name.
 
 @item @code{kill-characters} (default: @code{#f})
-This option accepts a string that should be interpreted to mean "ignore
-all previous characters" (also called a "kill" character) when the user
+This option accepts a string that should be interpreted to mean ``ignore
+all previous characters'' (also called a ``kill'' character) when the user
 types their login name.
 
 @item @code{chdir} (default: @code{#f})
@@ -12585,7 +12585,7 @@ This option accepts, as an integer, the nice value with which to run the
 @command{login} program.
 
 @item @code{extra-options} (default: @code{'()})
-This option provides an "escape hatch" for the user to provide arbitrary
+This option provides an ``escape hatch'' for the user to provide arbitrary
 command-line arguments to @command{agetty} as a list of strings.
 
 @end table
@@ -14691,15 +14691,15 @@ The default SLiM theme and its name.
 
 
 @deftp {Data Type} sddm-configuration
-This is the data type representing the sddm service configuration.
+This is the data type representing the SDDM service configuration.
 
 @table @asis
 @item @code{display-server} (default: "x11")
-Select display server to use for the greeter. Valid values are "x11"
-or "wayland".
+Select display server to use for the greeter.  Valid values are
+@samp{"x11"} or @samp{"wayland"}.
 
 @item @code{numlock} (default: "on")
-Valid values are "on", "off" or "none".
+Valid values are @samp{"on"}, @samp{"off"} or @samp{"none"}.
 
 @item @code{halt-command} (default @code{#~(string-apppend #$shepherd "/sbin/halt")})
 Command to run when halting.
@@ -14708,7 +14708,8 @@ Command to run when halting.
 Command to run when rebooting.
 
 @item @code{theme} (default "maldives")
-Theme to use. Default themes provided by SDDM are "elarun", "maldives" or "maya".
+Theme to use.  Default themes provided by SDDM are @samp{"elarun"},
+@samp{"maldives"} or @samp{"maya"}.
 
 @item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes")
 Directory to look for themes.
@@ -15196,9 +15197,9 @@ Defaults to @samp{#f}.
 
 @deftypevr {@code{cups-configuration} parameter} string classification
 Specifies the security classification of the server.  Any valid banner
-name can be used, including "classified", "confidential", "secret",
-"topsecret", and "unclassified", or the banner can be omitted to disable
-secure printing functions.
+name can be used, including @samp{"classified"}, @samp{"confidential"},
+@samp{"secret"}, @samp{"topsecret"}, and @samp{"unclassified"}, or the
+banner can be omitted to disable secure printing functions.
 
 Defaults to @samp{""}.
 @end deftypevr
@@ -15400,7 +15401,7 @@ Defaults to @samp{()}.
 
 @deftypevr {@code{method-access-controls} parameter} access-control-list access-controls
 Access control directives, as a list of strings.  Each string should be
-one directive, such as "Order allow,deny".
+one directive, such as @samp{"Order allow,deny"}.
 
 Defaults to @samp{()}.
 @end deftypevr
@@ -15481,7 +15482,7 @@ Defaults to @samp{0}.
 
 @deftypevr {@code{cups-configuration} parameter} non-negative-integer max-job-time
 Specifies the maximum time a job may take to print before it is
-canceled, in seconds.  Set to 0 to disable cancellation of "stuck" jobs.
+canceled, in seconds.  Set to 0 to disable cancellation of ``stuck'' jobs.
 
 Defaults to @samp{10800}.
 @end deftypevr
@@ -17216,12 +17217,12 @@ if the user doesn't yet have any mail, so you should explicitly tell
 Dovecot the full location.
 
 If you're using mbox, giving a path to the INBOX
-file (e.g.@: /var/mail/%u) isn't enough.  You'll also need to tell Dovecot
-where the other mailboxes are kept.  This is called the "root mail
-directory", and it must be the first path given in the
+file (e.g.@: @file{/var/mail/%u}) isn't enough.  You'll also need to tell Dovecot
+where the other mailboxes are kept.  This is called the @emph{root mail
+directory}, and it must be the first path given in the
 @samp{mail-location} setting.
 
-There are a few special variables you can use, eg.:
+There are a few special variables you can use, e.g.:
 
 @table @samp
 @item %u
@@ -17258,31 +17259,31 @@ Defaults to @samp{""}.
 @deftypevr {@code{dovecot-configuration} parameter} string mail-privileged-group
 Group to enable temporarily for privileged operations.  Currently
 this is used only with INBOX when either its initial creation or
-dotlocking fails.  Typically this is set to "mail" to give access to
-/var/mail.
+dotlocking fails.  Typically this is set to @samp{"mail"} to give access to
+@file{/var/mail}.
 Defaults to @samp{""}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} string mail-access-groups
 Grant access to these supplementary groups for mail processes.
 Typically these are used to set up access to shared mailboxes.  Note
-that it may be dangerous to set these if users can create
-symlinks (e.g.@: if "mail" group is set here, ln -s /var/mail ~/mail/var
-could allow a user to delete others' mailboxes, or ln -s
-/secret/shared/box ~/mail/mybox would allow reading it).
-Defaults to @samp{""}.
+that it may be dangerous to set these if users can create symlinks
+(e.g.@: if @samp{mail} group is set here, @code{ln -s /var/mail ~/mail/var}
+could allow a user to delete others' mailboxes, or @code{ln -s
+/secret/shared/box ~/mail/mybox} would allow reading it).  Defaults to
+@samp{""}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
 Allow full file system access to clients.  There's no access checks
 other than what the operating system does for the active UID/GID.  It
 works with both maildir and mboxes, allowing you to prefix mailboxes
-names with e.g.@: /path/ or ~user/.
+names with e.g.@: @file{/path/} or @file{~user/}.
 Defaults to @samp{#f}.
 @end deftypevr
 
 @deftypevr {@code{dovecot-configuration} parameter} boolean mmap-disable?
-Don't use mmap() at all.  This is required if you store indexes to
+Don't use @code{mmap()} at all.  This is required if you store indexes to
 shared file systems (NFS or clustered file system).
 Defaults to @samp{#f}.
 @end deftypevr
@@ -17300,7 +17301,7 @@ When to use fsync() or fdatasync() calls:
 @item optimized
 Whenever necessary to avoid losing important data
 @item always
-Useful with e.g.@: NFS when write()s are delayed
+Useful with e.g.@: NFS when @code{write()}s are delayed
 @item never
 Never use it (best performance, but crashes can lose data).
 @end table
@@ -17367,10 +17368,10 @@ Defaults to @samp{50}.
 
 @deftypevr {@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs
 List of directories under which chrooting is allowed for mail
-processes (i.e.@: /var/mail will allow chrooting to /var/mail/foo/bar
+processes (i.e.@: @file{/var/mail} will allow chrooting to @file{/var/mail/foo/bar}
 too).  This setting doesn't affect @samp{login-chroot}
 @samp{mail-chroot} or auth chroot settings.  If this setting is empty,
-"/./" in home dirs are ignored.  WARNING: Never add directories here
+@samp{/./} in home dirs are ignored.  WARNING: Never add directories here
 which local users can modify, that may lead to root exploit.  Usually
 this should be done only if you don't allow shell access for users.
 <doc/wiki/Chrooting.txt>.
@@ -17379,11 +17380,11 @@ Defaults to @samp{()}.
 
 @deftypevr {@code{dovecot-configuration} parameter} string mail-chroot
 Default chroot directory for mail processes.  This can be overridden
-for specific users in user database by giving /./ in user's home
-directory (e.g.@: /home/./user chroots into /home).  Note that usually
+for specific users in user database by giving @samp{/./} in user's home
+directory (e.g.@: @samp{/home/./user} chroots into @file{/home}).  Note that usually
 there is no real need to do chrooting, Dovecot doesn't allow users to
 access files outside their mail directory anyway.  If your home
-directories are prefixed with the chroot directory, append "/."@: to
+directories are prefixed with the chroot directory, append @samp{/.} to
 @samp{mail-chroot}.  <doc/wiki/Chrooting.txt>.
 Defaults to @samp{""}.
 @end deftypevr
@@ -18490,7 +18491,7 @@ Curve for Elliptic curve Diffie-Hellman. Prosody's default is
 @end deftypevr
 
 @deftypevr {@code{ssl-configuration} parameter} maybe-string-list verifyext
-A list of "extra" verification options.
+A list of ``extra'' verification options.
 @end deftypevr
 
 @deftypevr {@code{ssl-configuration} parameter} maybe-string password
@@ -18578,7 +18579,7 @@ 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.
 
-Note: the name "virtual" host is used in configuration to avoid confusion with
+Note: the name @emph{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
@@ -18624,7 +18625,7 @@ Multi-user chat (MUC) is Prosody's module for allowing you to create
 hosted chatrooms/conferences for XMPP users.
 
 General information on setting up and using multi-user chatrooms can be found
-in the "Chatrooms" documentation (@url{https://prosody.im/doc/chatrooms}),
+in the ``Chatrooms'' documentation (@url{https://prosody.im/doc/chatrooms}),
 which you should read if you are new to XMPP chatrooms.
 
 See also @url{https://prosody.im/doc/modules/mod_muc}.
@@ -19699,11 +19700,12 @@ Defaults to @samp{"nslcd"}.
 
 @deftypevr {@code{nslcd-configuration} parameter} log-option log
 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.
+SCHEME and LEVEL.  The SCHEME argument may either be the symbols
+@samp{none} or @samp{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: @samp{crit}, @samp{error}, @samp{warning},
+@samp{notice}, @samp{info} or @samp{debug}.  All messages with the
+specified log level or higher are logged.
 
 Defaults to @samp{("/var/log/nslcd" info)}.
 
@@ -23585,7 +23587,7 @@ Defaults to @samp{()}.
 
 @deftypevr {@code{libvirt-configuration} parameter} string tls-priority
 Override the compile time default TLS priority string.  The default is
-usually "NORMAL" unless overridden at build time.  Only set this is it
+usually @samp{"NORMAL"} unless overridden at build time.  Only set this is it
 is desired for libvirt to deviate from the global default settings.
 
 Defaults to @samp{"NORMAL"}.
@@ -23719,11 +23721,12 @@ x:+name
 
 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:
+file, e.g., @samp{"remote"}, @samp{"qemu"}, or @samp{"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 @samp{"+"}
+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:
 
 @itemize @bullet
 @item
@@ -24141,7 +24144,7 @@ expose repositories over the Git protocol for anonymous access.
 The optional @var{config} argument should be a
 @code{<git-daemon-configuration>} object, by default it allows read-only
 access to exported@footnote{By creating the magic file
-"git-daemon-export-ok" in the repository directory.} repositories under
+@file{git-daemon-export-ok} in the repository directory.} repositories under
 @file{/srv/git}.
 
 @end deffn
@@ -24808,7 +24811,7 @@ Defaults to @samp{"a fast webinterface for the git dscm"}.
 
 @deftypevr {@code{cgit-configuration} parameter} string root-readme
 The content of the file specified with this option will be included
-verbatim below the "about" link on the repository index page.
+verbatim below the ``about'' link on the repository index page.
 
 Defaults to @samp{""}.
 
@@ -24825,8 +24828,8 @@ Defaults to @samp{""}.
 If set to @samp{#t} and repository-directory is enabled,
 repository-directory will recurse into directories whose name starts
 with a period.  Otherwise, repository-directory will stay away from such
-directories, considered as "hidden".  Note that this does not apply to
-the ".git" directory in non-bare repos.
+directories, considered as ``hidden''.  Note that this does not apply to
+the @file{.git} directory in non-bare repos.
 
 Defaults to @samp{#f}.
 
@@ -24889,7 +24892,7 @@ Defaults to @samp{""}.
 @end deftypevr
 
 @deftypevr {@code{cgit-configuration} parameter} integer summary-branches
-Specifies the number of branches to display in the repository "summary"
+Specifies the number of branches to display in the repository ``summary''
 view.
 
 Defaults to @samp{10}.
@@ -24898,14 +24901,14 @@ Defaults to @samp{10}.
 
 @deftypevr {@code{cgit-configuration} parameter} integer summary-log
 Specifies the number of log entries to display in the repository
-"summary" view.
+``summary'' view.
 
 Defaults to @samp{10}.
 
 @end deftypevr
 
 @deftypevr {@code{cgit-configuration} parameter} integer summary-tags
-Specifies the number of tags to display in the repository "summary"
+Specifies the number of tags to display in the repository ``summary''
 view.
 
 Defaults to @samp{10}.
@@ -24997,7 +25000,7 @@ Defaults to @samp{""}.
 @deftypevr {@code{repository-cgit-configuration} parameter} repo-string defbranch
 The name of the default branch for this repository.  If no such branch
 exists in the repository, the first branch name (when sorted) is used as
-default instead.  By default branch pointed to by HEAD, or "master" if
+default instead.  By default branch pointed to by HEAD, or ``master'' if
 there is no suitable HEAD.
 
 Defaults to @samp{""}.
@@ -25158,7 +25161,7 @@ Defaults to @samp{""}.
 
 @deftypevr {@code{repository-cgit-configuration} parameter} repo-string readme
 A path (relative to repo) which specifies a file to include verbatim as
-the "About" page for this repo.
+the ``About'' page for this repo.
 
 Defaults to @samp{""}.
 
@@ -25297,7 +25300,7 @@ A value like @code{#o0027} will give read access to the group used by Gitolite
 like cgit or gitweb.
 
 @item @code{git-config-keys} (default: @code{""})
-Gitolite allows you to set git config values using the "config" keyword. This
+Gitolite allows you to set git config values using the @samp{config} keyword. This
 setting allows control over the config keys to accept.
 
 @item @code{roles} (default: @code{'(("READERS" . 1) ("WRITERS" . ))})
diff --git a/etc/news.scm b/etc/news.scm
index ab09a1059c..35e9a878cb 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -79,7 +79,8 @@ Op Guix System kunt u het @code{locale-libcs}-veld van uw
 uit voor verdere uitleg.")))
 
  (entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a")
-        (title (en "Guix Cookbook now available as Info"))
+        (title (en "Guix Cookbook now available as Info")
+               (de "Guix-Kochbuch jetzt als Info-Dokument verfügbar"))
         ;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the
         ;; translated manual if it's available.
         (body (en "The new Guix Cookbook is now fetched by @command{guix pull}
@@ -95,7 +96,22 @@ The Cookbook is currently available in English and German.  You can also find
 it @uref{https://guix.gnu.org/cookbook/en/, on-line}.
 
 Your contributions are welcome: @uref{https://guix.gnu.org/contact/, get in
-touch with the developers} to share your recipes!")))
+touch with the developers} to share your recipes!")
+              (de "Das neue Guix-Kochbuch wird nun von @command{guix pull}
+geladen und steht dann im Info-Format zur Verfügung.  Darin sollen Anleitungen
+und detaillierte Beispiele gezeigt werden, die eine breite Spanne an
+Anwendungsfällen abdecken.  Um darauf zuzugreifen, geben Sie dies ein:
+
+@example
+info guix-cookbook.de
+@end example
+
+Das Kochbuch steht derzeit auf Deutsch und Englisch zur Verfügung.  Sie können
+auch @uref{https://guix.gnu.org/cookbook/de/, online} darauf zugreifen.
+
+Ihre Beiträge werden gerne gesehen.  Bitte
+@uref{https://guix.gnu.org/contact/, kontaktieren Sie die Entwickler}, um Ihre
+Rezepte mit uns zu teilen!")))
 
  (entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887")
         (title (en "Further reduced binary seed bootstrap"))
diff --git a/gnu/local.mk b/gnu/local.mk
index 2780434455..b3d6054b50 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -740,7 +740,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch	\
   %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch	\
   %D%/packages/patches/apr-skip-getservbyname-test.patch	\
-  %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch	\
   %D%/packages/patches/aspell-default-dict-dir.patch		\
   %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
   %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a9240dbdb1..8d8c6a4b94 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -53,6 +53,7 @@
 (define-module (gnu packages admin)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system emacs)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
@@ -65,6 +66,7 @@
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages autogen)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
@@ -130,6 +132,52 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
 
+(define-public ktsuss
+  (package
+    (name "ktsuss")
+    (version "2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/nomius/ktsuss.git")
+         (commit version)))
+       (sha256
+        (base32 "0q9931f9hp47v1n8scli4bdg2rkjpf5jf8v7jj2gdn83aia1r2hz"))
+       (file-name (git-file-name name version))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--enable-sudo=yes")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-sudo-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("sudopath=`which sudo 2>/dev/null`")
+                (string-append "sudopath="
+                               (string-append (assoc-ref inputs "sudo")
+                                              "/bin/sudo"))))
+             #t)))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("autogen" ,autogen)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+-2)
+       ("sudo" ,sudo)))
+    (synopsis "Graphical front end for @command{su}")
+    (description
+     "Ktsuss stands for ``Keep the @command{su} simple, stupid''.
+It is a graphical version of @command{su} written in C and GTK+ 2, with
+simplicity in mind.")
+    (home-page "https://github.com/nomius/ktsuss")
+    (license license:bsd-3)))
+
 (define-public aide
   (package
     (name "aide")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index e7548c5f92..0f0d3b4b62 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -444,7 +445,7 @@ tree binary files.  These are board description files used by Linux and BSD.")
 (define u-boot
   (package
     (name "u-boot")
-    (version "2020.01")
+    (version "2020.04")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -452,7 +453,7 @@ tree binary files.  These are board description files used by Linux and BSD.")
                     "u-boot-" version ".tar.bz2"))
               (sha256
                (base32
-                "1w9ml4jl15q6ixpdqzspxjnl7d3rgxd7f99ms1xv5c8869h3qida"))))
+                "0wjkasnz87q86hx93inspdjfjsinmxi87bcvj30c773x0fpjlwzy"))))
     (native-inputs
      `(("bc" ,bc)
        ("bison" ,bison)
@@ -463,7 +464,7 @@ tree binary files.  These are board description files used by Linux and BSD.")
        ("python" ,python)
        ("python-coverage" ,python-coverage)
        ("python-pytest" ,python-pytest)
-       ("sdl" ,sdl)
+       ("sdl2" ,sdl2)
        ("swig" ,swig)))
     (build-system  gnu-build-system)
     (home-page "https://www.denx.de/wiki/U-Boot/")
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index 05e3907da6..d807c15d68 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -59,7 +59,7 @@
                     (lambda _
                       (substitute* "doc/Makefile.in"
                         (("(docdir =) .*" _ match)
-                         (format "~a @docdir@\n" match)))
+                         (format #f "~a @docdir@\n" match)))
                       #t))
                   (add-before 'check 'check-setup
                     (lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7bca0468cf..05a796a3e3 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1058,17 +1058,26 @@ result back.")
 (define-public python-pytest-timeout
   (package
     (name "python-pytest-timeout")
-    (version "1.3.3")
+    (version "1.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pytest-timeout" version))
        (sha256
         (base32
-         "1cczcjhw4xx5sjkhxlhc5c1bkr7x6fcyx12wrnvwfckshdvblc2a"))))
+         "13n42azbvs5slvy2n1a9nw17r4qdq10dd68nln3jp925safa3yl0"))))
     (build-system python-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      ;; Make the installed plugin discoverable by Pytest.
+                      (add-installed-pythonpath inputs outputs)
+                      (invoke "pytest" "-vv"))))))
     (propagated-inputs
      `(("python-pytest" ,python-pytest)))
+    (native-inputs
+     `(("python-pexpect" ,python-pexpect)))
     (home-page "http://bitbucket.org/pytest-dev/pytest-timeout/")
     (synopsis "Plugin for py.test to abort hanging tests")
     (description
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index 2b3b5d7df6..855ae2df22 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -277,16 +277,16 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.")
                ;; and Guix contains currently no free molecular viewer that
                ;; could be substituted.
                (("PREFERENCES\\['acroread_path'\\] = ''")
-                (format "PREFERENCES['acroread_path'] = '~a'"
+                (format #f "PREFERENCES['acroread_path'] = '~a'"
                         (which "gv")))
                (("PREFERENCES\\['ncdump_path'\\] = ''")
-                (format "PREFERENCES['ncdump_path'] = '~a'"
+                (format #f "PREFERENCES['ncdump_path'] = '~a'"
                         (which "ncdump")))
                (("PREFERENCES\\['ncgen_path'\\] = ''")
-                (format "PREFERENCES['ncgen_path'] = '~a'"
+                (format #f "PREFERENCES['ncgen_path'] = '~a'"
                         (which "ncgen3")))
                (("PREFERENCES\\['task_manager_path'\\] = ''")
-                (format "PREFERENCES['task_manager_path'] = '~a'"
+                (format #f "PREFERENCES['task_manager_path'] = '~a'"
                         (which "task_manager")))
                ;; Show documentation as PDF
                (("PREFERENCES\\['documentation_style'\\] = 'html'")
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index eece0159e6..ee08a8e171 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -50,6 +50,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -63,6 +64,10 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages file)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -70,6 +75,7 @@
   #:use-module (gnu packages qt)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages xml)
   #:use-module (ice-9 match)
   #:use-module ((srfi srfi-1) #:select (last)))
 
@@ -2089,3 +2095,34 @@ programs that used to be the de facto UNIX standard for compressing and
 uncompressing files.  These programs implement a fast, simple Lempel-Ziv (LZW)
 file compression algorithm.")
     (license license:gpl2+)))
+
+(define-public xarchiver
+  (package
+    (name "xarchiver")
+    (version "0.5.4.14")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ib/xarchiver.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px"))))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("gettext" ,gettext-minimal)
+       ("intltool" ,intltool)
+       ("libxslt" ,libxslt)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme
+       ("gtk+" ,gtk+)))
+    (home-page "https://github.com/ib/xarchiver")
+    (synopsis "Graphical front-end for archive operations")
+    (description "Xarchiver is a front-end to various command line archiving
+tools.  It uses GTK+ tool-kit and is designed to be desktop-environment
+independent.  Supported formats are 7z, ARJ, bzip2, gzip, LHA, lzma, lzop,
+RAR, RPM, DEB, tar, and ZIP.  It cannot perform functions for archives, whose
+archiver is not installed.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index e1198d4381..00c99d90ad 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (gnu packages crypto)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages groff)
@@ -949,3 +951,58 @@ could) directly register names in the Domain Name System (DNS).  Some examples
 of public suffixes are .com, .co.uk and pvt.k12.ma.us.  This is a list of all
 known public suffixes.")
       (license license:mpl2.0))))
+
+(define-public maradns
+  (package
+    (name "maradns")
+    (version "3.5.0004")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://maradns.samiam.org/download/"
+                           (version-major+minor version) "/"
+                           version "/maradns-" version ".tar.xz"))
+       (sha256
+        (base32
+         "1zv0i6m4m05ay5zlhwq1h88hgjq2d81cjanpnb3gyhr0xhmjwk6a"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; need to be root to run tests
+       #:make-flags
+       (list
+        (string-append "CC="
+                       (if ,(%current-target-system)
+                           (string-append (assoc-ref %build-inputs "cross-gcc")
+                                          "/bin/" ,(%current-target-system) "-gcc")
+                           "gcc"))
+        (string-append "PREFIX=" %output)
+        (string-append "RPM_BUILD_ROOT=" %output))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key native-inputs target #:allow-other-keys)
+             ;; make_32bit_tables generates a header file that is used during
+             ;; compilation. Hence, during cross compilation, it should be
+             ;; built for the host system.
+             (when target
+               (substitute* "rng/Makefile"
+                 (("\\$\\(CC\\) -o make_32bit_tables")
+                  (string-append (assoc-ref native-inputs "gcc")
+                                 "/bin/gcc -o make_32bit_tables"))))
+             (invoke "./configure")))
+         (add-before 'install 'create-install-directories
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each (lambda (dir)
+                           (mkdir-p (string-append out dir)))
+                         (list "/bin" "/sbin" "/etc"
+                               "/share/man/man1"
+                               "/share/man/man5"
+                               "/share/man/man8"))
+               #t))))))
+    (home-page "https://maradns.samiam.org")
+    (synopsis "Small lightweight DNS server")
+    (description "MaraDNS is a small and lightweight DNS server.  MaraDNS
+consists of a UDP-only authoritative DNS server for hosting domains, and a UDP
+and TCP-capable recursive DNS server for finding domains on the internet.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index a52b31f22d..6f744af2f1 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -33,7 +33,7 @@
 (define-public elixir
   (package
     (name "elixir")
-    (version "1.10.2")
+    (version "1.10.3")
     (source
      (origin
        (method git-fetch)
@@ -42,7 +42,7 @@
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "04yi1hljq7ii9flh6pmb5411z7q1bdq9f9sq8323k9hm1f5jwkx6"))
+        (base32 "18bqqqzvhr1zj491wc3d36a310mg1wcs12npp70zfmgqrc60q65a"))
        (patches (search-patches "elixir-path-length.patch"))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 80d0350cf5..c31b87ec19 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1471,14 +1471,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
 (define-public flowee
   (package
     (name "flowee")
-    (version "2020.03.1")
+    (version "2020.03.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
                             version "/thehub-" version ".tar.gz"))
        (sha256
-         (base32 "1ajd5axv9zyhh6njrvamm11zn52j1q4j3mwn2nfv7cjd4lhnhlsr"))))
+         (base32 "1m8wfwxljvd2gqpfj1w37xky4isa3h9a7g57cnf3l4r90r4bxj47"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 51eae2ad4c..e0a162f1b8 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -463,7 +463,7 @@ Virtual Machines.  OVMF contains a sample UEFI firmware for QEMU and KVM.")
 (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64"))
   (package
     (name (string-append "arm-trusted-firmware-" platform))
-    (version "2.2")
+    (version "2.3")
     (source
       (origin
         (method git-fetch)
@@ -472,11 +472,9 @@ Virtual Machines.  OVMF contains a sample UEFI firmware for QEMU and KVM.")
                (url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/")
                (commit (string-append "v" version))))
         (file-name (git-file-name "arm-trusted-firmware" version))
-        (patches (search-patches
-                  "arm-trusted-firmware-disable-hdcp.patch"))
        (sha256
         (base32
-         "03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8"))))
+         "113mcf1hwwl0i90cqh08lywxs1bfbg0nwqibay9wlkmx1a5v0bnj"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index d78811b2e8..825362047f 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -770,7 +770,7 @@ maintain the Noto Fonts project.")
 (define-public fontmanager
   (package
    (name "fontmanager")
-   (version "0.7.5")
+   (version "0.7.7")
    (source
     (origin
       (method git-fetch)
@@ -780,7 +780,7 @@ maintain the Noto Fonts project.")
       (file-name (git-file-name name version))
       (sha256
        (base32
-        "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"))))
+        "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f"))))
    (build-system meson-build-system)
    (arguments
     `(#:glib-or-gtk? #t
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 1e9941945c..33da929ca1 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
@@ -765,7 +765,7 @@ useful for C++.")
 (define-public perl-glib
   (package
     (name "perl-glib")
-    (version "1.3291")
+    (version "1.3292")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -773,7 +773,7 @@ useful for C++.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr"))))
+                "1q5075d6v2g5sm675hyzrcpxsrh09z83crfci8b0wl3jwmnz0frg"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-extutils-depends" ,perl-extutils-depends)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 6315183b48..8f180c5c87 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -194,9 +194,9 @@ defconfig.  Return the appropriate make target if applicable, otherwise return
 
 (define deblob-scripts-5.6
   (linux-libre-deblob-scripts
-   "5.6"
-   (base32 "09hxrr4xzllq5lmipfb6if30318lksrk9py1axc36m9ynql4w0rc")
-   (base32 "09qz5d31g5zwicsnncjnjij193hk0g6kg0ss9jyzh6lp3wilcm71")))
+   "5.6.7"
+   (base32 "196fdbfy1f8zbmnv0ik720snig2bacsh7hfyvgbmlsfk3cil2zgv")
+   (base32 "1g0bi3c8xzy1vz6w1xbpkb3a26bqn9d1yphcqz2ki4aikra81wid")))
 
 (define deblob-scripts-5.4
   (linux-libre-deblob-scripts
@@ -393,26 +393,26 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.176")
+(define-public linux-libre-4.14-version "4.14.177")
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "18jwxhf29ax54xnylmz9zfkslnxw7y3h215dbfmmvddfp9b0kbmw")))
+        (hash (base32 "04hq0i06mg2yc09jj2xk0vhf5q9yigzjzm55a5bvfy2a6j43r9rk")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.219")
+(define-public linux-libre-4.9-version "4.9.220")
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "0i5wlyp11ss9p035bhq73xjx8iyk5dk4ynvd7msw5qfkrs6265vb")))
+        (hash (base32 "0bhbkybzbdsbmrjmb5m7hxxl8b3v6n79zhh86cbr95kzg1hcgnfs")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
 
-(define-public linux-libre-4.4-version "4.4.219")
+(define-public linux-libre-4.4-version "4.4.220")
 (define-public linux-libre-4.4-pristine-source
   (let ((version linux-libre-4.4-version)
-        (hash (base32 "1mpxqb2m24ay4n9px4n2cyklxy4lhnv9q6wlvilx13rs5qfbb62f")))
+        (hash (base32 "1knj3qsl7x3fysdz1h0s980ddbafs3658z2y67w6sn79wp7d8blg")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.4)))
@@ -4739,7 +4739,7 @@ feature, and a laptop with an accelerometer.  It has no effect on SSDs.")
                     (share (string-append out "/share/" ,name)))
                (substitute* "CMakeLists.txt"
                  (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package)
-                  (format "option(~a_FOUND \"Faked\" ON)\n" package))
+                  (format #f "option(~a_FOUND \"Faked\" ON)\n" package))
                  ;; That was easy!  Now we just need to fix the destinations.
                  (("/etc" directory)
                   (string-append out directory)))
@@ -4781,11 +4781,11 @@ from userspace.")
            (lambda _
              (substitute* "tpacpi-bat"
                (("cat ")
-                (format "~a " (which "cat")))
+                (format #f "~a " (which "cat")))
                ;; tpacpi-bat modprobes the acpi_call kernel module if it's not
                ;; loaded.  That's the administrator's prerogative; disable it.
                (("system \"(modprobe .*)\"" _ match)
-                (format "die \"Please run ‘~a’ first.\\n\"" match)))
+                (format #f "die \"Please run ‘~a’ first.\\n\"" match)))
              #t))
          (delete 'configure)            ; nothing to configure
          (delete 'build)                ; nothing to build
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 907fd55223..11fb3a0016 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -11423,3 +11423,54 @@ MOP easier to use.")
 
 (define-public cl-moptilities
   (sbcl-package->cl-source-package sbcl-moptilities))
+
+(define-public sbcl-osicat
+  (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97"))
+    (package
+      (name "sbcl-osicat")
+      (version (git-version "0.7.0" "1" commit))
+      (home-page "http://www.common-lisp.net/project/osicat/")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/osicat/osicat")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-before 'validate-runpath 'cleanup-files
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (lib (string-append out "/lib/sbcl")))
+                 (for-each
+                  delete-file
+                  (filter (lambda (file)
+                            (not (member (basename file)
+                                         '("basic-unixint__grovel"
+                                           "libosicat.so"
+                                           "osicat--system.fasl"
+                                           "osicat.asd"
+                                           "unixint__grovel"))))
+                          (find-files lib ".*")))
+                 #t))))))
+      (inputs
+       `(("alexandria" ,sbcl-alexandria)
+         ("cffi" ,sbcl-cffi)
+         ("trivial-features" ,sbcl-trivial-features)))
+      (native-inputs
+       `(("cffi-grovel" ,sbcl-cffi-grovel)
+         ("rt" ,sbcl-rt)))
+      (synopsis "Operating system interface for Common Lisp")
+      (description
+       "Osicat is a lightweight operating system interface for Common Lisp on
+Unix-platforms.  It is not a POSIX-style API, but rather a simple lispy
+accompaniment to the standard ANSI facilities.")
+      (license license:expat))))
+
+(define-public cl-osicat
+  (sbcl-package->cl-source-package sbcl-osicat))
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index f5dc027e03..9de96a21cb 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -29,13 +29,16 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
+  #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages file-systems)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image-viewers)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lsof)
   #:use-module (gnu packages openbox)
@@ -43,9 +46,12 @@
   #:use-module (gnu packages polkit)
   #:use-module (gnu packages text-editors)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages wget)
   #:use-module (gnu packages wm)
+  #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
@@ -249,8 +255,8 @@ with freedesktop.org standard.")
                     "https://github.com/IgnorantGuru/spacefm/archive/"
                     version ".tar.gz"))
               (sha256
-                (base32
-                 "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy"))
+               (base32
+                "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -262,18 +268,34 @@ with freedesktop.org standard.")
                                     "#include <sys/sysmacros.h>\n")))
                   #t))
               (file-name (string-append name "-" version ".tar.gz"))))
-    (build-system gnu-build-system)
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("desktop-file-utils" ,desktop-file-utils)
-                     ("intltool" ,intltool)))
-    (inputs `(("bash" ,bash)
-              ("gtk+" ,gtk+)
-              ("eudev" ,eudev)
-              ("shared-mime-info" ,shared-mime-info)
-              ("ffmpegthumbnailer" ,ffmpegthumbnailer)
-              ("jmtpfs" ,jmtpfs)
-              ("lsof" ,lsof)
-              ("udisks" ,udisks)))
+    (build-system glib-or-gtk-build-system)
+    (native-inputs
+     `(("desktop-file-utils" ,desktop-file-utils)
+       ("glib:bin" ,glib "bin")
+       ("gtk+:bin" ,gtk+ "bin")
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("bash" ,bash)
+       ("cairo" ,cairo)
+       ("curlftpfs" ,curlftpfs)
+       ("dbus" ,dbus)
+       ("eudev" ,eudev)
+       ("fakeroot" ,fakeroot)
+       ("ffmpegthumbnailer" ,ffmpegthumbnailer)
+       ("fuseiso" ,fuseiso)
+       ("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("ifuse" ,ifuse)
+       ("jmtpfs" ,jmtpfs)
+       ("libx11" ,libx11)
+       ("lsof" ,lsof)
+       ("pango" ,pango)
+       ("shared-mime-info" ,shared-mime-info)
+       ("startup-notification" ,startup-notification)
+       ("udevil" ,udevil)
+       ("util-linux" ,util-linux)
+       ("wget" ,wget)))
     (arguments
      `(#:configure-flags (list (string-append "--with-bash-path="
                                               (assoc-ref %build-inputs "bash")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 6e2594b07a..589b3e8839 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
+;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3132,3 +3133,35 @@ related tools to process winmail.dat files.")
 complement or replace traditional mailing lists.  Readers may read via NNTP,
 Atom feeds or HTML archives.")
      (license agpl3+))))
+
+(define-public sylpheed
+  (package
+    (name "sylpheed")
+    (version "3.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://sylpheed.sraoss.jp/sylpheed/v3.7/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("bogofilter" ,bogofilter)
+       ("compface" ,compface)
+       ("gnupg" ,gnupg-1)
+       ("gpgme" ,gpgme)
+       ("gtk+-2.0" ,gtk+-2)
+       ("gtkspell" ,gtkspell3)
+       ("libnsl" ,libnsl)
+       ("openldap" ,openldap)
+       ("openssl" ,openssl)))
+    (home-page "https://sylpheed.sraoss.jp/en/")
+    (synopsis "Lightweight GTK+ email client")
+    (description
+     "Sylpheed is a simple, lightweight but featureful, and easy-to-use e-mail
+client.  Sylpheed provides intuitive user-interface.  Sylpheed is also
+designed for keyboard-oriented operation.")
+    (license gpl2+)))
diff --git a/gnu/packages/nim.scm b/gnu/packages/nim.scm
index 374a533c30..b7ab8a368b 100644
--- a/gnu/packages/nim.scm
+++ b/gnu/packages/nim.scm
@@ -56,7 +56,7 @@
                                         "lib/pure/osproc.nim")
                    (("/bin/sh") sh))
                  (substitute* (find-files "c_code" "stdlib_osproc.c")
-                   (("\"/bin/sh\", 7") (format "~s, ~s" sh (string-length sh)))))
+                   (("\"/bin/sh\", 7") (format #f "~s, ~s" sh (string-length sh)))))
                #t))
            (replace 'build
              (lambda _
diff --git a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch b/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch
deleted file mode 100644
index edae2352d9..0000000000
--- a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From c7f0cd054578152a250f784bf82c8ca53aa91a02 Mon Sep 17 00:00:00 2001
-From: Ziyuan Xu <xzy.xu@rock-chips.com>
-Date: Tue, 8 Oct 2019 10:27:05 +0800
-Subject: [PATCH] plat/rockchip: cliam a macro to enable hdcp feature for DP
-
-HDCP is using a binary driver, add macro PLAT_RK_DP_HDCP to make it as
-an option.
-
-Change-Id: I54ef1a3635a28e8ae56654bd1e91dfe011520a7f
-Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
-Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
----
- plat/rockchip/rk3399/plat_sip_calls.c |  4 ++++
- plat/rockchip/rk3399/platform.mk      | 11 +++++++----
- 2 files changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/plat/rockchip/rk3399/plat_sip_calls.c b/plat/rockchip/rk3399/plat_sip_calls.c
-index c2cc5b11c..ce8476c9a 100644
---- a/plat/rockchip/rk3399/plat_sip_calls.c
-+++ b/plat/rockchip/rk3399/plat_sip_calls.c
-@@ -56,17 +56,21 @@ uintptr_t rockchip_plat_sip_handler(uint32_t smc_fid,
- 				    void *handle,
- 				    u_register_t flags)
- {
-+#ifdef PLAT_RK_DP_HDCP
- 	uint64_t x5, x6;
-+#endif
- 
- 	switch (smc_fid) {
- 	case RK_SIP_DDR_CFG:
- 		SMC_RET1(handle, ddr_smc_handler(x1, x2, x3, x4));
-+#ifdef PLAT_RK_DP_HDCP
- 	case RK_SIP_HDCP_CONTROL:
- 		SMC_RET1(handle, dp_hdcp_ctrl(x1));
- 	case RK_SIP_HDCP_KEY_DATA64:
- 		x5 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X5);
- 		x6 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X6);
- 		SMC_RET1(handle, dp_hdcp_store_key(x1, x2, x3, x4, x5, x6));
-+#endif
- 	default:
- 		ERROR("%s: unhandled SMC (0x%x)\n", __func__, smc_fid);
- 		SMC_RET1(handle, SMC_UNK);
-diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk
-index 25c498da8..01577492d 100644
---- a/plat/rockchip/rk3399/platform.mk
-+++ b/plat/rockchip/rk3399/platform.mk
-@@ -57,7 +57,6 @@ BL31_SOURCES	+=	${RK_GIC_SOURCES}				\
- 			${RK_PLAT_COMMON}/aarch64/platform_common.c	\
- 			${RK_PLAT_COMMON}/rockchip_sip_svc.c		\
- 			${RK_PLAT_SOC}/plat_sip_calls.c			\
--			${RK_PLAT_SOC}/drivers/dp/cdn_dp.c		\
- 			${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c	\
- 			${RK_PLAT_SOC}/drivers/pmu/pmu.c		\
- 			${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c		\
-@@ -89,17 +88,21 @@ $(eval $(call add_define,RK3399M0FW))
- RK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin
- $(eval $(call add_define,RK3399M0PMUFW))
- 
-+ifdef PLAT_RK_DP_HDCP
-+BL31_SOURCES	+= ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c
-+
- HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin
- $(eval $(call add_define,HDCPFW))
- 
-+${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
-+${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
-+endif
-+
- # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin
- export CCACHE_EXTRAFILES
- ${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW)
- ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW)
- 
--${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
--${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
--
- $(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT}))
- .PHONY: $(RK3399M0FW)
- $(RK3399M0FW): | ${BUILD_M0}
--- 
-2.20.1
-
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 8ccb133e1f..de94b7c951 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 ng0 <ng0@n0.is>
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
@@ -904,20 +904,44 @@ optimize toolbar for portrait / landscape
 (define-public python-reportlab
   (package
     (name "python-reportlab")
-    (version "3.5.32")
+    (version "3.5.42")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "reportlab" version))
               (sha256
                (base32
-                "0lf8hil9nbm74zl27l8rydxbhwnpr0pbghibsqrc9sglds9l9vw3"))))
+                "0i17qgm7gzy7pzp240mkpsx9rn8rr67jh5npp5bylv3sd41g48cw"))))
     (build-system python-build-system)
     (arguments
-     '(;; FIXME: There is one test failure, but it does not cause the
-       ;; build to fail. No time to investigate right now.
-       #:test-target "tests"))
+     '(;; FIXME: There is one test failure, building the pdf manual from source,
+       ;; but it does not cause the build to fail.
+       #:test-target "tests"
+       #:configure-flags (list "--use-system-libart")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'find-libraries
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((libart (assoc-ref inputs "libart-lgpl"))
+                   (freetype (assoc-ref inputs "freetype"))
+                   (dlt1 (assoc-ref inputs "font-curve-files")))
+               (substitute* "setup.py"
+                 (("/usr/include/libart-\\*")
+                  (string-append libart "/include/libart-2.0"))
+                 (("/usr/include/freetype2")
+                  (string-append freetype "/include"))
+                 (("http://www.reportlab.com/ftp/pfbfer-20180109.zip")
+                  (string-append "file://" dlt1)))
+               #t))))))
     (inputs
-     `(("freetype" ,freetype)))
+     `(("freetype" ,freetype)
+       ("libart-lgpl" ,libart-lgpl)
+       ("font-curve-files"
+        ,(origin
+           (method url-fetch)
+           (uri "http://www.reportlab.com/ftp/pfbfer-20180109.zip")
+           (sha256
+            (base32
+             "1v0gy4mbx02ys96ssx89420y0njknlrxs2bx64bv4rp8a0al66w5"))))))
     (propagated-inputs
      `(("python-pillow" ,python-pillow)))
     (home-page "https://www.reportlab.com")
@@ -1232,7 +1256,7 @@ multiple files.")
 (define-public pdfpc
   (package
     (name "pdfpc")
-    (version "4.3.4")
+    (version "4.4.0")
     (source
      (origin
        (method git-fetch)
@@ -1241,7 +1265,7 @@ multiple files.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "07aafsm4jzdgpahz83p0ajv40hry7gviyadqi13ahr8xdhhwy2sd"))))
+        (base32 "0vh2r32akvasdrghkaq7ard24r2qncp34jfiyshi3zxabm9bhfaa"))))
     (build-system cmake-build-system)
     (arguments '(#:tests? #f))          ; no test target
     (inputs
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index a2a882f2a7..59947964a3 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -525,7 +525,7 @@ and enhance them.")
 (define-public hugin
   (package
     (name "hugin")
-    (version "2019.0.0")
+    (version "2019.2.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
@@ -533,7 +533,7 @@ and enhance them.")
                                   "/hugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr"))))
+                "0gjsm5bgz10wbr5q3y74f8dzb238dh32xx0p5wa3yca6lbzbv9lb"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 4ad32d6d1e..b4a8d981a2 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -33,6 +33,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix l:)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
@@ -257,10 +258,11 @@ sound server.")
              (sha256
               (base32
                "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (inputs
-     `(("libcanberra" ,libcanberra)
+     `(("adwaita-icon-theme" ,adwaita-icon-theme)          ;hard-coded theme
        ("gtkmm" ,gtkmm)
+       ("libcanberra" ,libcanberra)
        ("pulseaudio" ,pulseaudio)))
     (native-inputs
      `(("intltool" ,intltool)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index a73128a77c..2486cb370f 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
 ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2020 Holger Peters <holger.peters@posteo.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -978,14 +979,14 @@ your Web app.")
 (define-public python-webob
   (package
     (name "python-webob")
-    (version "1.5.1")
+    (version "1.8.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "WebOb" version))
        (sha256
         (base32
-         "02bhhzijfhv8hmi1i54d4b0v43liwhnywhflvxsv4x3zax9s3afq"))))
+          "1cpqskanmvwia8wqlpcr3ykyxysynjdnbl5namvpg8vw6jnkv1dh"))))
     (build-system python-build-system)
     (native-inputs
       `(("python-nose" ,python-nose)))
@@ -1727,17 +1728,19 @@ and to spawn subprocesses to handle requests.")
 (define-public python-pastedeploy
   (package
     (name "python-pastedeploy")
-    (version "1.5.2")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PasteDeploy" version))
        (sha256
-        (base32
-         "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm"))))
+        (base32 "16qsq5y6mryslmbp5pn35x4z8z3ndp5rpgl42h226879nrw9hmg7"))))
     (build-system python-build-system)
+    (arguments
+     '(#:test-target "pytest"))
     (native-inputs
-     `(("python-nose" ,python-nose)))
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-runner" ,python-pytest-runner)))
     (home-page "https://pylonsproject.org/")
     (synopsis
      "Load, configure, and compose WSGI applications and servers")
@@ -2818,7 +2821,7 @@ List.")
              ;; the unused ‘update_psl’ helper command.
              (substitute* "setup.py"
                (("'requests " match)
-                (format "# ~a" match)))
+                (format #f "# ~a" match)))
              #t)))
        #:tests? #f))                  ; the test suite requires network access
     (home-page "https://github.com/pombredanne/python-publicsuffix2")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 8a2e580ad2..25b8cd6529 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -63,7 +63,7 @@
 ;;; Copyright © 2019, 2020 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>
+;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
 ;;; Copyright © 2019, 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@@ -19675,3 +19675,23 @@ a set of pluggable tools to help the programmer in various ways.  Some
 example tools are source structure, project manager, interactive help,
 workspace...")
     (license license:bsd-2)))
+
+(define-public python-osc
+  (package
+    (name "python-osc")
+    (version "1.7.4")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "python-osc" version))
+        (sha256
+          (base32
+            "0cnh0z5lnng7fh48nmfaqqn8j25k13gkd4rhxd3m6sjqiix9s3vn"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/attwad/python-osc")
+    (synopsis "Open Sound Control server and client implementations")
+    (description
+      "@code{python-osc} is a pure Python library with no external
+dependencies.  It implements the @uref{http://opensoundcontrol.org/spec-1_0,
+Open Sound Control 1.0} specification.")
+    (license license:unlicense)))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 464dbd1b04..cc23656c5b 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -6923,7 +6923,7 @@ the file to which it applies.")
     (home-page "https://www.ctan.org/pkg/pdfx")
     (synopsis "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX")
     (description
-     "This package helps LaTeX users to create PDF/X, PFD/A and other
+     "This package helps LaTeX users to create PDF/X, PDF/A and other
 standards-compliant PDF documents with pdfTeX, LuaTeX and XeTeX.")
     (license license:lppl1.2+)))
 
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index fbc4610ffc..c613ffbf0c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3889,7 +3889,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
 (define-public svt-av1
   (package
     (name "svt-av1")
-    (version "0.8.1")
+    (version "0.8.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3898,7 +3898,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "08sx9zhhks8wzq05f67jqmc1zqmmi7hqkgg2gyjpcsan5qc5476w"))))
+                "0273fxgf4r832y9s0p8hqdj1j1nj8nlz4hylya0b4nsif89yfrhp"))))
     (build-system cmake-build-system)
     ;; SVT-AV1 only supports Intel-compatible CPUs.
     (supported-systems '("x86_64-linux" "i686-linux"))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 377fc0dfaf..a5e73c2c38 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -121,14 +121,14 @@ engine that uses Wayland for graphics output.")
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.28.1")
+    (version "2.28.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   "webkitgtk-" version ".tar.xz"))
               (sha256
                (base32
-                "1n7k4yriqhr38f4fgy8pzdn1nm60m53z8p478sgg64swxnijdg5c"))))
+                "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (arguments
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 82f11d13fa..a2c992d2c6 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1732,6 +1732,36 @@ productive, customizable lisp based systems.")
 rendering.")
       (license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
 
+(define-public sbcl-stumpwm-globalwindows
+  (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91")
+        (revision "1"))
+    (package
+      (name "sbcl-globalwindows")
+      (version (git-version "0.0.1" revision commit)) ;no upstream release
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/stumpwm/stumpwm-contrib.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn"))))
+      (inputs
+       `(("stumpwm" ,stumpwm "lib")))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'chdir
+             (lambda _
+               (chdir "util/globalwindows"))))))
+      (home-page "https://github.com/stumpwm/stumpwm-contrib")
+      (synopsis "Manipulate all windows in the current X session")
+      (description "This package provides a StumpWM module to manipulate all
+windows in the current X session.")
+      (license (list license:gpl2+ license:gpl3+ license:bsd-2)))))
+
 (define-public lemonbar
   (let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4")
         (revision "1"))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index e8c2f6e162..1d5ee39497 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -50,8 +50,6 @@
   #:use-module (gnu packages disk)
   #:use-module (gnu packages zile)
   #:use-module (gnu packages linux)
-  #:use-module ((gnu packages make-bootstrap)
-                #:select (%guile-static-stripped))
   #:use-module (gnu packages admin)
 
   #:use-module (gnu bootloader)