summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/grub.scm1
-rw-r--r--gnu/build/marionette.scm4
-rw-r--r--gnu/build/shepherd.scm10
-rw-r--r--gnu/build/vm.scm18
-rw-r--r--gnu/installer.scm11
-rw-r--r--gnu/installer/aux-files/SUPPORTED484
-rw-r--r--gnu/installer/locale.scm24
-rw-r--r--gnu/installer/newt/ethernet.scm48
-rw-r--r--gnu/installer/newt/menu.scm2
-rw-r--r--gnu/installer/newt/network.scm56
-rw-r--r--gnu/installer/newt/page.scm42
-rw-r--r--gnu/installer/newt/partition.scm21
-rw-r--r--gnu/installer/newt/user.scm40
-rw-r--r--gnu/installer/parted.scm52
-rw-r--r--gnu/installer/services.scm6
-rw-r--r--gnu/installer/steps.scm7
-rw-r--r--gnu/local.mk29
-rw-r--r--gnu/packages/admin.scm118
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/anthy.scm3
-rw-r--r--gnu/packages/assembly.scm47
-rw-r--r--gnu/packages/audio.scm6
-rw-r--r--gnu/packages/aux-files/linux-libre/5.1-arm-veyron.conf (renamed from gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf)117
-rw-r--r--gnu/packages/aux-files/linux-libre/5.1-arm.conf (renamed from gnu/packages/aux-files/linux-libre/5.0-arm.conf)174
-rw-r--r--gnu/packages/aux-files/linux-libre/5.1-arm64.conf (renamed from gnu/packages/aux-files/linux-libre/5.0-arm64.conf)213
-rw-r--r--gnu/packages/aux-files/linux-libre/5.1-i686.conf (renamed from gnu/packages/aux-files/linux-libre/5.0-i686.conf)178
-rw-r--r--gnu/packages/aux-files/linux-libre/5.1-x86_64.conf (renamed from gnu/packages/aux-files/linux-libre/5.0-x86_64.conf)187
-rw-r--r--gnu/packages/backup.scm28
-rw-r--r--gnu/packages/base.scm23
-rw-r--r--gnu/packages/bioconductor.scm759
-rw-r--r--gnu/packages/bioinformatics.scm619
-rw-r--r--gnu/packages/bittorrent.scm10
-rw-r--r--gnu/packages/build-tools.scm31
-rw-r--r--gnu/packages/c.scm31
-rw-r--r--gnu/packages/calendar.scm9
-rw-r--r--gnu/packages/cdrom.scm49
-rw-r--r--gnu/packages/certs.scm10
-rw-r--r--gnu/packages/check.scm6
-rw-r--r--gnu/packages/chromium.scm8
-rw-r--r--gnu/packages/cluster.scm2
-rw-r--r--gnu/packages/cmake.scm2
-rw-r--r--gnu/packages/code.scm18
-rw-r--r--gnu/packages/commencement.scm3
-rw-r--r--gnu/packages/coq.scm90
-rw-r--r--gnu/packages/cpp.scm6
-rw-r--r--gnu/packages/cran.scm667
-rw-r--r--gnu/packages/cross-base.scm30
-rw-r--r--gnu/packages/crypto.scm2
-rw-r--r--gnu/packages/cups.scm6
-rw-r--r--gnu/packages/curl.scm14
-rw-r--r--gnu/packages/databases.scm155
-rw-r--r--gnu/packages/datastructures.scm4
-rw-r--r--gnu/packages/dav.scm3
-rw-r--r--gnu/packages/dc.scm4
-rw-r--r--gnu/packages/debug.scm2
-rw-r--r--gnu/packages/dictionaries.scm6
-rw-r--r--gnu/packages/disk.scm5
-rw-r--r--gnu/packages/display-managers.scm3
-rw-r--r--gnu/packages/django.scm79
-rw-r--r--gnu/packages/dns.scm12
-rw-r--r--gnu/packages/docker.scm338
-rw-r--r--gnu/packages/ebook.scm104
-rw-r--r--gnu/packages/education.scm21
-rw-r--r--gnu/packages/elf.scm2
-rw-r--r--gnu/packages/elixir.scm6
-rw-r--r--gnu/packages/emacs-xyz.scm450
-rw-r--r--gnu/packages/emacs.scm22
-rw-r--r--gnu/packages/emulators.scm6
-rw-r--r--gnu/packages/engineering.scm26
-rw-r--r--gnu/packages/enlightenment.scm39
-rw-r--r--gnu/packages/fabric-management.scm2
-rw-r--r--gnu/packages/finance.scm17
-rw-r--r--gnu/packages/firmware.scm20
-rw-r--r--gnu/packages/fonts.scm58
-rw-r--r--gnu/packages/freedesktop.scm6
-rw-r--r--gnu/packages/game-development.scm103
-rw-r--r--gnu/packages/games.scm209
-rw-r--r--gnu/packages/gcc.scm438
-rw-r--r--gnu/packages/gdb.scm21
-rw-r--r--gnu/packages/geo.scm17
-rw-r--r--gnu/packages/gettext.scm33
-rw-r--r--gnu/packages/gimp.scm4
-rw-r--r--gnu/packages/gl.scm8
-rw-r--r--gnu/packages/glib.scm2
-rw-r--r--gnu/packages/gnome.scm144
-rw-r--r--gnu/packages/gnuzilla.scm255
-rw-r--r--gnu/packages/golang.scm40
-rw-r--r--gnu/packages/gps.scm4
-rw-r--r--gnu/packages/graph.scm35
-rw-r--r--gnu/packages/graphviz.scm4
-rw-r--r--gnu/packages/gstreamer.scm38
-rw-r--r--gnu/packages/gtk.scm75
-rw-r--r--gnu/packages/guile-xyz.scm37
-rw-r--r--gnu/packages/guile.scm6
-rw-r--r--gnu/packages/haskell-check.scm2
-rw-r--r--gnu/packages/haskell-web.scm2
-rw-r--r--gnu/packages/haskell.scm4
-rw-r--r--gnu/packages/image.scm11
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/java.scm15
-rw-r--r--gnu/packages/javascript.scm6
-rw-r--r--gnu/packages/kde.scm12
-rw-r--r--gnu/packages/libffi.scm1
-rw-r--r--gnu/packages/libusb.scm5
-rw-r--r--gnu/packages/linux.scm363
-rw-r--r--gnu/packages/lisp.scm33
-rw-r--r--gnu/packages/llvm.scm9
-rw-r--r--gnu/packages/lxde.scm4
-rw-r--r--gnu/packages/lxqt.scm17
-rw-r--r--gnu/packages/mail.scm26
-rw-r--r--gnu/packages/man.scm17
-rw-r--r--gnu/packages/mate.scm13
-rw-r--r--gnu/packages/maths.scm102
-rw-r--r--gnu/packages/mes.scm74
-rw-r--r--gnu/packages/messaging.scm12
-rw-r--r--gnu/packages/mpd.scm2
-rw-r--r--gnu/packages/multiprecision.scm16
-rw-r--r--gnu/packages/music.scm22
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/networking.scm79
-rw-r--r--gnu/packages/nss.scm6
-rw-r--r--gnu/packages/ocaml.scm259
-rw-r--r--gnu/packages/openstack.scm1
-rw-r--r--gnu/packages/package-management.scm17
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/password-utils.scm9
-rw-r--r--gnu/packages/patches/at-spi2-core-meson-compat.patch18
-rw-r--r--gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch43
-rw-r--r--gnu/packages/patches/borg-fix-hard-link-preloading.patch157
-rw-r--r--gnu/packages/patches/calibre-remove-test-bs4.patch34
-rw-r--r--gnu/packages/patches/calibre-remove-test-sqlite.patch29
-rw-r--r--gnu/packages/patches/calibre-remove-test-unrar.patch28
-rw-r--r--gnu/packages/patches/calibre-use-packaged-feedparser.patch51
-rw-r--r--gnu/packages/patches/efl-mesa-compat.patch21
-rw-r--r--gnu/packages/patches/gcc-8-cross-environment-variables.patch67
-rw-r--r--gnu/packages/patches/gcc-9-asan-fix-limits-include.patch13
-rw-r--r--gnu/packages/patches/gcc-9-strmov-store-file-names.patch114
-rw-r--r--gnu/packages/patches/gnome-tweaks-search-paths.patch (renamed from gnu/packages/patches/gnome-tweak-tool-search-paths.patch)4
-rw-r--r--gnu/packages/patches/gst-plugins-good-libvpx-compat.patch58
-rw-r--r--gnu/packages/patches/ocaml-piqilib-Update-base64.patch46
-rw-r--r--gnu/packages/patches/slim-display.patch75
-rw-r--r--gnu/packages/patches/upower-builddir.patch24
-rw-r--r--gnu/packages/patches/webkitgtk-sans-gstreamer-gl.patch24
-rw-r--r--gnu/packages/patches/webkitgtk-sse2.patch202
-rw-r--r--gnu/packages/patches/xf86-video-voodoo-pcitag.patch34
-rw-r--r--gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch47
-rw-r--r--gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch107
-rw-r--r--gnu/packages/pcre.scm4
-rw-r--r--gnu/packages/pdf.scm3
-rw-r--r--gnu/packages/perl.scm26
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/php.scm6
-rw-r--r--gnu/packages/profiling.scm19
-rw-r--r--gnu/packages/pulseaudio.scm5
-rw-r--r--gnu/packages/python-web.scm90
-rw-r--r--gnu/packages/python-xyz.scm463
-rw-r--r--gnu/packages/python.scm2
-rw-r--r--gnu/packages/ruby.scm2
-rw-r--r--gnu/packages/rust.scm255
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/search.scm1
-rw-r--r--gnu/packages/security-token.scm4
-rw-r--r--gnu/packages/shells.scm6
-rw-r--r--gnu/packages/shellutils.scm13
-rw-r--r--gnu/packages/skarnet.scm8
-rw-r--r--gnu/packages/speech.scm10
-rw-r--r--gnu/packages/sphinx.scm524
-rw-r--r--gnu/packages/squirrel.scm55
-rw-r--r--gnu/packages/ssh.scm11
-rw-r--r--gnu/packages/statistics.scm87
-rw-r--r--gnu/packages/storage.scm1
-rw-r--r--gnu/packages/sync.scm2
-rw-r--r--gnu/packages/syncthing.scm17
-rw-r--r--gnu/packages/tbb.scm5
-rw-r--r--gnu/packages/terminals.scm8
-rw-r--r--gnu/packages/tex.scm4
-rw-r--r--gnu/packages/textutils.scm4
-rw-r--r--gnu/packages/tls.scm7
-rw-r--r--gnu/packages/tmux.scm11
-rw-r--r--gnu/packages/tor.scm7
-rw-r--r--gnu/packages/valgrind.scm19
-rw-r--r--gnu/packages/version-control.scm60
-rw-r--r--gnu/packages/video.scm10
-rw-r--r--gnu/packages/vim.scm14
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/vulkan.scm12
-rw-r--r--gnu/packages/web-browsers.scm8
-rw-r--r--gnu/packages/web.scm475
-rw-r--r--gnu/packages/webkit.scm7
-rw-r--r--gnu/packages/wget.scm38
-rw-r--r--gnu/packages/wine.scm10
-rw-r--r--gnu/packages/wm.scm2
-rw-r--r--gnu/packages/xdisorg.scm6
-rw-r--r--gnu/packages/xfce.scm26
-rw-r--r--gnu/packages/xiph.scm12
-rw-r--r--gnu/packages/xml.scm4
-rw-r--r--gnu/packages/xorg.scm15
-rw-r--r--gnu/packages/zwave.scm84
-rw-r--r--gnu/services.scm5
-rw-r--r--gnu/services/base.scm5
-rw-r--r--gnu/services/desktop.scm22
-rw-r--r--gnu/services/docker.scm23
-rw-r--r--gnu/services/mail.scm4
-rw-r--r--gnu/services/mcron.scm4
-rw-r--r--gnu/services/monitoring.scm7
-rw-r--r--gnu/services/networking.scm4
-rw-r--r--gnu/services/ssh.scm2
-rw-r--r--gnu/services/version-control.scm2
-rw-r--r--gnu/services/xorg.scm136
-rw-r--r--gnu/system.scm18
-rw-r--r--gnu/system/examples/vm-image.tmpl24
-rw-r--r--gnu/system/install.scm3
-rw-r--r--gnu/system/linux-container.scm89
-rw-r--r--gnu/system/locale.scm72
-rw-r--r--gnu/system/pam.scm69
-rw-r--r--gnu/system/uuid.scm4
-rw-r--r--gnu/system/vm.scm69
-rw-r--r--gnu/tests/base.scm17
-rw-r--r--gnu/tests/docker.scm118
-rw-r--r--gnu/tests/install.scm11
-rw-r--r--gnu/tests/ssh.scm28
221 files changed, 8326 insertions, 4419 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index e97a17b3e2..d984d5f5e3 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -360,7 +360,6 @@ entries corresponding to old generations of the system."
                              (keyboard-layout-file layout #:grub grub))))
           (when keymap
             (format port "\
-terminal_input at_keyboard
 insmod keylayouts
 keymap ~a~%" keymap)))))
 
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index f94eab5cc0..1dbe385e89 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -310,6 +310,8 @@ PREDICATE, whichever comes first.  Raise an error when TIMEOUT is exceeded."
     (#\? . "shift-slash")
     (#\[ . "bracket_left")
     (#\] . "bracket_right")
+    (#\{ . "shift-bracket_left")
+    (#\} . "shift-bracket_right")
     (#\( . "shift-9")
     (#\) . "shift-0")
     (#\/ . "slash")
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm
index f383259924..cf68f2108b 100644
--- a/gnu/build/shepherd.scm
+++ b/gnu/build/shepherd.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -81,6 +81,14 @@
                                        (not (memq 'user namespaces)))
                                   accounts
                                   '())
+
+                            ;; Tell the process what timezone we're in.  This
+                            ;; makes sure that, for instance, its syslog
+                            ;; messages have the correct timestamp.
+                            ,(file-system-mapping
+                              (source "/etc/localtime")
+                              (target source))
+
                             ,%store-mapping)))    ;XXX: coarse-grain
             (map file-system-mapping->bind-mount
                  (filter (lambda (mapping)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index ac99d6b1a3..a5d9fefa62 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -423,7 +423,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
             ;; Graft the configuration file onto the image.
             (string-append "boot/grub/grub.cfg=" config-file))))
 
-(define* (make-iso9660-image grub config-file os-drv target
+(define* (make-iso9660-image xorriso grub-mkrescue-environment
+                             grub config-file os-drv target
                              #:key (volume-id "Guix_image") (volume-uuid #f)
                              register-closures? (closures '()))
   "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
@@ -431,6 +432,9 @@ GRUB configuration and OS-DRV as the stuff in it."
   (define grub-mkrescue
     (string-append grub "/bin/grub-mkrescue"))
 
+  (define grub-mkrescue-sed.sh
+    (string-append xorriso "/bin/grub-mkrescue-sed.sh"))
+
   (define target-store
     (string-append "/tmp/root" (%store-directory)))
 
@@ -483,9 +487,19 @@ GRUB configuration and OS-DRV as the stuff in it."
                               #x77777777)
                           16))
 
+  (setenv "MKRESCUE_SED_MODE" "original")
+  (setenv "MKRESCUE_SED_XORRISO" (string-append xorriso
+                                                "/bin/xorriso"))
+  (setenv "MKRESCUE_SED_IN_EFI_NO_PT" "yes")
+  (for-each (match-lambda
+             ((name . value) (setenv name value)))
+            grub-mkrescue-environment)
+
   (let ((pipe
          (apply open-pipe* OPEN_WRITE
-                grub-mkrescue "-o" target
+                grub-mkrescue
+                (string-append "--xorriso=" grub-mkrescue-sed.sh)
+                "-o" target
                 (string-append "boot/grub/grub.cfg=" config-file)
                 "etc=/tmp/root/etc"
                 "var=/tmp/root/var"
diff --git a/gnu/installer.scm b/gnu/installer.scm
index fe2841397e..1452c4dc7e 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -39,6 +39,7 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu system locale)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:export (installer-program))
@@ -118,7 +119,7 @@ been performed at build time."
        (string-append #$file "/" #$name ".go")))
 
   (let* ((supported-locales #~(supported-locales->locales
-                               #$(local-file "installer/aux-files/SUPPORTED")))
+                               #+(glibc-supported-locales)))
          (iso-codes #~(string-append #$iso-codes "/share/iso-codes/json/"))
          (iso639-3 #~(string-append #$iso-codes "iso_639-3.json"))
          (iso639-5 #~(string-append #$iso-codes "iso_639-5.json"))
@@ -291,6 +292,7 @@ selected keymap."
                                cryptsetup
                                dosfstools ;mkfs.fat
                                e2fsprogs ;mkfs.ext4
+                               btrfs-progs
                                kbd ;chvt
                                guix ;guix system init call
                                util-linux ;mkwap
@@ -335,6 +337,8 @@ selected keymap."
                          (gnu services herd)
                          (guix i18n)
                          (guix build utils)
+                         ((system repl debug)
+                          #:select (terminal-width))
                          (ice-9 match))
 
             ;; Initialize gettext support so that installers can use
@@ -358,6 +362,11 @@ selected keymap."
             (bindtextdomain "xkeyboard-config"
                             #+(file-append xkeyboard-config "/share/locale"))
 
+            ;; Initialize 'terminal-width' in (system repl debug)
+            ;; to a large-enough value to make backtrace more
+            ;; verbose.
+            (terminal-width 200)
+
             (let* ((current-installer newt-installer)
                    (steps (#$steps current-installer)))
               ((installer-init current-installer))
diff --git a/gnu/installer/aux-files/SUPPORTED b/gnu/installer/aux-files/SUPPORTED
deleted file mode 100644
index 24aae1e089..0000000000
--- a/gnu/installer/aux-files/SUPPORTED
+++ /dev/null
@@ -1,484 +0,0 @@
-aa_DJ.UTF-8 UTF-8
-aa_DJ ISO-8859-1
-aa_ER UTF-8
-aa_ER@saaho UTF-8
-aa_ET UTF-8
-af_ZA.UTF-8 UTF-8
-af_ZA ISO-8859-1
-agr_PE UTF-8
-ak_GH UTF-8
-am_ET UTF-8
-an_ES.UTF-8 UTF-8
-an_ES ISO-8859-15
-anp_IN UTF-8
-ar_AE.UTF-8 UTF-8
-ar_AE ISO-8859-6
-ar_BH.UTF-8 UTF-8
-ar_BH ISO-8859-6
-ar_DZ.UTF-8 UTF-8
-ar_DZ ISO-8859-6
-ar_EG.UTF-8 UTF-8
-ar_EG ISO-8859-6
-ar_IN UTF-8
-ar_IQ.UTF-8 UTF-8
-ar_IQ ISO-8859-6
-ar_JO.UTF-8 UTF-8
-ar_JO ISO-8859-6
-ar_KW.UTF-8 UTF-8
-ar_KW ISO-8859-6
-ar_LB.UTF-8 UTF-8
-ar_LB ISO-8859-6
-ar_LY.UTF-8 UTF-8
-ar_LY ISO-8859-6
-ar_MA.UTF-8 UTF-8
-ar_MA ISO-8859-6
-ar_OM.UTF-8 UTF-8
-ar_OM ISO-8859-6
-ar_QA.UTF-8 UTF-8
-ar_QA ISO-8859-6
-ar_SA.UTF-8 UTF-8
-ar_SA ISO-8859-6
-ar_SD.UTF-8 UTF-8
-ar_SD ISO-8859-6
-ar_SS UTF-8
-ar_SY.UTF-8 UTF-8
-ar_SY ISO-8859-6
-ar_TN.UTF-8 UTF-8
-ar_TN ISO-8859-6
-ar_YE.UTF-8 UTF-8
-ar_YE ISO-8859-6
-ayc_PE UTF-8
-az_AZ UTF-8
-az_IR UTF-8
-as_IN UTF-8
-ast_ES.UTF-8 UTF-8
-ast_ES ISO-8859-15
-be_BY.UTF-8 UTF-8
-be_BY CP1251
-be_BY@latin UTF-8
-bem_ZM UTF-8
-ber_DZ UTF-8
-ber_MA UTF-8
-bg_BG.UTF-8 UTF-8
-bg_BG CP1251
-bhb_IN.UTF-8 UTF-8
-bho_IN UTF-8
-bho_NP UTF-8
-bi_VU UTF-8
-bn_BD UTF-8
-bn_IN UTF-8
-bo_CN UTF-8
-bo_IN UTF-8
-br_FR.UTF-8 UTF-8
-br_FR ISO-8859-1
-br_FR@euro ISO-8859-15
-brx_IN UTF-8
-bs_BA.UTF-8 UTF-8
-bs_BA ISO-8859-2
-byn_ER UTF-8
-ca_AD.UTF-8 UTF-8
-ca_AD ISO-8859-15
-ca_ES.UTF-8 UTF-8
-ca_ES ISO-8859-1
-ca_ES@euro ISO-8859-15
-ca_ES@valencia UTF-8
-ca_FR.UTF-8 UTF-8
-ca_FR ISO-8859-15
-ca_IT.UTF-8 UTF-8
-ca_IT ISO-8859-15
-ce_RU UTF-8
-chr_US UTF-8
-cmn_TW UTF-8
-crh_UA UTF-8
-cs_CZ.UTF-8 UTF-8
-cs_CZ ISO-8859-2
-csb_PL UTF-8
-cv_RU UTF-8
-cy_GB.UTF-8 UTF-8
-cy_GB ISO-8859-14
-da_DK.UTF-8 UTF-8
-da_DK ISO-8859-1
-de_AT.UTF-8 UTF-8
-de_AT ISO-8859-1
-de_AT@euro ISO-8859-15
-de_BE.UTF-8 UTF-8
-de_BE ISO-8859-1
-de_BE@euro ISO-8859-15
-de_CH.UTF-8 UTF-8
-de_CH ISO-8859-1
-de_DE.UTF-8 UTF-8
-de_DE ISO-8859-1
-de_DE@euro ISO-8859-15
-de_IT.UTF-8 UTF-8
-de_IT ISO-8859-1
-de_LI.UTF-8 UTF-8
-de_LU.UTF-8 UTF-8
-de_LU ISO-8859-1
-de_LU@euro ISO-8859-15
-doi_IN UTF-8
-dv_MV UTF-8
-dz_BT UTF-8
-el_GR.UTF-8 UTF-8
-el_GR ISO-8859-7
-el_GR@euro ISO-8859-7
-el_CY.UTF-8 UTF-8
-el_CY ISO-8859-7
-en_AG UTF-8
-en_AU.UTF-8 UTF-8
-en_AU ISO-8859-1
-en_BW.UTF-8 UTF-8
-en_BW ISO-8859-1
-en_CA.UTF-8 UTF-8
-en_CA ISO-8859-1
-en_DK.UTF-8 UTF-8
-en_DK ISO-8859-1
-en_GB.UTF-8 UTF-8
-en_GB ISO-8859-1
-en_HK.UTF-8 UTF-8
-en_HK ISO-8859-1
-en_IE.UTF-8 UTF-8
-en_IE ISO-8859-1
-en_IE@euro ISO-8859-15
-en_IL UTF-8
-en_IN UTF-8
-en_NG UTF-8
-en_NZ.UTF-8 UTF-8
-en_NZ ISO-8859-1
-en_PH.UTF-8 UTF-8
-en_PH ISO-8859-1
-en_SC.UTF-8 UTF-8
-en_SG.UTF-8 UTF-8
-en_SG ISO-8859-1
-en_US.UTF-8 UTF-8
-en_US ISO-8859-1
-en_ZA.UTF-8 UTF-8
-en_ZA ISO-8859-1
-en_ZM UTF-8
-en_ZW.UTF-8 UTF-8
-en_ZW ISO-8859-1
-eo UTF-8
-es_AR.UTF-8 UTF-8
-es_AR ISO-8859-1
-es_BO.UTF-8 UTF-8
-es_BO ISO-8859-1
-es_CL.UTF-8 UTF-8
-es_CL ISO-8859-1
-es_CO.UTF-8 UTF-8
-es_CO ISO-8859-1
-es_CR.UTF-8 UTF-8
-es_CR ISO-8859-1
-es_CU UTF-8
-es_DO.UTF-8 UTF-8
-es_DO ISO-8859-1
-es_EC.UTF-8 UTF-8
-es_EC ISO-8859-1
-es_ES.UTF-8 UTF-8
-es_ES ISO-8859-1
-es_ES@euro ISO-8859-15
-es_GT.UTF-8 UTF-8
-es_GT ISO-8859-1
-es_HN.UTF-8 UTF-8
-es_HN ISO-8859-1
-es_MX.UTF-8 UTF-8
-es_MX ISO-8859-1
-es_NI.UTF-8 UTF-8
-es_NI ISO-8859-1
-es_PA.UTF-8 UTF-8
-es_PA ISO-8859-1
-es_PE.UTF-8 UTF-8
-es_PE ISO-8859-1
-es_PR.UTF-8 UTF-8
-es_PR ISO-8859-1
-es_PY.UTF-8 UTF-8
-es_PY ISO-8859-1
-es_SV.UTF-8 UTF-8
-es_SV ISO-8859-1
-es_US.UTF-8 UTF-8
-es_US ISO-8859-1
-es_UY.UTF-8 UTF-8
-es_UY ISO-8859-1
-es_VE.UTF-8 UTF-8
-es_VE ISO-8859-1
-et_EE.UTF-8 UTF-8
-et_EE ISO-8859-1
-et_EE.ISO-8859-15 ISO-8859-15
-eu_ES.UTF-8 UTF-8
-eu_ES ISO-8859-1
-eu_ES@euro ISO-8859-15
-fa_IR UTF-8
-ff_SN UTF-8
-fi_FI.UTF-8 UTF-8
-fi_FI ISO-8859-1
-fi_FI@euro ISO-8859-15
-fil_PH UTF-8
-fo_FO.UTF-8 UTF-8
-fo_FO ISO-8859-1
-fr_BE.UTF-8 UTF-8
-fr_BE ISO-8859-1
-fr_BE@euro ISO-8859-15
-fr_CA.UTF-8 UTF-8
-fr_CA ISO-8859-1
-fr_CH.UTF-8 UTF-8
-fr_CH ISO-8859-1
-fr_FR.UTF-8 UTF-8
-fr_FR ISO-8859-1
-fr_FR@euro ISO-8859-15
-fr_LU.UTF-8 UTF-8
-fr_LU ISO-8859-1
-fr_LU@euro ISO-8859-15
-fur_IT UTF-8
-fy_NL UTF-8
-fy_DE UTF-8
-ga_IE.UTF-8 UTF-8
-ga_IE ISO-8859-1
-ga_IE@euro ISO-8859-15
-gd_GB.UTF-8 UTF-8
-gd_GB ISO-8859-15
-gez_ER UTF-8
-gez_ER@abegede UTF-8
-gez_ET UTF-8
-gez_ET@abegede UTF-8
-gl_ES.UTF-8 UTF-8
-gl_ES ISO-8859-1
-gl_ES@euro ISO-8859-15
-gu_IN UTF-8
-gv_GB.UTF-8 UTF-8
-gv_GB ISO-8859-1
-ha_NG UTF-8
-hak_TW UTF-8
-he_IL.UTF-8 UTF-8
-he_IL ISO-8859-8
-hi_IN UTF-8
-hif_FJ UTF-8
-hne_IN UTF-8
-hr_HR.UTF-8 UTF-8
-hr_HR ISO-8859-2
-hsb_DE ISO-8859-2
-hsb_DE.UTF-8 UTF-8
-ht_HT UTF-8
-hu_HU.UTF-8 UTF-8
-hu_HU ISO-8859-2
-hy_AM UTF-8
-hy_AM.ARMSCII-8 ARMSCII-8
-ia_FR UTF-8
-id_ID.UTF-8 UTF-8
-id_ID ISO-8859-1
-ig_NG UTF-8
-ik_CA UTF-8
-is_IS.UTF-8 UTF-8
-is_IS ISO-8859-1
-it_CH.UTF-8 UTF-8
-it_CH ISO-8859-1
-it_IT.UTF-8 UTF-8
-it_IT ISO-8859-1
-it_IT@euro ISO-8859-15
-iu_CA UTF-8
-ja_JP.EUC-JP EUC-JP
-ja_JP.UTF-8 UTF-8
-ka_GE.UTF-8 UTF-8
-ka_GE GEORGIAN-PS
-kab_DZ UTF-8
-kk_KZ.UTF-8 UTF-8
-kk_KZ PT154
-kl_GL.UTF-8 UTF-8
-kl_GL ISO-8859-1
-km_KH UTF-8
-kn_IN UTF-8
-ko_KR.EUC-KR EUC-KR
-ko_KR.UTF-8 UTF-8
-kok_IN UTF-8
-ks_IN UTF-8
-ks_IN@devanagari UTF-8
-ku_TR.UTF-8 UTF-8
-ku_TR ISO-8859-9
-kw_GB.UTF-8 UTF-8
-kw_GB ISO-8859-1
-ky_KG UTF-8
-lb_LU UTF-8
-lg_UG.UTF-8 UTF-8
-lg_UG ISO-8859-10
-li_BE UTF-8
-li_NL UTF-8
-lij_IT UTF-8
-ln_CD UTF-8
-lo_LA UTF-8
-lt_LT.UTF-8 UTF-8
-lt_LT ISO-8859-13
-lv_LV.UTF-8 UTF-8
-lv_LV ISO-8859-13
-lzh_TW UTF-8
-mag_IN UTF-8
-mai_IN UTF-8
-mai_NP UTF-8
-mfe_MU UTF-8
-mg_MG.UTF-8 UTF-8
-mg_MG ISO-8859-15
-mhr_RU UTF-8
-mi_NZ.UTF-8 UTF-8
-mi_NZ ISO-8859-13
-miq_NI UTF-8
-mjw_IN UTF-8
-mk_MK.UTF-8 UTF-8
-mk_MK ISO-8859-5
-ml_IN UTF-8
-mn_MN UTF-8
-mni_IN UTF-8
-mr_IN UTF-8
-ms_MY.UTF-8 UTF-8
-ms_MY ISO-8859-1
-mt_MT.UTF-8 UTF-8
-mt_MT ISO-8859-3
-my_MM UTF-8
-nan_TW UTF-8
-nan_TW@latin UTF-8
-nb_NO.UTF-8 UTF-8
-nb_NO ISO-8859-1
-nds_DE UTF-8
-nds_NL UTF-8
-ne_NP UTF-8
-nhn_MX UTF-8
-niu_NU UTF-8
-niu_NZ UTF-8
-nl_AW UTF-8
-nl_BE.UTF-8 UTF-8
-nl_BE ISO-8859-1
-nl_BE@euro ISO-8859-15
-nl_NL.UTF-8 UTF-8
-nl_NL ISO-8859-1
-nl_NL@euro ISO-8859-15
-nn_NO.UTF-8 UTF-8
-nn_NO ISO-8859-1
-nr_ZA UTF-8
-nso_ZA UTF-8
-oc_FR.UTF-8 UTF-8
-oc_FR ISO-8859-1
-om_ET UTF-8
-om_KE.UTF-8 UTF-8
-om_KE ISO-8859-1
-or_IN UTF-8
-os_RU UTF-8
-pa_IN UTF-8
-pa_PK UTF-8
-pap_AW UTF-8
-pap_CW UTF-8
-pl_PL.UTF-8 UTF-8
-pl_PL ISO-8859-2
-ps_AF UTF-8
-pt_BR.UTF-8 UTF-8
-pt_BR ISO-8859-1
-pt_PT.UTF-8 UTF-8
-pt_PT ISO-8859-1
-pt_PT@euro ISO-8859-15
-quz_PE UTF-8
-raj_IN UTF-8
-ro_RO.UTF-8 UTF-8
-ro_RO ISO-8859-2
-ru_RU.KOI8-R KOI8-R
-ru_RU.UTF-8 UTF-8
-ru_RU ISO-8859-5
-ru_UA.UTF-8 UTF-8
-ru_UA KOI8-U
-rw_RW UTF-8
-sa_IN UTF-8
-sat_IN UTF-8
-sc_IT UTF-8
-sd_IN UTF-8
-sd_IN@devanagari UTF-8
-se_NO UTF-8
-sgs_LT UTF-8
-shn_MM UTF-8
-shs_CA UTF-8
-si_LK UTF-8
-sid_ET UTF-8
-sk_SK.UTF-8 UTF-8
-sk_SK ISO-8859-2
-sl_SI.UTF-8 UTF-8
-sl_SI ISO-8859-2
-sm_WS UTF-8
-so_DJ.UTF-8 UTF-8
-so_DJ ISO-8859-1
-so_ET UTF-8
-so_KE.UTF-8 UTF-8
-so_KE ISO-8859-1
-so_SO.UTF-8 UTF-8
-so_SO ISO-8859-1
-sq_AL.UTF-8 UTF-8
-sq_AL ISO-8859-1
-sq_MK UTF-8
-sr_ME UTF-8
-sr_RS UTF-8
-sr_RS@latin UTF-8
-ss_ZA UTF-8
-st_ZA.UTF-8 UTF-8
-st_ZA ISO-8859-1
-sv_FI.UTF-8 UTF-8
-sv_FI ISO-8859-1
-sv_FI@euro ISO-8859-15
-sv_SE.UTF-8 UTF-8
-sv_SE ISO-8859-1
-sw_KE UTF-8
-sw_TZ UTF-8
-szl_PL UTF-8
-ta_IN UTF-8
-ta_LK UTF-8
-tcy_IN.UTF-8 UTF-8
-te_IN UTF-8
-tg_TJ.UTF-8 UTF-8
-tg_TJ KOI8-T
-th_TH.UTF-8 UTF-8
-th_TH TIS-620
-the_NP UTF-8
-ti_ER UTF-8
-ti_ET UTF-8
-tig_ER UTF-8
-tk_TM UTF-8
-tl_PH.UTF-8 UTF-8
-tl_PH ISO-8859-1
-tn_ZA UTF-8
-to_TO UTF-8
-tpi_PG UTF-8
-tr_CY.UTF-8 UTF-8
-tr_CY ISO-8859-9
-tr_TR.UTF-8 UTF-8
-tr_TR ISO-8859-9
-ts_ZA UTF-8
-tt_RU UTF-8
-tt_RU@iqtelif UTF-8
-ug_CN UTF-8
-uk_UA.UTF-8 UTF-8
-uk_UA KOI8-U
-unm_US UTF-8
-ur_IN UTF-8
-ur_PK UTF-8
-uz_UZ.UTF-8 UTF-8
-uz_UZ ISO-8859-1
-uz_UZ@cyrillic UTF-8
-ve_ZA UTF-8
-vi_VN UTF-8
-wa_BE ISO-8859-1
-wa_BE@euro ISO-8859-15
-wa_BE.UTF-8 UTF-8
-wae_CH UTF-8
-wal_ET UTF-8
-wo_SN UTF-8
-xh_ZA.UTF-8 UTF-8
-xh_ZA ISO-8859-1
-yi_US.UTF-8 UTF-8
-yi_US CP1255
-yo_NG UTF-8
-yue_HK UTF-8
-yuw_PG UTF-8
-zh_CN.GB18030 GB18030
-zh_CN.GBK GBK
-zh_CN.UTF-8 UTF-8
-zh_CN GB2312
-zh_HK.UTF-8 UTF-8
-zh_HK BIG5-HKSCS
-zh_SG.UTF-8 UTF-8
-zh_SG.GBK GBK
-zh_SG GB2312
-zh_TW.EUC-TW EUC-TW
-zh_TW.UTF-8 UTF-8
-zh_TW BIG5
-zu_ZA.UTF-8 UTF-8
-zu_ZA ISO-8859-1
diff --git a/gnu/installer/locale.scm b/gnu/installer/locale.scm
index 284062a6e7..2ee5eecd96 100644
--- a/gnu/installer/locale.scm
+++ b/gnu/installer/locale.scm
@@ -62,12 +62,13 @@
 (define (locale-modifier assoc)
   (assoc-ref assoc 'modifier))
 
-(define (locale-string->locale string)
-  "Return the locale association list built from the parsing of STRING."
+(define* (locale-string->locale string #:optional codeset)
+  "Return the locale association list built from the parsing of STRING and,
+optionally, CODESET."
   (let ((matches (string-match locale-regexp string)))
     `((language  . ,(match:substring matches 1))
       (territory . ,(match:substring matches 3))
-      (codeset   . ,(match:substring matches 5))
+      (codeset   . ,(or codeset (match:substring matches 5)))
       (modifier  . ,(match:substring matches 7)))))
 
 (define (normalize-codeset codeset)
@@ -107,17 +108,12 @@
                    '())))))
 
 (define (supported-locales->locales supported-locales)
-  "Parse the SUPPORTED-LOCALES file from the glibc and return the matching
-list of LOCALE association lists."
- (call-with-input-file supported-locales
-    (lambda (port)
-      (let ((lines (read-lines port)))
-        (map (lambda (line)
-               (match (string-split line #\ )
-                 ((locale-string codeset)
-                  (let ((line-locale (locale-string->locale locale-string)))
-                    (assoc-set! line-locale 'codeset codeset)))))
-             lines)))))
+  "Given SUPPORTED-LOCALES, a file produced by 'glibc-supported-locales',
+return a list of locales where each locale is an alist."
+  (map (match-lambda
+         ((locale . codeset)
+          (locale-string->locale locale codeset)))
+       (call-with-input-file supported-locales read)))
 
 
 ;;;
diff --git a/gnu/installer/newt/ethernet.scm b/gnu/installer/newt/ethernet.scm
index d1f357243b..ba5e222a37 100644
--- a/gnu/installer/newt/ethernet.scm
+++ b/gnu/installer/newt/ethernet.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
   #:use-module (gnu installer newt page)
   #:use-module (guix i18n)
   #:use-module (ice-9 format)
+  #:use-module (ice-9 match)
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
   #:use-module (newt)
@@ -58,24 +60,28 @@ connection is pending."
     service))
 
 (define (run-ethernet-page)
-  (let ((services (ethernet-services)))
-    (if (null? services)
-        (begin
-          (run-error-page
-           (G_ "No ethernet service available, please try again.")
-           (G_ "No service"))
-          (raise
-           (condition
-            (&installer-step-abort))))
-        (run-listbox-selection-page
-         #:info-text (G_ "Please select an ethernet network.")
-         #:title (G_ "Ethernet connection")
-         #:listbox-items services
-         #:listbox-item->text ethernet-service->text
-         #:button-text (G_ "Exit")
-         #:button-callback-procedure
-         (lambda _
-           (raise
-            (condition
-             (&installer-step-abort))))
-         #:listbox-callback-procedure connect-ethernet-service))))
+  (match (ethernet-services)
+    (()
+     (run-error-page
+      (G_ "No ethernet service available, please try again.")
+      (G_ "No service"))
+     (raise
+      (condition
+       (&installer-step-abort))))
+    ((service)
+     ;; Only one service is available so return it directly.
+     service)
+    ((services ...)
+     (run-listbox-selection-page
+      #:info-text (G_ "Please select an ethernet network.")
+      #:title (G_ "Ethernet connection")
+      #:listbox-items services
+      #:listbox-item->text ethernet-service->text
+      #:listbox-height (min (+ (length services) 2) 10)
+      #:button-text (G_ "Exit")
+      #:button-callback-procedure
+      (lambda _
+        (raise
+         (condition
+          (&installer-step-abort))))
+      #:listbox-callback-procedure connect-ethernet-service))))
diff --git a/gnu/installer/newt/menu.scm b/gnu/installer/newt/menu.scm
index 161266a94a..e153d3d756 100644
--- a/gnu/installer/newt/menu.scm
+++ b/gnu/installer/newt/menu.scm
@@ -32,7 +32,7 @@ process from."
             steps))
 
   (run-listbox-selection-page
-   #:info-text (G_ "Choose where you want to resume the install.\
+   #:info-text (G_ "Choose where you want to resume the install.  \
 You can also abort the installation by pressing the Abort button.")
    #:title (G_ "Installation menu")
    #:listbox-items (steps->items steps)
diff --git a/gnu/installer/newt/network.scm b/gnu/installer/newt/network.scm
index cf27a8cca2..0a938db103 100644
--- a/gnu/installer/newt/network.scm
+++ b/gnu/installer/newt/network.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (srfi srfi-11)
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
+  #:use-module (ice-9 match)
   #:use-module (newt)
   #:export (run-network-page))
 
@@ -53,32 +55,38 @@ Internet and return the selected technology. For now, only technologies with
                  (string=? type "wifi"))))
             (connman-technologies)))
 
-  (let ((items (technology-items)))
-    (if (null? items)
-        (case (choice-window
-               (G_ "Internet access")
-               (G_ "Continue")
-               (G_ "Exit")
-               (G_ "The install process requires Internet access but no \
+  (match (technology-items)
+    (()
+     (case (choice-window
+            (G_ "Internet access")
+            (G_ "Continue")
+            (G_ "Exit")
+            (G_ "The install process requires Internet access but no \
 network device were found. Do you want to continue anyway?"))
-          ((1) (raise
-                (condition
-                 (&installer-step-break))))
-          ((2) (raise
-                (condition
-                 (&installer-step-abort)))))
-        (run-listbox-selection-page
-         #:info-text (G_ "The install process requires Internet access.\
+       ((1) (raise
+             (condition
+              (&installer-step-break))))
+       ((2) (raise
+             (condition
+              (&installer-step-abort))))))
+    ((technology)
+     ;; Since there's only one technology available, skip the selection
+     ;; screen.
+     technology)
+    ((items ...)
+     (run-listbox-selection-page
+      #:info-text (G_ "The install process requires Internet access.\
  Please select a network device.")
-         #:title (G_ "Internet access")
-         #:listbox-items items
-         #:listbox-item->text technology->text
-         #:button-text (G_ "Exit")
-         #:button-callback-procedure
-         (lambda _
-           (raise
-            (condition
-             (&installer-step-abort))))))))
+      #:title (G_ "Internet access")
+      #:listbox-items items
+      #:listbox-item->text technology->text
+      #:listbox-height (min (+ (length items) 2) 10)
+      #:button-text (G_ "Exit")
+      #:button-callback-procedure
+      (lambda _
+        (raise
+         (condition
+          (&installer-step-abort))))))))
 
 (define (find-technology-by-type technologies type)
   "Find and return a technology with the given TYPE in TECHNOLOGIES list."
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm
index 3173d54737..728721c08f 100644
--- a/gnu/installer/newt/page.scm
+++ b/gnu/installer/newt/page.scm
@@ -75,6 +75,7 @@ this page to TITLE."
                          #:key
                          (allow-empty-input? #f)
                          (default-text #f)
+                         (input-hide-checkbox? #f)
                          (input-field-width 40)
                          (input-flags 0))
   "Run a page to prompt user for an input. The given TEXT will be displayed
@@ -86,22 +87,38 @@ input box, such as FLAG-PASSWORD."
           (make-reflowed-textbox -1 -1 text
                                  input-field-width
                                  #:flags FLAG-BORDER))
-         (grid (make-grid 1 3))
+         (input-visible-cb
+          (make-checkbox -1 -1 (G_ "Hide") #\x "x "))
+         (input-flags* (if input-hide-checkbox?
+                           (logior FLAG-PASSWORD FLAG-SCROLL
+                                   input-flags)
+                           input-flags))
          (input-entry (make-entry -1 -1 20
-                                  #:flags input-flags))
+                                  #:flags input-flags*))
          (ok-button (make-button -1 -1 (G_ "OK")))
+         (grid (vertically-stacked-grid
+                GRID-ELEMENT-COMPONENT text-box
+                GRID-ELEMENT-SUBGRID
+                (apply
+                 horizontal-stacked-grid
+                 GRID-ELEMENT-COMPONENT input-entry
+                 `(,@(if input-hide-checkbox?
+                         (list GRID-ELEMENT-COMPONENT input-visible-cb)
+                         '())))
+                GRID-ELEMENT-COMPONENT ok-button))
          (form (make-form)))
 
+    (add-component-callback
+     input-visible-cb
+     (lambda (component)
+       (set-entry-flags input-entry
+                        FLAG-PASSWORD
+                        FLAG-ROLE-TOGGLE)))
+
     (when default-text
       (set-entry-text input-entry default-text))
 
-    (set-grid-field grid 0 0 GRID-ELEMENT-COMPONENT text-box)
-    (set-grid-field grid 0 1 GRID-ELEMENT-COMPONENT input-entry
-                    #:pad-top 1)
-    (set-grid-field grid 0 2 GRID-ELEMENT-COMPONENT ok-button
-                    #:pad-top 1)
-
-    (add-components-to-form form text-box input-entry ok-button)
+    (add-form-to-grid grid form #t)
     (make-wrapped-grid-window grid title)
     (let ((error-page (lambda ()
                         (run-error-page (G_ "Please enter a non empty input.")
@@ -559,7 +576,12 @@ ITEMS when 'Ok' is pressed."
                          '())))))
          (form (make-form)))
 
-    (set-textbox-text file-textbox file-text)
+    (set-textbox-text file-textbox
+                      (receive (_w _h text)
+                          (reflow-text file-text
+                                       file-textbox-width
+                                       0 0)
+                        text))
     (add-form-to-grid grid form #t)
     (make-wrapped-grid-window grid title)
 
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 2b22ac85b4..cd9d46316a 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -49,6 +49,8 @@
                   #:title (G_ "Partition scheme")
                   #:listbox-items items
                   #:listbox-item->text cdr
+                  #:listbox-height 4
+                  #:sort-listbox-items? #f       ;keep the 'root' option first
                   #:button-text (G_ "Exit")
                   #:button-callback-procedure button-exit-action)))
     (car result)))
@@ -77,6 +79,7 @@ DEVICES list."
                   #:title (G_ "Disk")
                   #:listbox-items (device-items)
                   #:listbox-item->text cdr
+                  #:listbox-height 10
                   #:button-text (G_ "Exit")
                   #:button-callback-procedure button-exit-action))
          (device (car result)))
@@ -117,7 +120,7 @@ Be careful, all data on the disk will be lost.")
   (run-listbox-selection-page
    #:info-text (G_ "Please select the file-system type for this partition.")
    #:title (G_ "File-system type")
-   #:listbox-items '(ext4 btrfs fat32 swap)
+   #:listbox-items '(ext4 btrfs fat16 fat32 swap)
    #:listbox-item->text user-fs-type-name
    #:sort-listbox-items? #f
    #:button-text (G_ "Exit")
@@ -152,21 +155,18 @@ USER-PARTITIONS list. Return this list with password fields filled-in."
                 (file-name (user-partition-file-name user-part))
                 (password-page
                  (lambda ()
-                   ;; Note: Don't use FLAG-PASSWORD here because this is the
-                   ;; first bit of text that the user types in, so it's
-                   ;; probably safer if they can see that the keyboard layout
-                   ;; they chose is in effect.
                    (run-input-page
                     (format #f (G_ "Please enter the password for the \
 encryption of partition ~a (label: ~a).") file-name crypt-label)
-                    (G_ "Password required"))))
+                    (G_ "Password required")
+                    #:input-hide-checkbox? #t)))
                 (password-confirm-page
                  (lambda ()
                    (run-input-page
                     (format #f (G_ "Please confirm the password for the \
 encryption of partition ~a (label: ~a).") file-name crypt-label)
                     (G_ "Password confirmation required")
-                    #:input-flags FLAG-PASSWORD))))
+                    #:input-hide-checkbox? #t))))
            (if crypt-label
                (let loop ()
                  (let ((password (password-page))
@@ -731,8 +731,10 @@ by pressing the Exit button.~%~%")))
            (result (run-listbox-selection-page
                     #:info-text (G_ "Please select a partitioning method.")
                     #:title (G_ "Partitioning method")
+                    #:listbox-height (+ (length items) 2)
                     #:listbox-items items
                     #:listbox-item->text cdr
+                    #:sort-listbox-items? #f
                     #:button-text (G_ "Exit")
                     #:button-callback-procedure button-exit-action))
            (method (car result)))
@@ -750,10 +752,7 @@ by pressing the Exit button.~%~%")))
                             (disk-commit disk)
                             disk)))
                 (scheme (symbol-append method '- (run-scheme-page)))
-                (user-partitions (append
-                                  (auto-partition disk #:scheme scheme)
-                                  (create-special-user-partitions
-                                   (disk-partitions disk)))))
+                (user-partitions (auto-partition! disk #:scheme scheme)))
            (run-disk-page (list disk) user-partitions
                           #:guided? #t)))
        ((eq? method 'manual)
diff --git a/gnu/installer/newt/user.scm b/gnu/installer/newt/user.scm
index deab056e0c..dab805198f 100644
--- a/gnu/installer/newt/user.scm
+++ b/gnu/installer/newt/user.scm
@@ -19,6 +19,7 @@
 
 (define-module (gnu installer newt user)
   #:use-module (gnu installer user)
+  #:use-module ((gnu installer steps) #:select (&installer-step-abort))
   #:use-module (gnu installer newt page)
   #:use-module (gnu installer newt utils)
   #:use-module (guix i18n)
@@ -27,6 +28,8 @@
   #:use-module (ice-9 receive)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
+  #:use-module (srfi srfi-34)
+  #:use-module (srfi srfi-35)
   #:export (run-user-page))
 
 (define* (run-user-add-page #:key (name "") (real-name "")
@@ -34,7 +37,7 @@
   "Run a form to enter the user name, home directory, and password.  Use NAME,
 REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
   (define (pad-label label)
-    (string-pad-right label 20))
+    (string-pad-right label 25))
 
   (let* ((label-name
           (make-label -1 -1 (pad-label (G_ "Name"))))
@@ -44,16 +47,19 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
           (make-label -1 -1 (pad-label (G_ "Home directory"))))
          (label-password
           (make-label -1 -1 (pad-label (G_ "Password"))))
-         (entry-width 30)
+         (entry-width 35)
          (entry-name (make-entry -1 -1 entry-width
                                  #:initial-value name))
          (entry-real-name (make-entry -1 -1 entry-width
                                       #:initial-value real-name))
          (entry-home-directory (make-entry -1 -1 entry-width
                                            #:initial-value home-directory))
+         (password-visible-cb
+          (make-checkbox -1 -1 (G_ "Hide") #\x "x "))
          (entry-password (make-entry -1 -1 entry-width
-                                     #:flags FLAG-PASSWORD))
-         (entry-grid (make-grid 2 5))
+                                     #:flags (logior FLAG-PASSWORD
+                                                     FLAG-SCROLL)))
+         (entry-grid (make-grid 3 5))
          (button-grid (make-grid 1 1))
          (ok-button (make-button -1 -1 (G_ "OK")))
          (grid (make-grid 1 2))
@@ -71,6 +77,12 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
     (set-entry-grid-field 0 3 label-password)
     (set-entry-grid-field 1 3 entry-password)
 
+    (set-grid-field entry-grid
+                    2 3
+                    GRID-ELEMENT-COMPONENT
+                    password-visible-cb
+                    #:pad-left 1)
+
     (set-grid-field button-grid 0 0 GRID-ELEMENT-COMPONENT ok-button)
 
     (add-component-callback
@@ -83,11 +95,19 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
          (set-entry-text entry-real-name
                          (string-titlecase (entry-value entry-name))))))
 
+    (add-component-callback
+     password-visible-cb
+     (lambda (component)
+       (set-entry-flags entry-password
+                        FLAG-PASSWORD
+                        FLAG-ROLE-TOGGLE)))
+
     (add-components-to-form form
                             label-name label-real-name
                             label-home-directory label-password
                             entry-name entry-real-name
                             entry-home-directory entry-password
+                            password-visible-cb
                             ok-button)
 
     (make-wrapped-grid-window (vertically-stacked-grid
@@ -136,7 +156,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-flags FLAG-PASSWORD))
+                    #:input-hide-checkbox? #t))
 
   (if (string=? password confirmation)
       password
@@ -153,7 +173,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-flags FLAG-PASSWORD))
+                    #:input-hide-checkbox? #t))
 
   (confirm-password password run-root-password-page))
 
@@ -179,7 +199,7 @@ administrator (\"root\").")
                      (list GRID-ELEMENT-COMPONENT del-button)))))
            (ok-button (make-button -1 -1 (G_ "OK")))
            (exit-button (make-button -1 -1 (G_ "Exit")))
-           (title "User creation")
+           (title (G_ "User creation"))
            (grid
             (vertically-stacked-grid
              GRID-ELEMENT-COMPONENT info-textbox
@@ -231,7 +251,11 @@ administrator (\"root\").")
                   (run-error-page (G_ "Please create at least one user.")
                                   (G_ "No user"))
                   (run users))
-                (reverse users)))))
+                (reverse users))
+               ((components=? argument exit-button)
+                (raise
+                 (condition
+                  (&installer-step-abort)))))))
           (lambda ()
             (destroy-form-and-pop form))))))
 
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 7cc2217cbe..bd2640d1ad 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -105,8 +105,7 @@
             mkpart
             rmpart
 
-            create-adjacent-partitions
-            auto-partition
+            auto-partition!
 
             &no-root-mount-point
             no-root-mount-point?
@@ -259,6 +258,7 @@ inferior to MAX-SIZE, #f otherwise."
   (case fs-type
     ((ext4)  "ext4")
     ((btrfs) "btrfs")
+    ((fat16) "fat16")
     ((fat32) "fat32")
     ((swap)  "linux-swap")))
 
@@ -267,6 +267,7 @@ inferior to MAX-SIZE, #f otherwise."
   (case fs-type
     ((ext4)  "ext4")
     ((btrfs) "btrfs")
+    ((fat16) "fat")
     ((fat32) "vfat")))
 
 (define (partition-filesystem-user-type partition)
@@ -278,6 +279,7 @@ of <user-partition> record."
            (cond
             ((string=? name "ext4") 'ext4)
             ((string=? name "btrfs") 'btrfs)
+            ((string=? name "fat16") 'fat16)
             ((string=? name "fat32") 'fat32)
             ((or (string=? name "swsusp")
                  (string=? name "linux-swap(v0)")
@@ -818,8 +820,8 @@ cause them to cross."
 ;; Auto partitionning.
 ;;
 
-(define* (create-adjacent-partitions disk partitions
-                                     #:key (last-partition-end 0))
+(define* (create-adjacent-partitions! disk partitions
+                                      #:key (last-partition-end 0))
   "Create the given PARTITIONS on DISK. LAST-PARTITION-END is the sector from
 which we want to start creating partitions. The START and END of each created
 partition are computed from its SIZE value and the position of the last
@@ -885,15 +887,18 @@ USER-PARTITIONS list and return the updated list."
           (need-formatting? #t)))
        user-partitions))
 
-(define* (auto-partition disk
-                         #:key
-                         (scheme 'entire-root))
+(define* (auto-partition! disk
+                          #:key
+                          (scheme 'entire-root))
   "Automatically create partitions on DISK. All the previous
 partitions (except the ESP on a GPT disk, if present) are wiped. SCHEME is the
 desired partitioning scheme. It can be 'entire-root or
 'entire-root-home. 'entire-root will create a swap partition and a root
 partition occupying all the remaining space. 'entire-root-home will create a
-swap partition, a root partition and a home partition."
+swap partition, a root partition and a home partition.
+
+Return the complete list of partitions on DISK, including the ESP when it
+exists."
   (let* ((device (disk-device disk))
          (disk-type (disk-disk-type disk))
          (has-extended? (disk-type-check-feature
@@ -999,10 +1004,13 @@ swap partition, a root partition and a home partition."
                     (mount-point "/home")))))))
            (new-partitions* (force-user-partitions-formatting
                              new-partitions)))
-      (create-adjacent-partitions disk
-                                  new-partitions*
-                                  #:last-partition-end
-                                  (or end-esp-partition 0)))))
+      (append (if esp-partition
+                  (list (partition->user-partition esp-partition))
+                  '())
+              (create-adjacent-partitions! disk
+                                           new-partitions*
+                                           #:last-partition-end
+                                           (or end-esp-partition 0))))))
 
 
 ;;
@@ -1042,13 +1050,23 @@ bit bucket."
       (with-error-to-port (%make-void-port "w")
         (lambda () exp ...)))))
 
+(define (create-btrfs-file-system partition)
+  "Create an btrfs file-system for PARTITION file-name."
+  (with-null-output-ports
+   (invoke "mkfs.btrfs" "-f" partition)))
+
 (define (create-ext4-file-system partition)
   "Create an ext4 file-system for PARTITION file-name."
   (with-null-output-ports
    (invoke "mkfs.ext4" "-F" partition)))
 
+(define (create-fat16-file-system partition)
+  "Create a fat16 file-system for PARTITION file-name."
+  (with-null-output-ports
+   (invoke "mkfs.fat" "-F16" partition)))
+
 (define (create-fat32-file-system partition)
-  "Create an ext4 file-system for PARTITION file-name."
+  "Create a fat32 file-system for PARTITION file-name."
   (with-null-output-ports
    (invoke "mkfs.fat" "-F32" partition)))
 
@@ -1106,10 +1124,18 @@ NEED-FORMATING? field set to #t."
          (luks-format-and-open user-partition))
 
        (case fs-type
+         ((btrfs)
+          (and need-formatting?
+               (not (eq? type 'extended))
+               (create-btrfs-file-system file-name)))
          ((ext4)
           (and need-formatting?
                (not (eq? type 'extended))
                (create-ext4-file-system file-name)))
+         ((fat16)
+          (and need-formatting?
+               (not (eq? type 'extended))
+               (create-fat16-file-system file-name)))
          ((fat32)
           (and need-formatting?
                (not (eq? type 'extended))
diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index fbfcdac4e5..d1dc516568 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -130,11 +130,13 @@
     (if (null? snippets)
         `(,@(if (null? packages)
                 '()
-                `((packages (list ,@packages))))
+                `((packages (append (list ,@packages)
+                                    %base-packages))))
           (services ,base))
         `(,@(if (null? packages)
                 '()
-                `((packages (list ,@packages))))
+                `((packages (append (list ,@packages)
+                                    %base-packages))))
           (services (append (list ,@snippets
 
                                   ,@(if desktop?
diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm
index 039dd0ca10..4e90f32f95 100644
--- a/gnu/installer/steps.scm
+++ b/gnu/installer/steps.scm
@@ -71,7 +71,12 @@
   installer-step?
   (id                         installer-step-id) ;symbol
   (description                installer-step-description ;string
-                              (default #f))
+                              (default #f)
+
+                              ;; Make it thunked so that 'G_' is called at the
+                              ;; right time, as opposed to being called once
+                              ;; when the installer starts.
+                              (thunked))
   (compute                    installer-step-compute) ;procedure
   (configuration-formatter    installer-step-configuration-formatter ;procedure
                               (default #f)))
diff --git a/gnu/local.mk b/gnu/local.mk
index e6e32794b9..d531050254 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -434,8 +434,10 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/smalltalk.scm			\
   %D%/packages/sml.scm				\
   %D%/packages/speech.scm			\
+  %D%/packages/sphinx.scm			\
   %D%/packages/spice.scm			\
   %D%/packages/sqlite.scm			\
+  %D%/packages/squirrel.scm			\
   %D%/packages/ssh.scm				\
   %D%/packages/sssd.scm				\
   %D%/packages/stalonetray.scm			\
@@ -494,6 +496,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/xorg.scm				\
   %D%/packages/xfce.scm				\
   %D%/packages/zile.scm				\
+  %D%/packages/zwave.scm			\
 						\
   %D%/services.scm				\
   %D%/services/admin.scm			\
@@ -629,8 +632,7 @@ endif
 
 installerdir = $(guilemoduledir)/%D%/installer
 dist_installer_DATA =				\
-  %D%/installer/aux-files/logo.txt	        \
-  %D%/installer/aux-files/SUPPORTED
+  %D%/installer/aux-files/logo.txt
 
 # Modules that do not need to be compiled.
 MODULES_NOT_COMPILED +=				\
@@ -663,7 +665,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/aria2-CVE-2019-3500.patch		\
   %D%/packages/patches/aspell-default-dict-dir.patch		\
   %D%/packages/patches/aspell-gcc-compat.patch			\
-  %D%/packages/patches/at-spi2-core-meson-compat.patch		\
   %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
   %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\
   %D%/packages/patches/ath9k-htc-firmware-objcopy.patch		\
@@ -683,14 +684,16 @@ dist_patch_DATA =						\
   %D%/packages/patches/beignet-correct-file-names.patch		\
   %D%/packages/patches/binutils-boot-2.20.1a.patch		\
   %D%/packages/patches/biber-fix-encoding-write.patch		\
-  %D%/packages/patches/bind-fix-unused-pk11-ecc-constants.patch	\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
   %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
   %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
   %D%/packages/patches/boost-fix-icu-build.patch		\
+  %D%/packages/patches/borg-fix-hard-link-preloading.patch	\
   %D%/packages/patches/byobu-writable-status.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
-  %D%/packages/patches/calibre-use-packaged-feedparser.patch	\
+  %D%/packages/patches/calibre-remove-test-bs4.patch		\
+  %D%/packages/patches/calibre-remove-test-sqlite.patch		\
+  %D%/packages/patches/calibre-remove-test-unrar.patch		\
   %D%/packages/patches/casync-renameat2-declaration.patch	\
   %D%/packages/patches/catdoc-CVE-2017-11110.patch		\
   %D%/packages/patches/cdparanoia-fpic.patch			\
@@ -742,7 +745,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
   %D%/packages/patches/doxygen-test.patch			\
   %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
-  %D%/packages/patches/efl-mesa-compat.patch			\
   %D%/packages/patches/elfutils-tests-ptrace.patch		\
   %D%/packages/patches/elixir-path-length.patch			\
   %D%/packages/patches/einstein-build.patch			\
@@ -814,7 +816,10 @@ dist_patch_DATA =						\
   %D%/packages/patches/gcc-6-cross-environment-variables.patch	\
   %D%/packages/patches/gcc-6-source-date-epoch-1.patch		\
   %D%/packages/patches/gcc-6-source-date-epoch-2.patch		\
+  %D%/packages/patches/gcc-8-cross-environment-variables.patch	\
   %D%/packages/patches/gcc-8-strmov-store-file-names.patch	\
+  %D%/packages/patches/gcc-9-asan-fix-limits-include.patch	\
+  %D%/packages/patches/gcc-9-strmov-store-file-names.patch	\
   %D%/packages/patches/gd-CVE-2018-5711.patch			\
   %D%/packages/patches/gd-CVE-2018-1000222.patch		\
   %D%/packages/patches/gd-CVE-2019-6977.patch			\
@@ -863,7 +868,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gmp-arm-asm-nothumb.patch		\
   %D%/packages/patches/gmp-faulty-test.patch			\
   %D%/packages/patches/gnome-shell-theme.patch			\
-  %D%/packages/patches/gnome-tweak-tool-search-paths.patch	\
+  %D%/packages/patches/gnome-tweaks-search-paths.patch		\
   %D%/packages/patches/gnucash-fix-test-transaction-failure.patch \
   %D%/packages/patches/gnutls-skip-trust-store-test.patch	\
   %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
@@ -879,7 +884,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/grub-efi-fat-serial-number.patch		\
   %D%/packages/patches/gsl-test-i686.patch			\
   %D%/packages/patches/gspell-dash-test.patch			\
-  %D%/packages/patches/gst-plugins-good-libvpx-compat.patch	\
   %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
   %D%/packages/patches/guile-2.2-default-utf8.patch		\
   %D%/packages/patches/guile-default-utf8.patch			\
@@ -1114,6 +1118,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch	\
   %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch	\
   %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch	\
+  %D%/packages/patches/ocaml-piqilib-Update-base64.patch	\
   %D%/packages/patches/omake-fix-non-determinism.patch	\
   %D%/packages/patches/ola-readdir-r.patch			\
   %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch	\
@@ -1267,6 +1272,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/slim-sigusr1.patch			\
   %D%/packages/patches/slim-reset.patch				\
   %D%/packages/patches/slim-login.patch				\
+  %D%/packages/patches/slim-display.patch			\
   %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch	\
   %D%/packages/patches/sooperlooper-build-with-wx-30.patch 	\
   %D%/packages/patches/soundconverter-remove-gconf-dependency.patch	\
@@ -1344,7 +1350,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/wavpack-CVE-2018-6767.patch		\
   %D%/packages/patches/wavpack-CVE-2018-7253.patch		\
   %D%/packages/patches/wavpack-CVE-2018-7254.patch		\
-  %D%/packages/patches/webkitgtk-sse2.patch			\
+  %D%/packages/patches/webkitgtk-sans-gstreamer-gl.patch	\
   %D%/packages/patches/weechat-python.patch			\
   %D%/packages/patches/wicd-bitrate-none-fix.patch		\
   %D%/packages/patches/wicd-get-selected-profile-fix.patch	\
@@ -1364,11 +1370,14 @@ dist_patch_DATA =						\
   %D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
   %D%/packages/patches/xf86-video-sis-xorg-compat.patch 	\
   %D%/packages/patches/xf86-video-tga-remove-mibstore.patch	\
+  %D%/packages/patches/xf86-video-voodoo-pcitag.patch		\
   %D%/packages/patches/xfce4-panel-plugins.patch		\
   %D%/packages/patches/xfce4-session-fix-xflock4.patch		\
   %D%/packages/patches/xfce4-settings-defaults.patch		\
   %D%/packages/patches/xinetd-fix-fd-leak.patch			\
-  %D%/packages/patches/xinetd-CVE-2013-4342.patch
+  %D%/packages/patches/xinetd-CVE-2013-4342.patch		\
+  %D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \
+  %D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch
 
 MISC_DISTRO_FILES =				\
   %D%/packages/ld-wrapper.in
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index dfc3467bf8..75380be594 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
+;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,6 +90,7 @@
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages groff)
@@ -181,14 +183,14 @@ and provides a \"top-like\" mode (monitoring).")
 (define-public shepherd
   (package
     (name "shepherd")
-    (version "0.6.0")
+    (version "0.6.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/shepherd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1ys2w83vm62spr8bx38sccfdpy9fqmj7wfywm5k8ihsy2k61da2i"))))
+                "1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
@@ -875,8 +877,10 @@ through the network interface controller.")
     (version "0.13.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
-                                  version ".tar.gz"))
+              (uri
+               (string-append "https://web.archive.org/web/20161221100811/"
+                              "http://jnettop.kubs.info/dist/jnettop-"
+                              version ".tar.gz"))
               (sha256
                (base32
                 "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
@@ -887,7 +891,8 @@ through the network interface controller.")
      `(("glib" ,glib)
        ("ncurses" ,ncurses)
        ("libpcap" ,libpcap)))
-    (home-page "http://jnettop.kubs.info/")
+    (home-page
+     "https://web.archive.org/web/20160703195221/http://jnettop.kubs.info/wiki/")
     (synopsis "Visualize network traffic by bandwidth use")
     (description
      "Jnettop is a traffic visualiser, which captures traffic going
@@ -1130,16 +1135,23 @@ commands and their arguments.")
 (define-public wpa-supplicant-minimal
   (package
     (name "wpa-supplicant-minimal")
-    (version "2.7")
+    (version "2.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://w1.fi/releases/wpa_supplicant-"
-                    version
-                    ".tar.gz"))
+                    version ".tar.gz"))
               (sha256
                (base32
-                "0x1hqyahq44jyla8jl6791nnwrgicrhidadikrnqxsm2nw36pskn"))))
+                "15ixzm347n8w6gdvi3j3yks3i15qmp6by9ayvswm34d929m372d6"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (substitute* "wpa_supplicant/defconfig"
+                    ;; Disable D-Bus to save ~14MiB on the closure size.
+                    (("^CONFIG_CTRL_IFACE_DBUS" line _)
+                     (string-append "#" line)))
+                    #t))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -1152,8 +1164,7 @@ commands and their arguments.")
                (display "
       CONFIG_DEBUG_SYSLOG=y
 
-      # Choose GnuTLS (the default is OpenSSL.)
-      CONFIG_TLS=gnutls
+      CONFIG_TLS=openssl
 
       CONFIG_DRIVER_NL80211=y
       CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
@@ -1187,8 +1198,7 @@ commands and their arguments.")
     (inputs
      `(("readline" ,readline)
        ("libnl" ,libnl)
-       ("gnutls" ,gnutls)
-       ("libgcrypt" ,libgcrypt)))                 ;needed by crypto_gnutls.c
+       ("openssl" ,openssl)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (home-page "https://w1.fi/wpa_supplicant/")
@@ -1221,7 +1231,6 @@ command.")
              (lambda _
                (let ((port (open-file ".config" "al")))
                  (display "
-      CONFIG_CTRL_IFACE_DBUS=y
       CONFIG_CTRL_IFACE_DBUS_NEW=y
       CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
                  (close-port port))
@@ -1277,6 +1286,72 @@ command.")
                         #t))))))
     (synopsis "Graphical user interface for WPA supplicant")))
 
+(define-public hostapd
+  (package
+    (name "hostapd")
+    (version "2.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://w1.fi/releases/hostapd-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; This is mostly copied from 'wpa-supplicant' above.
+             (chdir "hostapd")
+             (copy-file "defconfig" ".config")
+             (let ((port (open-file ".config" "al")))
+               (display "
+      CONFIG_LIBNL32=y
+      CONFIG_IEEE80211R=y
+      CONFIG_IEEE80211N=y
+      CONFIG_IEEE80211AC=y\n" port)
+               (close-port port))
+             #t))
+         (add-after 'install 'install-man-pages
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (man  (string-append out "/share/man"))
+                    (man1 (string-append man "/man1"))
+                    (man8 (string-append man "/man8")))
+               (define (copy-man-page target)
+                 (lambda (file)
+                   (install-file file target)))
+
+               (for-each (copy-man-page man1)
+                         (find-files "." "\\.1"))
+               (for-each (copy-man-page man8)
+                         (find-files "." "\\.8"))
+               #t))))
+
+      #:make-flags (list "CC=gcc"
+                         (string-append "BINDIR=" (assoc-ref %outputs "out")
+                                        "/sbin")
+                         (string-append "LIBDIR=" (assoc-ref %outputs "out")
+                                        "/lib"))
+      #:tests? #f))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+
+    ;; There's an optional dependency on SQLite.
+    (inputs `(("openssl" ,openssl)
+              ("libnl" ,libnl)))
+    (home-page "https://w1.fi/hostapd/")
+    (synopsis "Daemon for Wi-Fi access points and authentication servers")
+    (description
+     "hostapd is a user-space daemon for WiFi access points and authentication
+servers.  It implements IEEE 802.11 access point management, IEEE
+802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS
+authentication server.")
+
+    ;; Same license as wpa_supplicant.
+    (license license:bsd-3)))
+
 (define-public wakelan
   (package
     (name "wakelan")
@@ -1347,7 +1422,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
 (define-public acpica
   (package
     (name "acpica")
-    (version "20190405")
+    (version "20190509")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1355,7 +1430,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0hv6r65l8vk3f6i3by7i47vc1917qm47838bpq80lfn22784y53y"))))
+                "17cf5jhcy9wqla5c9s08khqg0pxhar2nmwdcja2jf2srl2a5y2w6"))))
     (build-system gnu-build-system)
     (native-inputs `(("flex" ,flex)
                      ("bison" ,bison)))
@@ -1902,11 +1977,20 @@ displays a table of current bandwidth usage by pairs of hosts.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
+                "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Don't insist on write access to /var.
+                  (substitute* "src/etc/Makefile.in"
+                    (("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
+                     (string-append "-$(INSTALL)" middle "localstatedir")))
+                  #t))))
     (inputs
      `(("openssl" ,openssl)
        ("libgcrypt" ,libgcrypt)))
     (build-system gnu-build-system)
+    (arguments '(#:configure-flags '("--localstatedir=/var")))
     (home-page "https://dun.github.io/munge/")
     (synopsis "Cluster computing authentication service")
     (description
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 319a049d8a..128d41a570 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -894,7 +894,7 @@ features, and more.")
 (define-public xtensor
   (package
     (name "xtensor")
-    (version "0.17.1")
+    (version "0.20.5")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -902,7 +902,7 @@ features, and more.")
                     (commit version)))
               (sha256
                (base32
-                "0w40v5lp0hp8ihf8nnvak373sb5xx0768pxgiqh3nzn57wf8px4r"))
+                "0kkc4ar7p2d94jnclmrh46dwv7ldy9lx630vm9gci3pp4hnhbj9f"))
               (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (native-inputs
diff --git a/gnu/packages/anthy.scm b/gnu/packages/anthy.scm
index 170e439465..d543cd85fd 100644
--- a/gnu/packages/anthy.scm
+++ b/gnu/packages/anthy.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,7 @@
               ;; The URI does not appear to be easily guessable.  For
               ;; example, you cannot download version "9100g" simply
               ;; by replacing "9100h" in the URI.
-              (uri "http://tcpdiag.dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz")
+              (uri "http://dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz")
               (sha256
                (base32
                 "0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 96662f0713..527555abfc 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
+;;; Copyright © 2019 Andy Tai <atai@atai.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,11 +25,20 @@
 (define-module (gnu packages assembly)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
@@ -129,14 +139,14 @@ to the clients.")
 (define-public fasm
   (package
     (name "fasm")
-    (version "1.73.10")
+    (version "1.73.11")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://flatassembler.net/fasm-"
                            version ".tgz"))
        (sha256
-        (base32 "1lk8vlr0vg7h8lhiav99paa5a1mi0r2m8agxjmczhhavqhx44c32"))))
+        (base32 "1zhbs72qc8bw5158zh6mvzznfamcx5a1bsmbmq9ci0d7wb58sxmg"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests exist
@@ -202,3 +212,36 @@ assembler, a C compiler and a linker.  The assembler uses Intel syntax
     (home-page "https://github.com/jbruchon/dev86")
     (supported-systems '("i686-linux" "x86_64-linux"))
     (license license:gpl2+)))
+
+(define-public libjit
+  (let ((commit "554c9f5c750daa6e13a6a5cd416873c81c7b8226"))
+    (package
+      (name "libjit")
+      (version "0.1.4")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/r/libjit.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0p6wklslkkp3s4aisj3w5a53bagqn5fy4m6088ppd4fcfxgqkrcd"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("bison" ,bison)
+         ("flex" ,flex)
+         ("help2man" ,help2man)
+         ("gettext" ,gettext-minimal)
+         ("libtool" ,libtool)
+         ("makeinfo" ,texinfo)
+         ("pkg-config" ,pkg-config)))
+      (home-page "https://www.gnu.org/software/libjit/")
+      (synopsis "Just-In-Time compilation library")
+      (description
+       "GNU libjit is a library that provides generic Just-In-Time compiler
+functionality independent of any particular bytecode, language, or
+runtime")
+      (license license:lgpl2.1+))))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 49fcc511e6..c897e30458 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -17,7 +17,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -3701,7 +3701,7 @@ library.")
 (define-public faudio
   (package
     (name "faudio")
-    (version "19.04")
+    (version "19.05")
     (source
      (origin
        (method git-fetch)
@@ -3710,7 +3710,7 @@ library.")
              (commit version)))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "00lqf8bjcwm4k8yky9jmqghkxijcm2lxspb9zyl1270yqmj05kiw"))))
+        (base32 "1dja2ykixk1ycqda116cg9fy4qg364dqj88amfln0r9pnsj2kbxk"))))
     (arguments
      '(#:tests? #f                      ; No tests.
        #:configure-flags '("-DFFMPEG=ON")))
diff --git a/gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf b/gnu/packages/aux-files/linux-libre/5.1-arm-veyron.conf
index 8adef3294e..8ff7abc737 100644
--- a/gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf
+++ b/gnu/packages/aux-files/linux-libre/5.1-arm-veyron.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 5.0.3-gnu Kernel Configuration
+# Linux/arm 5.1.0-gnu Kernel Configuration
 #
 
 #
@@ -10,6 +10,8 @@ CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=70400
 CONFIG_CLANG_VERSION=0
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
+CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 
@@ -175,6 +177,7 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
@@ -281,6 +284,7 @@ CONFIG_ARCH_MULTI_V6_V7=y
 # CONFIG_ARCH_KEYSTONE is not set
 # CONFIG_ARCH_MEDIATEK is not set
 # CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MILBEAUT is not set
 # CONFIG_ARCH_MMP is not set
 # CONFIG_ARCH_MVEBU is not set
 # CONFIG_ARCH_NPCM is not set
@@ -486,6 +490,7 @@ CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
 CONFIG_DT_IDLE_STATES=y
 
 #
@@ -544,7 +549,6 @@ CONFIG_ARM_SCPI_PROTOCOL=y
 CONFIG_ARM_SCPI_POWER_DOMAIN=y
 # CONFIG_FIRMWARE_MEMMAP is not set
 # CONFIG_FW_CFG_SYSFS is not set
-# CONFIG_INTEL_STRATIX10_SERVICE is not set
 CONFIG_HAVE_ARM_SMCCC=y
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -578,6 +582,7 @@ CONFIG_GENERIC_IDLE_POLL_SETUP=y
 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
 CONFIG_HAVE_CLK=y
@@ -605,6 +610,7 @@ CONFIG_ARCH_MMAP_RND_BITS=8
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
@@ -746,6 +752,7 @@ CONFIG_SKB_EXTENSIONS=y
 CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=y
 CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
 CONFIG_UNIX_DIAG=y
 # CONFIG_TLS is not set
 CONFIG_XFRM=y
@@ -835,6 +842,7 @@ CONFIG_NF_CONNTRACK_TIMESTAMP=y
 # CONFIG_NF_CONNTRACK_TFTP is not set
 # CONFIG_NF_CT_NETLINK is not set
 # CONFIG_NF_CT_NETLINK_TIMEOUT is not set
+# CONFIG_NF_NAT is not set
 # CONFIG_NF_TABLES is not set
 CONFIG_NETFILTER_XTABLES=y
 
@@ -922,7 +930,6 @@ CONFIG_NF_DEFRAG_IPV4=y
 # CONFIG_NF_LOG_ARP is not set
 # CONFIG_NF_LOG_IPV4 is not set
 # CONFIG_NF_REJECT_IPV4 is not set
-# CONFIG_NF_NAT_IPV4 is not set
 CONFIG_IP_NF_IPTABLES=y
 # CONFIG_IP_NF_MATCH_AH is not set
 # CONFIG_IP_NF_MATCH_ECN is not set
@@ -943,7 +950,6 @@ CONFIG_IP_NF_FILTER=y
 # CONFIG_NF_DUP_IPV6 is not set
 # CONFIG_NF_REJECT_IPV6 is not set
 # CONFIG_NF_LOG_IPV6 is not set
-# CONFIG_NF_NAT_IPV6 is not set
 # CONFIG_IP6_NF_IPTABLES is not set
 CONFIG_NF_DEFRAG_IPV6=y
 # CONFIG_BRIDGE_NF_EBTABLES is not set
@@ -1073,7 +1079,6 @@ CONFIG_NET_9P_VIRTIO=m
 # CONFIG_LWTUNNEL is not set
 CONFIG_GRO_CELLS=y
 # CONFIG_NET_DEVLINK is not set
-CONFIG_MAY_USE_DEVLINK=y
 CONFIG_FAILOVER=m
 CONFIG_HAVE_EBPF_JIT=y
 
@@ -1099,6 +1104,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 # CONFIG_PCIE_DPC is not set
 # CONFIG_PCIE_PTM is not set
+# CONFIG_PCIE_BW is not set
 # CONFIG_PCI_MSI is not set
 CONFIG_PCI_QUIRKS=y
 # CONFIG_PCI_DEBUG is not set
@@ -1168,17 +1174,6 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
-CONFIG_DMA_CMA=y
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_CMA_SIZE_MBYTES=16
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
 CONFIG_GENERIC_ARCH_TOPOLOGY=y
 
 #
@@ -1301,6 +1296,7 @@ CONFIG_EEPROM_93CX6=m
 #
 # VOP Bus Driver
 #
+# CONFIG_VOP_BUS is not set
 
 #
 # Intel MIC Host Driver
@@ -1325,6 +1321,7 @@ CONFIG_EEPROM_93CX6=m
 # CONFIG_MISC_ALCOR_PCI is not set
 # CONFIG_MISC_RTSX_PCI is not set
 CONFIG_MISC_RTSX_USB=y
+# CONFIG_HABANA_AI is not set
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -1392,6 +1389,7 @@ CONFIG_SCSI_LOWLEVEL=y
 # CONFIG_SCSI_MYRS is not set
 # CONFIG_SCSI_SNIC is not set
 # CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_GDTH is not set
 # CONFIG_SCSI_IPS is not set
 # CONFIG_SCSI_INITIO is not set
 # CONFIG_SCSI_INIA100 is not set
@@ -1408,7 +1406,6 @@ CONFIG_SCSI_LOWLEVEL=y
 # CONFIG_SCSI_PM8001 is not set
 # CONFIG_SCSI_VIRTIO is not set
 # CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
 # CONFIG_ATA is not set
 CONFIG_MD=y
 CONFIG_BLK_DEV_MD=m
@@ -1470,6 +1467,7 @@ CONFIG_NET_CORE=y
 # CONFIG_IPVLAN is not set
 # CONFIG_VXLAN is not set
 # CONFIG_GENEVE is not set
+# CONFIG_GTP is not set
 # CONFIG_MACSEC is not set
 # CONFIG_NETCONSOLE is not set
 CONFIG_TUN=y
@@ -1495,6 +1493,7 @@ CONFIG_MDIO_BUS=y
 # CONFIG_MDIO_BITBANG is not set
 # CONFIG_MDIO_BUS_MUX_GPIO is not set
 # CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
 # CONFIG_MDIO_HISI_FEMAC is not set
 # CONFIG_MDIO_MSCC_MIIM is not set
 CONFIG_PHYLIB=y
@@ -1728,6 +1727,7 @@ CONFIG_UNIX98_PTYS=y
 # CONFIG_NOZOMI is not set
 # CONFIG_N_GSM is not set
 # CONFIG_TRACE_SINK is not set
+CONFIG_LDISC_AUTOLOAD=y
 CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
@@ -1787,7 +1787,6 @@ CONFIG_SERIAL_ARC_NR_PORTS=1
 # CONFIG_VIRTIO_CONSOLE is not set
 # CONFIG_IPMI_HANDLER is not set
 # CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
 # CONFIG_RAW_DRIVER is not set
 CONFIG_TCG_TPM=y
@@ -1899,6 +1898,7 @@ CONFIG_SPI_MASTER=y
 CONFIG_SPI_BITBANG=y
 # CONFIG_SPI_CADENCE is not set
 # CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI_NXP_FLEXSPI is not set
 CONFIG_SPI_GPIO=y
 # CONFIG_SPI_FSL_SPI is not set
 # CONFIG_SPI_OC_TINY is not set
@@ -1906,6 +1906,7 @@ CONFIG_SPI_GPIO=y
 # CONFIG_SPI_PXA2XX is not set
 CONFIG_SPI_ROCKCHIP=y
 # CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
 # CONFIG_SPI_MXIC is not set
 # CONFIG_SPI_XCOMM is not set
 # CONFIG_SPI_XILINX is not set
@@ -1988,12 +1989,14 @@ CONFIG_GPIO_PL061=y
 # CONFIG_GPIO_SYSCON is not set
 # CONFIG_GPIO_XILINX is not set
 # CONFIG_GPIO_ZEVIO is not set
+# CONFIG_GPIO_AMD_FCH is not set
 
 #
 # I2C GPIO expanders
 #
 # CONFIG_GPIO_ADP5588 is not set
 # CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
 # CONFIG_GPIO_MAX7300 is not set
 # CONFIG_GPIO_MAX732X is not set
 # CONFIG_GPIO_PCA953X is not set
@@ -2247,7 +2250,9 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_T7L66XB is not set
 # CONFIG_MFD_TC6387XB is not set
 # CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_TQMX86 is not set
 # CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
 # CONFIG_MFD_ARIZONA_I2C is not set
 # CONFIG_MFD_ARIZONA_SPI is not set
 # CONFIG_MFD_WM8400 is not set
@@ -2256,6 +2261,7 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_WM8350_I2C is not set
 # CONFIG_MFD_WM8994 is not set
 # CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_STPMIC1 is not set
 CONFIG_REGULATOR=y
 # CONFIG_REGULATOR_DEBUG is not set
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
@@ -2338,8 +2344,13 @@ CONFIG_DRM_GEM_CMA_HELPER=y
 # CONFIG_DRM_I2C_SIL164 is not set
 # CONFIG_DRM_I2C_NXP_TDA998X is not set
 # CONFIG_DRM_I2C_NXP_TDA9950 is not set
+
+#
+# ARM devices
+#
 # CONFIG_DRM_HDLCD is not set
 # CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_KOMEDA is not set
 # CONFIG_DRM_RADEON is not set
 # CONFIG_DRM_AMDGPU is not set
 
@@ -2388,6 +2399,7 @@ CONFIG_DRM_PANEL_SIMPLE=y
 # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
@@ -2402,7 +2414,9 @@ CONFIG_DRM_PANEL_SIMPLE=y
 # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
 # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
 # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
 CONFIG_DRM_BRIDGE=y
 CONFIG_DRM_PANEL_BRIDGE=y
@@ -2433,6 +2447,7 @@ CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
 # CONFIG_DRM_DW_HDMI_CEC is not set
 CONFIG_DRM_DW_MIPI_DSI=y
 # CONFIG_DRM_STI is not set
+# CONFIG_DRM_ETNAVIV is not set
 # CONFIG_DRM_ARCPGU is not set
 # CONFIG_DRM_HISI_HIBMC is not set
 # CONFIG_DRM_MXSFB is not set
@@ -2646,9 +2661,11 @@ CONFIG_SND_DESIGNWARE_I2S=y
 # CONFIG_SND_SOC_FSL_SSI is not set
 # CONFIG_SND_SOC_FSL_SPDIF is not set
 # CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
 # CONFIG_SND_SOC_IMX_AUDMUX is not set
 # CONFIG_SND_I2S_HI6210_I2S is not set
 # CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
 CONFIG_SND_SOC_ROCKCHIP=y
 CONFIG_SND_SOC_ROCKCHIP_I2S=y
 CONFIG_SND_SOC_ROCKCHIP_PDM=y
@@ -2662,6 +2679,8 @@ CONFIG_SND_SOC_RK3288_HDMI_ANALOG=y
 # STMicroelectronics STM32 SOC audio support
 #
 # CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
 # CONFIG_SND_SOC_XTFPGA_I2S is not set
 # CONFIG_ZX_TDM is not set
 CONFIG_SND_SOC_I2C_AND_SPI=y
@@ -2685,10 +2704,12 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
 # CONFIG_SND_SOC_ALC5623 is not set
 # CONFIG_SND_SOC_BD28623 is not set
 # CONFIG_SND_SOC_BT_SCO is not set
+CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_CS35L32 is not set
 # CONFIG_SND_SOC_CS35L33 is not set
 # CONFIG_SND_SOC_CS35L34 is not set
 # CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
 # CONFIG_SND_SOC_CS42L42 is not set
 # CONFIG_SND_SOC_CS42L51_I2C is not set
 # CONFIG_SND_SOC_CS42L52 is not set
@@ -2700,6 +2721,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
 # CONFIG_SND_SOC_CS4271_SPI is not set
 # CONFIG_SND_SOC_CS42XX8_I2C is not set
 # CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
 # CONFIG_SND_SOC_CS4349 is not set
 # CONFIG_SND_SOC_CS53L30 is not set
 # CONFIG_SND_SOC_DMIC is not set
@@ -2732,6 +2754,7 @@ CONFIG_SND_SOC_MAX98090=y
 # CONFIG_SND_SOC_PCM3168A_SPI is not set
 # CONFIG_SND_SOC_PCM512x_I2C is not set
 # CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RK3328=m
 CONFIG_SND_SOC_RL6231=y
 # CONFIG_SND_SOC_RT5616 is not set
 # CONFIG_SND_SOC_RT5631 is not set
@@ -2780,6 +2803,7 @@ CONFIG_SND_SOC_TS3A227E=y
 # CONFIG_SND_SOC_WM8804_I2C is not set
 # CONFIG_SND_SOC_WM8804_SPI is not set
 # CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
 # CONFIG_SND_SOC_WM8960 is not set
 # CONFIG_SND_SOC_WM8962 is not set
 # CONFIG_SND_SOC_WM8974 is not set
@@ -2788,15 +2812,14 @@ CONFIG_SND_SOC_TS3A227E=y
 # CONFIG_SND_SOC_ZX_AUD96P22 is not set
 # CONFIG_SND_SOC_MAX9759 is not set
 # CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
 # CONFIG_SND_SOC_NAU8540 is not set
 # CONFIG_SND_SOC_NAU8810 is not set
 # CONFIG_SND_SOC_NAU8822 is not set
 # CONFIG_SND_SOC_NAU8824 is not set
 # CONFIG_SND_SOC_TPA6130A2 is not set
 # CONFIG_SND_SIMPLE_CARD is not set
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
 # CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
 
 #
 # HID support
@@ -2843,6 +2866,7 @@ CONFIG_HID_ELAN=y
 # CONFIG_HID_KYE is not set
 # CONFIG_HID_UCLOGIC is not set
 # CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
 # CONFIG_HID_GYRATION is not set
 # CONFIG_HID_ICADE is not set
 # CONFIG_HID_ITE is not set
@@ -2854,6 +2878,7 @@ CONFIG_HID_ELAN=y
 # CONFIG_HID_LENOVO is not set
 # CONFIG_HID_LOGITECH is not set
 # CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
 # CONFIG_HID_MAYFLASH is not set
 # CONFIG_HID_REDRAGON is not set
 # CONFIG_HID_MICROSOFT is not set
@@ -2922,6 +2947,7 @@ CONFIG_USB_OTG=y
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
 # CONFIG_USB_OTG_FSM is not set
 # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=y
 # CONFIG_USB_WUSB_CBAF is not set
 
@@ -2937,6 +2963,7 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 # CONFIG_USB_OXU210HP_HCD is not set
 # CONFIG_USB_ISP116X_HCD is not set
@@ -3189,6 +3216,7 @@ CONFIG_RTC_INTF_DEV=y
 # I2C RTC drivers
 #
 # CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
 # CONFIG_RTC_DRV_ABX80X is not set
 # CONFIG_RTC_DRV_AS3722 is not set
 # CONFIG_RTC_DRV_DS1307 is not set
@@ -3218,8 +3246,10 @@ CONFIG_RTC_DRV_RK808=y
 # CONFIG_RTC_DRV_RX8581 is not set
 # CONFIG_RTC_DRV_RX8025 is not set
 # CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
 # CONFIG_RTC_DRV_RV8803 is not set
 # CONFIG_RTC_DRV_S5M is not set
+# CONFIG_RTC_DRV_SD3078 is not set
 
 #
 # SPI RTC drivers
@@ -3275,6 +3305,7 @@ CONFIG_RTC_DRV_CROS_EC=y
 #
 # CONFIG_RTC_DRV_PL030 is not set
 # CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
 # CONFIG_RTC_DRV_FTRTC010 is not set
 # CONFIG_RTC_DRV_SNVS is not set
 # CONFIG_RTC_DRV_R7301 is not set
@@ -3282,7 +3313,6 @@ CONFIG_RTC_DRV_CROS_EC=y
 #
 # HID Sensor RTC drivers
 #
-# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
 CONFIG_DMADEVICES=y
 # CONFIG_DMADEVICES_DEBUG is not set
 
@@ -3296,6 +3326,7 @@ CONFIG_DMA_OF=y
 CONFIG_AMBA_PL08X=y
 # CONFIG_DW_AXI_DMAC is not set
 # CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
 # CONFIG_INTEL_IDMA64 is not set
 # CONFIG_NBPFAXI_DMA is not set
 CONFIG_PL330_DMA=y
@@ -3329,10 +3360,13 @@ CONFIG_VIRTIO=y
 # CONFIG_STAGING is not set
 # CONFIG_GOLDFISH is not set
 CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC_CTL=y
 CONFIG_CROS_EC_I2C=y
 CONFIG_CROS_EC_SPI=y
 CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_EC_LIGHTBAR=y
+CONFIG_CROS_EC_VBC=m
+CONFIG_CROS_EC_DEBUGFS=m
+CONFIG_CROS_EC_SYSFS=m
 # CONFIG_MELLANOX_PLATFORM is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
@@ -3359,6 +3393,7 @@ CONFIG_COMMON_CLK_RK808=y
 # CONFIG_COMMON_CLK_PALMAS is not set
 # CONFIG_COMMON_CLK_PWM is not set
 # CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
 # CONFIG_HWSPINLOCK is not set
 
 #
@@ -3452,6 +3487,7 @@ CONFIG_EXTCON=y
 # CONFIG_EXTCON_GPIO is not set
 # CONFIG_EXTCON_MAX3355 is not set
 # CONFIG_EXTCON_PALMAS is not set
+# CONFIG_EXTCON_PTN5150 is not set
 # CONFIG_EXTCON_RT8973A is not set
 # CONFIG_EXTCON_SM5502 is not set
 # CONFIG_EXTCON_USB_GPIO is not set
@@ -3511,7 +3547,10 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
 # CONFIG_AD7291 is not set
 # CONFIG_AD7298 is not set
 # CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
 # CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
 # CONFIG_AD7791 is not set
 # CONFIG_AD7793 is not set
 # CONFIG_AD7887 is not set
@@ -3550,6 +3589,7 @@ CONFIG_SD_ADC_MODULATOR=y
 # CONFIG_TI_ADS1015 is not set
 # CONFIG_TI_ADS7950 is not set
 # CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
 # CONFIG_TI_TLC4541 is not set
 # CONFIG_TWL4030_MADC is not set
 # CONFIG_TWL6030_GPADC is not set
@@ -3572,6 +3612,8 @@ CONFIG_SD_ADC_MODULATOR=y
 # CONFIG_BME680 is not set
 # CONFIG_CCS811 is not set
 # CONFIG_IAQCORE is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SPS30 is not set
 # CONFIG_VZ89X is not set
 # CONFIG_IIO_CROS_EC_SENSORS_CORE is not set
 
@@ -3622,6 +3664,7 @@ CONFIG_SD_ADC_MODULATOR=y
 # CONFIG_TI_DAC082S085 is not set
 # CONFIG_TI_DAC5571 is not set
 # CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
 # CONFIG_VF610_DAC is not set
 
 #
@@ -3713,6 +3756,7 @@ CONFIG_SD_ADC_MODULATOR=y
 # CONFIG_LTR501 is not set
 # CONFIG_LV0104CS is not set
 # CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
 # CONFIG_OPT3001 is not set
 # CONFIG_PA12203001 is not set
 # CONFIG_SI1133 is not set
@@ -3858,6 +3902,7 @@ CONFIG_RESET_CONTROLLER=y
 CONFIG_GENERIC_PHY=y
 # CONFIG_BCM_KONA_USB2_PHY is not set
 # CONFIG_PHY_CADENCE_DP is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
 # CONFIG_PHY_CADENCE_SIERRA is not set
 # CONFIG_PHY_FSL_IMX8MQ_USB is not set
 # CONFIG_PHY_PXA_28NM_HSIC is not set
@@ -3904,11 +3949,13 @@ CONFIG_ROCKCHIP_EFUSE=y
 CONFIG_PM_OPP=y
 # CONFIG_SIOX is not set
 # CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
 
 #
 # File systems
 #
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
@@ -3916,7 +3963,6 @@ CONFIG_EXT4_FS=y
 CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_ENCRYPTION is not set
 # CONFIG_EXT4_DEBUG is not set
 CONFIG_JBD2=y
 # CONFIG_JBD2_DEBUG is not set
@@ -4119,7 +4165,7 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
 # CONFIG_FORTIFY_SOURCE is not set
 # CONFIG_STATIC_USERMODEHELPER is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
+CONFIG_LSM="yama,loadpin,safesetid,integrity"
 CONFIG_XOR_BLOCKS=m
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
@@ -4154,6 +4200,7 @@ CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 # CONFIG_CRYPTO_USER is not set
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=y
 CONFIG_CRYPTO_NULL=y
 CONFIG_CRYPTO_NULL2=y
@@ -4356,8 +4403,22 @@ CONFIG_HAS_DMA=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
 CONFIG_DMA_REMAP=y
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_CPU_RMAP=y
 CONFIG_DQL=y
@@ -4387,6 +4448,7 @@ CONFIG_SBITMAP=y
 # printk and dmesg options
 #
 CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=8
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -4406,7 +4468,6 @@ CONFIG_FRAME_WARN=1024
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
 # CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_PAGE_OWNER is not set
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -4424,6 +4485,7 @@ CONFIG_DEBUG_KERNEL=y
 #
 # CONFIG_PAGE_EXTENSION is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
 # CONFIG_PAGE_POISONING is not set
 # CONFIG_DEBUG_PAGE_REF is not set
 # CONFIG_DEBUG_RODATA_TEST is not set
@@ -4551,7 +4613,6 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 CONFIG_TRACING_EVENTS_GPIO=y
-# CONFIG_DMA_API_DEBUG is not set
 # CONFIG_RUNTIME_TESTING_MENU is not set
 # CONFIG_MEMTEST is not set
 # CONFIG_BUG_ON_DATA_CORRUPTION is not set
@@ -4559,12 +4620,12 @@ CONFIG_TRACING_EVENTS_GPIO=y
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
 # CONFIG_UBSAN is not set
+CONFIG_UBSAN_ALIGNMENT=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 # CONFIG_STRICT_DEVMEM is not set
 # CONFIG_ARM_PTDUMP_DEBUGFS is not set
 # CONFIG_DEBUG_WX is not set
 CONFIG_UNWINDER_FRAME_POINTER=y
-# CONFIG_UNWINDER_ARM is not set
 # CONFIG_DEBUG_USER is not set
 # CONFIG_DEBUG_LL is not set
 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
diff --git a/gnu/packages/aux-files/linux-libre/5.0-arm.conf b/gnu/packages/aux-files/linux-libre/5.1-arm.conf
index c9dc41013e..a6b1db1a3e 100644
--- a/gnu/packages/aux-files/linux-libre/5.0-arm.conf
+++ b/gnu/packages/aux-files/linux-libre/5.1-arm.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm 5.0.0-gnu Kernel Configuration
+# Linux/arm 5.1.0-gnu Kernel Configuration
 #
 
 #
@@ -10,6 +10,7 @@ CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=70400
 CONFIG_CLANG_VERSION=0
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 
@@ -182,6 +183,7 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
@@ -369,6 +371,7 @@ CONFIG_SOC_IMX6Q=y
 # CONFIG_ARCH_KEYSTONE is not set
 # CONFIG_ARCH_MEDIATEK is not set
 # CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MILBEAUT is not set
 # CONFIG_ARCH_MMP is not set
 CONFIG_ARCH_MVEBU=y
 CONFIG_MACH_MVEBU_ANY=y
@@ -644,13 +647,14 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
 CONFIG_CPUFREQ_DT=m
 CONFIG_CPUFREQ_DT_PLATDEV=y
 CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
+CONFIG_ARM_ARMADA_8K_CPUFREQ=m
 # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set
 CONFIG_ARM_HIGHBANK_CPUFREQ=m
 CONFIG_ARM_IMX6Q_CPUFREQ=m
 CONFIG_ARM_OMAP2PLUS_CPUFREQ=y
 CONFIG_ARM_SCMI_CPUFREQ=m
 CONFIG_ARM_TEGRA20_CPUFREQ=y
-CONFIG_ARM_TEGRA124_CPUFREQ=m
+CONFIG_ARM_TEGRA124_CPUFREQ=y
 # CONFIG_ARM_TI_CPUFREQ is not set
 # CONFIG_QORIQ_CPUFREQ is not set
 
@@ -713,7 +717,6 @@ CONFIG_ARM_SCMI_POWER_DOMAIN=m
 CONFIG_DMIID=y
 CONFIG_DMI_SYSFS=y
 CONFIG_RASPBERRYPI_FIRMWARE=y
-# CONFIG_INTEL_STRATIX10_SERVICE is not set
 CONFIG_HAVE_ARM_SMCCC=y
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -765,6 +768,7 @@ CONFIG_GENERIC_IDLE_POLL_SETUP=y
 CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
 CONFIG_HAVE_CLK=y
@@ -791,6 +795,7 @@ CONFIG_ARCH_MMAP_RND_BITS=8
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
@@ -811,6 +816,8 @@ CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
@@ -947,6 +954,7 @@ CONFIG_SKB_EXTENSIONS=y
 CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
 CONFIG_UNIX_DIAG=m
 # CONFIG_TLS is not set
 CONFIG_XFRM=y
@@ -1083,7 +1091,7 @@ CONFIG_NF_CONNTRACK_TIMEOUT=y
 CONFIG_NF_CONNTRACK_TIMESTAMP=y
 CONFIG_NF_CONNTRACK_LABELS=y
 CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_GRE=y
 CONFIG_NF_CT_PROTO_SCTP=y
 CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
@@ -1109,6 +1117,7 @@ CONFIG_NF_NAT_IRC=m
 CONFIG_NF_NAT_SIP=m
 CONFIG_NF_NAT_TFTP=m
 CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
 CONFIG_NETFILTER_SYNPROXY=m
 CONFIG_NF_TABLES=m
 CONFIG_NF_TABLES_SET=m
@@ -1123,7 +1132,6 @@ CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
 CONFIG_NFT_MASQ=m
 CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
 CONFIG_NFT_TUNNEL=m
 # CONFIG_NFT_OBJREF is not set
 CONFIG_NFT_QUEUE=m
@@ -1305,8 +1313,6 @@ CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
 CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_IPV4=m
-CONFIG_NF_NAT_MASQUERADE_IPV4=y
 CONFIG_NF_NAT_SNMP_BASIC=m
 CONFIG_NF_NAT_PPTP=m
 CONFIG_NF_NAT_H323=m
@@ -1342,8 +1348,6 @@ CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_NAT_IPV6=m
-CONFIG_NF_NAT_MASQUERADE_IPV6=y
 CONFIG_IP6_NF_IPTABLES=m
 CONFIG_IP6_NF_MATCH_AH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1777,8 +1781,7 @@ CONFIG_LWTUNNEL=y
 CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
-CONFIG_NET_DEVLINK=m
-CONFIG_MAY_USE_DEVLINK=m
+# CONFIG_NET_DEVLINK is not set
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=m
 CONFIG_HAVE_EBPF_JIT=y
@@ -1806,6 +1809,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 CONFIG_PCIE_DPC=y
 CONFIG_PCIE_PTM=y
+# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_QUIRKS=y
@@ -1898,17 +1902,6 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
-CONFIG_DMA_CMA=y
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_CMA_SIZE_MBYTES=16
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
 CONFIG_GENERIC_ARCH_TOPOLOGY=y
 
 #
@@ -2042,10 +2035,9 @@ CONFIG_MTD_LPDDR=m
 CONFIG_MTD_QINFO_PROBE=m
 # CONFIG_MTD_LPDDR2_NVM is not set
 CONFIG_MTD_SPI_NOR=m
-# CONFIG_MTD_MT81xx_NOR is not set
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
 # CONFIG_SPI_CADENCE_QUADSPI is not set
-# CONFIG_SPI_FSL_QUADSPI is not set
+# CONFIG_SPI_MTK_QUADSPI is not set
 CONFIG_MTD_UBI=m
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -2186,6 +2178,7 @@ CONFIG_ALTERA_STAPL=m
 #
 # VOP Bus Driver
 #
+# CONFIG_VOP_BUS is not set
 
 #
 # Intel MIC Host Driver
@@ -2210,6 +2203,7 @@ CONFIG_ALTERA_STAPL=m
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
+# CONFIG_HABANA_AI is not set
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -2296,6 +2290,7 @@ CONFIG_FCOE=m
 CONFIG_SCSI_SNIC=m
 # CONFIG_SCSI_SNIC_DEBUG_FS is not set
 CONFIG_SCSI_DMX3191D=m
+# CONFIG_SCSI_GDTH is not set
 # CONFIG_SCSI_IPS is not set
 # CONFIG_SCSI_INITIO is not set
 # CONFIG_SCSI_INIA100 is not set
@@ -2324,10 +2319,6 @@ CONFIG_SCSI_DH_RDAC=m
 CONFIG_SCSI_DH_HP_SW=m
 CONFIG_SCSI_DH_EMC=m
 CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
 CONFIG_HAVE_PATA_PLATFORM=y
 CONFIG_ATA=m
 CONFIG_ATA_VERBOSE_ERROR=y
@@ -2514,6 +2505,7 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
 CONFIG_NET_TEAM_MODE_LOADBALANCE=m
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
+CONFIG_IPVLAN_L3S=y
 CONFIG_IPVLAN=m
 # CONFIG_IPVTAP is not set
 CONFIG_VXLAN=m
@@ -2869,6 +2861,7 @@ CONFIG_MDIO_BCM_UNIMAC=m
 CONFIG_MDIO_BUS_MUX=m
 # CONFIG_MDIO_BUS_MUX_GPIO is not set
 # CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
 # CONFIG_MDIO_HISI_FEMAC is not set
 CONFIG_MDIO_I2C=m
 # CONFIG_MDIO_MSCC_MIIM is not set
@@ -3142,6 +3135,7 @@ CONFIG_MT7601U=m
 # CONFIG_MT76x0E is not set
 # CONFIG_MT76x2E is not set
 # CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -3292,6 +3286,7 @@ CONFIG_KEYBOARD_LM8323=m
 CONFIG_KEYBOARD_MAX7359=m
 # CONFIG_KEYBOARD_MCS is not set
 # CONFIG_KEYBOARD_MPR121 is not set
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
 CONFIG_KEYBOARD_IMX=m
 # CONFIG_KEYBOARD_NEWTON is not set
 CONFIG_KEYBOARD_TEGRA=m
@@ -3446,6 +3441,7 @@ CONFIG_INPUT_MISC=y
 # CONFIG_INPUT_ATMEL_CAPTOUCH is not set
 # CONFIG_INPUT_BMA150 is not set
 # CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MSM_VIBRATOR is not set
 # CONFIG_INPUT_MC13783_PWRBUTTON is not set
 CONFIG_INPUT_MMA8450=m
 # CONFIG_INPUT_GP2A is not set
@@ -3528,6 +3524,7 @@ CONFIG_UNIX98_PTYS=y
 CONFIG_NOZOMI=m
 CONFIG_N_GSM=m
 # CONFIG_TRACE_SINK is not set
+CONFIG_LDISC_AUTOLOAD=y
 CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
@@ -3616,7 +3613,6 @@ CONFIG_HW_RANDOM_OMAP3_ROM=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_HW_RANDOM_IMX_RNGC=m
 CONFIG_HW_RANDOM_EXYNOS=m
-# CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
 # CONFIG_RAW_DRIVER is not set
 CONFIG_TCG_TPM=y
@@ -3752,6 +3748,8 @@ CONFIG_SPI_BUTTERFLY=m
 # CONFIG_SPI_CADENCE is not set
 # CONFIG_SPI_DESIGNWARE is not set
 # CONFIG_SPI_FSL_LPSPI is not set
+# CONFIG_SPI_FSL_QUADSPI is not set
+# CONFIG_SPI_NXP_FLEXSPI is not set
 CONFIG_SPI_GPIO=y
 CONFIG_SPI_IMX=m
 CONFIG_SPI_LM70_LLP=m
@@ -3765,6 +3763,7 @@ CONFIG_SPI_PL022=m
 CONFIG_SPI_ROCKCHIP=m
 # CONFIG_SPI_S3C64XX is not set
 # CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
 CONFIG_SPI_SUN4I=m
 CONFIG_SPI_SUN6I=m
 CONFIG_SPI_MXIC=m
@@ -3909,12 +3908,14 @@ CONFIG_GPIO_TEGRA=y
 # CONFIG_GPIO_TS4800 is not set
 # CONFIG_GPIO_XILINX is not set
 # CONFIG_GPIO_ZEVIO is not set
+# CONFIG_GPIO_AMD_FCH is not set
 
 #
 # I2C GPIO expanders
 #
 # CONFIG_GPIO_ADP5588 is not set
 # CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
 # CONFIG_GPIO_MAX7300 is not set
 # CONFIG_GPIO_MAX732X is not set
 CONFIG_GPIO_PCA953X=m
@@ -4436,7 +4437,9 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_T7L66XB is not set
 # CONFIG_MFD_TC6387XB is not set
 # CONFIG_MFD_TC6393XB is not set
+# CONFIG_MFD_TQMX86 is not set
 # CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
 # CONFIG_MFD_ARIZONA_I2C is not set
 # CONFIG_MFD_ARIZONA_SPI is not set
 # CONFIG_MFD_WM8400 is not set
@@ -4445,6 +4448,7 @@ CONFIG_TWL6040_CORE=y
 # CONFIG_MFD_WM8350_I2C is not set
 # CONFIG_MFD_WM8994 is not set
 CONFIG_MFD_ROHM_BD718XX=m
+# CONFIG_MFD_STPMIC1 is not set
 CONFIG_MFD_VEXPRESS_SYSREG=y
 CONFIG_REGULATOR=y
 # CONFIG_REGULATOR_DEBUG is not set
@@ -4523,6 +4527,7 @@ CONFIG_IR_SHARP_DECODER=m
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_XMP_DECODER=m
 CONFIG_IR_IMON_DECODER=m
+CONFIG_IR_RCMM_DECODER=m
 CONFIG_RC_DEVICES=y
 CONFIG_RC_ATI_REMOTE=m
 # CONFIG_IR_HIX5HD2 is not set
@@ -4827,7 +4832,6 @@ CONFIG_VIDEO_ASPEED=m
 # CONFIG_VIDEO_MUX is not set
 CONFIG_VIDEO_OMAP3=m
 # CONFIG_VIDEO_OMAP3_DEBUG is not set
-# CONFIG_SOC_CAMERA is not set
 # CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set
 # CONFIG_VIDEO_XILINX is not set
 CONFIG_VIDEO_SUN6I_CSI=m
@@ -5000,10 +5004,6 @@ CONFIG_VIDEO_SAA6752HS=m
 CONFIG_VIDEO_M52790=m
 
 #
-# Sensors used on soc_camera driver
-#
-
-#
 # Media SPI Adapters
 #
 # CONFIG_CXD2880_SPI_DRV is not set
@@ -5235,8 +5235,13 @@ CONFIG_DRM_SCHED=m
 # CONFIG_DRM_I2C_SIL164 is not set
 CONFIG_DRM_I2C_NXP_TDA998X=m
 CONFIG_DRM_I2C_NXP_TDA9950=m
+
+#
+# ARM devices
+#
 # CONFIG_DRM_HDLCD is not set
 # CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_KOMEDA is not set
 # CONFIG_DRM_RADEON is not set
 # CONFIG_DRM_AMDGPU is not set
 
@@ -5356,6 +5361,7 @@ CONFIG_DRM_PANEL_ILITEK_IL9322=m
 CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
@@ -5370,7 +5376,9 @@ CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
 # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
 # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
 # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
 CONFIG_DRM_BRIDGE=y
 CONFIG_DRM_PANEL_BRIDGE=y
@@ -5717,6 +5725,7 @@ CONFIG_SND_BCM2835_SOC_I2S=m
 CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 # CONFIG_SND_SOC_FSL_ESAI is not set
+CONFIG_SND_SOC_FSL_MICFIL=m
 CONFIG_SND_SOC_FSL_UTILS=m
 CONFIG_SND_SOC_IMX_PCM_DMA=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
@@ -5736,6 +5745,7 @@ CONFIG_SND_SOC_IMX_MC13783=m
 # CONFIG_SND_I2S_HI6210_I2S is not set
 # CONFIG_SND_KIRKWOOD_SOC is not set
 # CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
 CONFIG_SND_SOC_ROCKCHIP=m
 CONFIG_SND_SOC_ROCKCHIP_I2S=m
 # CONFIG_SND_SOC_ROCKCHIP_PDM is not set
@@ -5798,6 +5808,8 @@ CONFIG_SND_SOC_OMAP3_TWL4030=m
 CONFIG_SND_SOC_OMAP_ABE_TWL6040=m
 CONFIG_SND_SOC_OMAP_HDMI=m
 # CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
 # CONFIG_SND_SOC_XTFPGA_I2S is not set
 # CONFIG_ZX_TDM is not set
 CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -5822,10 +5834,12 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
 CONFIG_SND_SOC_ALC5632=m
 # CONFIG_SND_SOC_BD28623 is not set
 # CONFIG_SND_SOC_BT_SCO is not set
+CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_CS35L32 is not set
 # CONFIG_SND_SOC_CS35L33 is not set
 # CONFIG_SND_SOC_CS35L34 is not set
 # CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
 # CONFIG_SND_SOC_CS42L42 is not set
 # CONFIG_SND_SOC_CS42L51_I2C is not set
 # CONFIG_SND_SOC_CS42L52 is not set
@@ -5837,6 +5851,7 @@ CONFIG_SND_SOC_ALC5632=m
 # CONFIG_SND_SOC_CS4271_SPI is not set
 # CONFIG_SND_SOC_CS42XX8_I2C is not set
 # CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
 # CONFIG_SND_SOC_CS4349 is not set
 # CONFIG_SND_SOC_CS53L30 is not set
 CONFIG_SND_SOC_DMIC=m
@@ -5869,6 +5884,7 @@ CONFIG_SND_SOC_MAX98090=m
 # CONFIG_SND_SOC_PCM3168A_SPI is not set
 # CONFIG_SND_SOC_PCM512x_I2C is not set
 # CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RK3328=m
 CONFIG_SND_SOC_RL6231=m
 # CONFIG_SND_SOC_RT5616 is not set
 # CONFIG_SND_SOC_RT5631 is not set
@@ -5923,6 +5939,7 @@ CONFIG_SND_SOC_WM8753=m
 # CONFIG_SND_SOC_WM8804_I2C is not set
 # CONFIG_SND_SOC_WM8804_SPI is not set
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8904=m
 # CONFIG_SND_SOC_WM8960 is not set
 # CONFIG_SND_SOC_WM8962 is not set
 # CONFIG_SND_SOC_WM8974 is not set
@@ -5933,6 +5950,7 @@ CONFIG_SND_SOC_WM9712=m
 # CONFIG_SND_SOC_MAX9759 is not set
 CONFIG_SND_SOC_MC13783=m
 # CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
 # CONFIG_SND_SOC_NAU8540 is not set
 # CONFIG_SND_SOC_NAU8810 is not set
 # CONFIG_SND_SOC_NAU8822 is not set
@@ -5940,9 +5958,7 @@ CONFIG_SND_SOC_MC13783=m
 CONFIG_SND_SOC_TPA6130A2=m
 CONFIG_SND_SIMPLE_CARD_UTILS=m
 CONFIG_SND_SIMPLE_CARD=m
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
 # CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
 # CONFIG_SND_XEN_FRONTEND is not set
 CONFIG_AC97_BUS=m
 
@@ -5994,6 +6010,7 @@ CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_KYE=m
 CONFIG_HID_UCLOGIC=m
 CONFIG_HID_WALTOP=m
+# CONFIG_HID_VIEWSONIC is not set
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 # CONFIG_HID_ITE is not set
@@ -6011,6 +6028,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y
 CONFIG_LOGIG940_FF=y
 CONFIG_LOGIWHEELS_FF=y
 CONFIG_HID_MAGICMOUSE=m
+# CONFIG_HID_MALTRON is not set
 # CONFIG_HID_MAYFLASH is not set
 # CONFIG_HID_REDRAGON is not set
 CONFIG_HID_MICROSOFT=m
@@ -6095,6 +6113,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
 CONFIG_USB_LEDS_TRIGGER_USBPORT=m
+CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
 CONFIG_USB_WUSB_CBAF=m
@@ -6114,6 +6133,7 @@ CONFIG_USB_EHCI_HCD=m
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_FSL=m
 CONFIG_USB_EHCI_MXC=m
 CONFIG_USB_EHCI_HCD_OMAP=m
 CONFIG_USB_EHCI_HCD_ORION=m
@@ -6620,6 +6640,7 @@ CONFIG_MLX5_INFINIBAND=m
 CONFIG_INFINIBAND_NES=m
 # CONFIG_INFINIBAND_NES_DEBUG is not set
 CONFIG_INFINIBAND_OCRDMA=m
+CONFIG_RDMA_RXE=m
 CONFIG_INFINIBAND_IPOIB=m
 CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -6628,8 +6649,6 @@ CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
-CONFIG_RDMA_RXE=m
-# CONFIG_INFINIBAND_BNXT_RE is not set
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
 # CONFIG_EDAC is not set
@@ -6656,6 +6675,7 @@ CONFIG_RTC_INTF_DEV=y
 # I2C RTC drivers
 #
 # CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
 # CONFIG_RTC_DRV_ABX80X is not set
 CONFIG_RTC_DRV_AS3722=y
 CONFIG_RTC_DRV_DS1307=y
@@ -6686,8 +6706,10 @@ CONFIG_RTC_DRV_PALMAS=y
 # CONFIG_RTC_DRV_RX8581 is not set
 # CONFIG_RTC_DRV_RX8025 is not set
 # CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
 # CONFIG_RTC_DRV_RV8803 is not set
 CONFIG_RTC_DRV_S5M=y
+# CONFIG_RTC_DRV_SD3078 is not set
 
 #
 # SPI RTC drivers
@@ -6753,6 +6775,7 @@ CONFIG_RTC_DRV_SUN6I=y
 CONFIG_RTC_DRV_SUNXI=y
 CONFIG_RTC_DRV_MV=y
 CONFIG_RTC_DRV_ARMADA38X=y
+# CONFIG_RTC_DRV_CADENCE is not set
 # CONFIG_RTC_DRV_FTRTC010 is not set
 CONFIG_RTC_DRV_MC13XXX=m
 CONFIG_RTC_DRV_TEGRA=y
@@ -6783,6 +6806,7 @@ CONFIG_DMA_SUN4I=y
 CONFIG_DMA_SUN6I=m
 # CONFIG_DW_AXI_DMAC is not set
 # CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
 CONFIG_IMX_DMA=y
 CONFIG_IMX_SDMA=y
 # CONFIG_INTEL_IDMA64 is not set
@@ -6891,7 +6915,6 @@ CONFIG_RTLWIFI_DEBUG_ST=y
 #
 # Analog to digital converters
 #
-# CONFIG_AD7606 is not set
 # CONFIG_AD7780 is not set
 # CONFIG_AD7816 is not set
 # CONFIG_AD7192 is not set
@@ -6906,7 +6929,6 @@ CONFIG_RTLWIFI_DEBUG_ST=y
 # Capacitance to digital converters
 #
 # CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
 # CONFIG_AD7746 is not set
 
 #
@@ -6930,7 +6952,6 @@ CONFIG_RTLWIFI_DEBUG_ST=y
 #
 # CONFIG_AD2S1210 is not set
 # CONFIG_FB_SM750 is not set
-# CONFIG_FB_XGI is not set
 
 #
 # Speakup console speech
@@ -6970,9 +6991,6 @@ CONFIG_BCM_VIDEOCORE=y
 # CONFIG_SND_BCM2835 is not set
 # CONFIG_VIDEO_BCM2835 is not set
 CONFIG_PI433=m
-CONFIG_MTK_MMC=m
-# CONFIG_MTK_AEE_KDUMP is not set
-# CONFIG_MTK_MMC_CD_POLL is not set
 
 #
 # Gasket devices
@@ -6989,10 +7007,13 @@ CONFIG_EROFS_FS_IO_MAX_RETRIES=5
 # CONFIG_EROFS_FS_ZIP is not set
 # CONFIG_GOLDFISH is not set
 CONFIG_CHROME_PLATFORMS=y
-CONFIG_CROS_EC_CTL=m
 CONFIG_CROS_EC_I2C=m
 CONFIG_CROS_EC_SPI=m
 CONFIG_CROS_EC_PROTO=y
+# CONFIG_CROS_EC_LIGHTBAR is not set
+CONFIG_CROS_EC_VBC=m
+CONFIG_CROS_EC_DEBUGFS=m
+CONFIG_CROS_EC_SYSFS=m
 # CONFIG_MELLANOX_PLATFORM is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
@@ -7024,6 +7045,7 @@ CONFIG_COMMON_CLK_PALMAS=m
 # CONFIG_COMMON_CLK_PWM is not set
 # CONFIG_COMMON_CLK_VC5 is not set
 # CONFIG_COMMON_CLK_BD718XX is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
 CONFIG_MXC_CLK=y
 CONFIG_MVEBU_CLK_COMMON=y
 CONFIG_MVEBU_CLK_CPU=y
@@ -7049,6 +7071,7 @@ CONFIG_SUN8I_R40_CCU=y
 CONFIG_SUN9I_A80_CCU=y
 CONFIG_SUN8I_R_CCU=y
 CONFIG_TEGRA_CLK_EMC=y
+CONFIG_TEGRA_CLK_DFLL=y
 CONFIG_COMMON_CLK_TI_ADPLL=y
 # CONFIG_HWSPINLOCK is not set
 
@@ -7131,6 +7154,7 @@ CONFIG_TEGRA_IOMMU_SMMU=y
 #
 # Broadcom SoC drivers
 #
+CONFIG_BCM2835_POWER=y
 CONFIG_RASPBERRYPI_POWER=y
 # CONFIG_SOC_BRCMSTB is not set
 
@@ -7141,6 +7165,7 @@ CONFIG_RASPBERRYPI_POWER=y
 #
 # i.MX SoC drivers
 #
+CONFIG_IMX_GPCV2_PM_DOMAINS=y
 
 #
 # Qualcomm SoC drivers
@@ -7192,6 +7217,7 @@ CONFIG_EXTCON=y
 # CONFIG_EXTCON_GPIO is not set
 # CONFIG_EXTCON_MAX3355 is not set
 CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_PTN5150=m
 # CONFIG_EXTCON_RT8973A is not set
 # CONFIG_EXTCON_SM5502 is not set
 CONFIG_EXTCON_USB_GPIO=m
@@ -7265,7 +7291,10 @@ CONFIG_MMA8452=m
 # CONFIG_AD7291 is not set
 # CONFIG_AD7298 is not set
 # CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
 # CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
 # CONFIG_AD7791 is not set
 # CONFIG_AD7793 is not set
 # CONFIG_AD7887 is not set
@@ -7296,6 +7325,7 @@ CONFIG_LTC2471=m
 # CONFIG_PALMAS_GPADC is not set
 CONFIG_ROCKCHIP_SARADC=m
 CONFIG_SD_ADC_MODULATOR=m
+# CONFIG_STMPE_ADC is not set
 # CONFIG_SUN4I_GPADC is not set
 # CONFIG_TI_ADC081C is not set
 # CONFIG_TI_ADC0832 is not set
@@ -7307,6 +7337,7 @@ CONFIG_SD_ADC_MODULATOR=m
 # CONFIG_TI_ADS1015 is not set
 # CONFIG_TI_ADS7950 is not set
 # CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
 CONFIG_TI_AM335X_ADC=m
 # CONFIG_TI_TLC4541 is not set
 CONFIG_TWL4030_MADC=m
@@ -7331,6 +7362,8 @@ CONFIG_VIPERBOARD_ADC=m
 # CONFIG_BME680 is not set
 CONFIG_CCS811=m
 # CONFIG_IAQCORE is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SPS30 is not set
 # CONFIG_VZ89X is not set
 # CONFIG_IIO_CROS_EC_SENSORS_CORE is not set
 
@@ -7386,6 +7419,7 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 # CONFIG_TI_DAC082S085 is not set
 # CONFIG_TI_DAC5571 is not set
 # CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
 # CONFIG_VF610_DAC is not set
 
 #
@@ -7481,6 +7515,7 @@ CONFIG_HID_SENSOR_PROX=m
 # CONFIG_LTR501 is not set
 # CONFIG_LV0104CS is not set
 # CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
 # CONFIG_OPT3001 is not set
 # CONFIG_PA12203001 is not set
 # CONFIG_SI1133 is not set
@@ -7609,7 +7644,8 @@ CONFIG_PWM_SYSFS=y
 CONFIG_PWM_BCM2835=m
 # CONFIG_PWM_CROS_EC is not set
 # CONFIG_PWM_FSL_FTM is not set
-CONFIG_PWM_IMX=m
+# CONFIG_PWM_IMX1 is not set
+# CONFIG_PWM_IMX27 is not set
 CONFIG_PWM_OMAP_DMTIMER=m
 # CONFIG_PWM_PCA9685 is not set
 CONFIG_PWM_ROCKCHIP=m
@@ -7655,13 +7691,19 @@ CONFIG_RESET_SUNXI=y
 # PHY Subsystem
 #
 CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
 CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN6I_MIPI_DPHY=m
 CONFIG_PHY_SUN9I_USB=m
 # CONFIG_BCM_KONA_USB2_PHY is not set
 # CONFIG_PHY_CADENCE_DP is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
 # CONFIG_PHY_CADENCE_SIERRA is not set
 # CONFIG_PHY_FSL_IMX8MQ_USB is not set
 CONFIG_ARMADA375_USBCLUSTER_PHY=y
+CONFIG_PHY_MVEBU_A3700_COMPHY=m
+CONFIG_PHY_MVEBU_A3700_UTMI=m
+CONFIG_PHY_MVEBU_A38X_COMPHY=m
 CONFIG_PHY_MVEBU_CP110_COMPHY=m
 # CONFIG_PHY_PXA_28NM_HSIC is not set
 # CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -7728,11 +7770,13 @@ CONFIG_NVMEM_SUNXI_SID=m
 CONFIG_PM_OPP=y
 # CONFIG_SIOX is not set
 # CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
 
 #
 # File systems
 #
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
@@ -7740,7 +7784,6 @@ CONFIG_EXT4_FS=y
 CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_ENCRYPTION is not set
 # CONFIG_EXT4_DEBUG is not set
 CONFIG_JBD2=y
 # CONFIG_JBD2_DEBUG is not set
@@ -7785,7 +7828,6 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-CONFIG_F2FS_FS_ENCRYPTION=y
 # CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_POSIX_ACL=y
@@ -7793,7 +7835,7 @@ CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
 CONFIG_MANDATORY_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=m
+# CONFIG_FS_ENCRYPTION is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -7902,7 +7944,6 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 # CONFIG_UBIFS_ATIME_SUPPORT is not set
 CONFIG_UBIFS_FS_XATTR=y
-# CONFIG_UBIFS_FS_ENCRYPTION is not set
 CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_UBIFS_FS_AUTHENTICATION=y
 # CONFIG_CRAMFS is not set
@@ -7939,9 +7980,6 @@ CONFIG_SYSV_FS=m
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
 # CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V2=m
@@ -7982,6 +8020,7 @@ CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
 CONFIG_SUNRPC_SWAP=y
 CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
 CONFIG_SUNRPC_DEBUG=y
 CONFIG_SUNRPC_XPRT_RDMA=m
 CONFIG_CEPH_FS=m
@@ -8101,12 +8140,12 @@ CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
 CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
 CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
 # CONFIG_SECURITY_APPARMOR_DEBUG is not set
 # CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
+# CONFIG_SECURITY_SAFESETID is not set
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
 CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -8136,7 +8175,7 @@ CONFIG_IMA_TRUSTED_KEYRING=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 CONFIG_DEFAULT_SECURITY_APPARMOR=y
 # CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_LSM="yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo"
 CONFIG_XOR_BLOCKS=m
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
@@ -8171,6 +8210,7 @@ CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_USER=m
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=m
 CONFIG_CRYPTO_NULL=m
 CONFIG_CRYPTO_NULL2=y
@@ -8398,10 +8438,24 @@ CONFIG_HAS_DMA=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
 CONFIG_DMA_VIRT_OPS=y
 CONFIG_SWIOTLB=y
 CONFIG_DMA_REMAP=y
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_CHECK_SIGNATURE=y
 CONFIG_CPU_RMAP=y
@@ -8436,6 +8490,7 @@ CONFIG_SBITMAP=y
 # printk and dmesg options
 #
 CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -8455,7 +8510,6 @@ CONFIG_FRAME_WARN=1024
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
 # CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_PAGE_OWNER is not set
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -8472,6 +8526,7 @@ CONFIG_DEBUG_KERNEL=y
 # Memory Debugging
 #
 CONFIG_PAGE_EXTENSION=y
+# CONFIG_PAGE_OWNER is not set
 CONFIG_PAGE_POISONING=y
 CONFIG_PAGE_POISONING_NO_SANITY=y
 # CONFIG_PAGE_POISONING_ZERO is not set
@@ -8606,7 +8661,6 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 CONFIG_TRACING_EVENTS_GPIO=y
-# CONFIG_DMA_API_DEBUG is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
 # CONFIG_TEST_LIST_SORT is not set
@@ -8631,6 +8685,7 @@ CONFIG_TEST_XARRAY=m
 # CONFIG_TEST_HASH is not set
 # CONFIG_TEST_IDA is not set
 # CONFIG_TEST_LKM is not set
+CONFIG_TEST_VMALLOC=m
 CONFIG_TEST_USER_COPY=m
 CONFIG_TEST_BPF=m
 CONFIG_FIND_BIT_BENCHMARK=m
@@ -8640,12 +8695,14 @@ CONFIG_TEST_FIRMWARE=m
 CONFIG_TEST_STATIC_KEYS=m
 # CONFIG_TEST_KMOD is not set
 # CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_STACKINIT is not set
 # CONFIG_MEMTEST is not set
 CONFIG_BUG_ON_DATA_CORRUPTION=y
 # CONFIG_SAMPLES is not set
 CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
 # CONFIG_UBSAN is not set
+CONFIG_UBSAN_ALIGNMENT=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
@@ -8653,7 +8710,6 @@ CONFIG_ARM_PTDUMP_CORE=y
 # CONFIG_ARM_PTDUMP_DEBUGFS is not set
 CONFIG_DEBUG_WX=y
 CONFIG_UNWINDER_FRAME_POINTER=y
-# CONFIG_UNWINDER_ARM is not set
 # CONFIG_DEBUG_USER is not set
 # CONFIG_DEBUG_LL is not set
 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
diff --git a/gnu/packages/aux-files/linux-libre/5.0-arm64.conf b/gnu/packages/aux-files/linux-libre/5.1-arm64.conf
index e6309efa19..ec30895b56 100644
--- a/gnu/packages/aux-files/linux-libre/5.0-arm64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.1-arm64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 5.0.0-gnu Kernel Configuration
+# Linux/arm64 5.1.0-gnu Kernel Configuration
 #
 
 #
@@ -10,6 +10,7 @@ CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=70400
 CONFIG_CLANG_VERSION=0
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -179,6 +180,7 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
@@ -251,6 +253,7 @@ CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_BCM2835=y
 # CONFIG_ARCH_BCM_IPROC is not set
 # CONFIG_ARCH_BERLIN is not set
+CONFIG_ARCH_BITMAIN=y
 # CONFIG_ARCH_BRCMSTB is not set
 # CONFIG_ARCH_EXYNOS is not set
 # CONFIG_ARCH_K3 is not set
@@ -310,6 +313,7 @@ CONFIG_QCOM_QDF2400_ERRATUM_0065=y
 CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
 CONFIG_HISILICON_ERRATUM_161600802=y
 CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_FUJITSU_ERRATUM_010001=y
 CONFIG_ARM64_4K_PAGES=y
 # CONFIG_ARM64_16K_PAGES is not set
 # CONFIG_ARM64_64K_PAGES is not set
@@ -387,6 +391,7 @@ CONFIG_ARM64_CNP=y
 CONFIG_ARM64_PTR_AUTH=y
 CONFIG_ARM64_SVE=y
 CONFIG_ARM64_MODULE_PLTS=y
+# CONFIG_ARM64_PSEUDO_NMI is not set
 CONFIG_RELOCATABLE=y
 CONFIG_RANDOMIZE_BASE=y
 CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
@@ -402,6 +407,7 @@ CONFIG_EFI=y
 CONFIG_DMI=y
 CONFIG_COMPAT=y
 CONFIG_SYSVIPC_COMPAT=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
 
 #
 # Power management options
@@ -444,6 +450,7 @@ CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
 CONFIG_DT_IDLE_STATES=y
 
 #
@@ -478,10 +485,11 @@ CONFIG_CPUFREQ_DT=m
 CONFIG_CPUFREQ_DT_PLATDEV=y
 CONFIG_ACPI_CPPC_CPUFREQ=m
 # CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set
+# CONFIG_ARM_ARMADA_8K_CPUFREQ is not set
 # CONFIG_ARM_QCOM_CPUFREQ_HW is not set
 CONFIG_ARM_SCMI_CPUFREQ=m
 CONFIG_ARM_TEGRA20_CPUFREQ=y
-CONFIG_ARM_TEGRA124_CPUFREQ=m
+CONFIG_ARM_TEGRA124_CPUFREQ=y
 # CONFIG_ARM_TEGRA186_CPUFREQ is not set
 # CONFIG_QORIQ_CPUFREQ is not set
 
@@ -499,7 +507,6 @@ CONFIG_DMIID=y
 CONFIG_DMI_SYSFS=y
 CONFIG_RASPBERRYPI_FIRMWARE=y
 # CONFIG_FW_CFG_SYSFS is not set
-# CONFIG_INTEL_STRATIX10_SERVICE is not set
 CONFIG_QCOM_SCM=y
 CONFIG_QCOM_SCM_64=y
 # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
@@ -521,6 +528,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
 # CONFIG_EFI_CAPSULE_LOADER is not set
 # CONFIG_EFI_TEST is not set
 # CONFIG_RESET_ATTACK_MITIGATION is not set
+CONFIG_EFI_EARLYCON=y
 CONFIG_IMX_SCU=y
 CONFIG_IMX_SCU_PD=y
 CONFIG_MESON_SM=y
@@ -677,6 +685,7 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
 CONFIG_REFCOUNT_FULL=y
 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 
 #
 # GCOV-based kernel profiling
@@ -689,6 +698,8 @@ CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
@@ -897,6 +908,7 @@ CONFIG_SKB_EXTENSIONS=y
 CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
 CONFIG_UNIX_DIAG=m
 # CONFIG_TLS is not set
 CONFIG_XFRM=y
@@ -1035,7 +1047,7 @@ CONFIG_NF_CONNTRACK_TIMEOUT=y
 CONFIG_NF_CONNTRACK_TIMESTAMP=y
 CONFIG_NF_CONNTRACK_LABELS=y
 CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_GRE=y
 CONFIG_NF_CT_PROTO_SCTP=y
 CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
@@ -1061,6 +1073,7 @@ CONFIG_NF_NAT_IRC=m
 CONFIG_NF_NAT_SIP=m
 CONFIG_NF_NAT_TFTP=m
 CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
 CONFIG_NETFILTER_SYNPROXY=m
 CONFIG_NF_TABLES=m
 CONFIG_NF_TABLES_SET=m
@@ -1074,7 +1087,6 @@ CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
 CONFIG_NFT_MASQ=m
 CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
 CONFIG_NFT_TUNNEL=m
 CONFIG_NFT_OBJREF=m
 CONFIG_NFT_QUEUE=m
@@ -1254,8 +1266,6 @@ CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
 CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_IPV4=m
-CONFIG_NF_NAT_MASQUERADE_IPV4=y
 CONFIG_NF_NAT_SNMP_BASIC=m
 CONFIG_NF_NAT_PPTP=m
 CONFIG_NF_NAT_H323=m
@@ -1290,8 +1300,6 @@ CONFIG_NF_TPROXY_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_NAT_IPV6=m
-CONFIG_NF_NAT_MASQUERADE_IPV6=y
 CONFIG_IP6_NF_IPTABLES=m
 CONFIG_IP6_NF_MATCH_AH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1737,8 +1745,7 @@ CONFIG_LWTUNNEL=y
 CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
-CONFIG_NET_DEVLINK=m
-CONFIG_MAY_USE_DEVLINK=m
+# CONFIG_NET_DEVLINK is not set
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=m
 CONFIG_HAVE_EBPF_JIT=y
@@ -1767,6 +1774,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 CONFIG_PCIE_DPC=y
 CONFIG_PCIE_PTM=y
+# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_QUIRKS=y
@@ -1803,6 +1811,7 @@ CONFIG_PCI_HOST_GENERIC=y
 # CONFIG_PCIE_XILINX is not set
 CONFIG_PCI_XGENE=y
 CONFIG_PCI_XGENE_MSI=y
+# CONFIG_PCIE_ALTERA is not set
 CONFIG_PCI_HOST_THUNDER_PEM=y
 CONFIG_PCI_HOST_THUNDER_ECAM=y
 CONFIG_PCIE_ROCKCHIP=y
@@ -1814,6 +1823,7 @@ CONFIG_PCIE_ROCKCHIP_HOST=m
 CONFIG_PCIE_DW=y
 CONFIG_PCIE_DW_HOST=y
 # CONFIG_PCIE_DW_PLAT_HOST is not set
+CONFIG_PCI_IMX6=y
 CONFIG_PCI_HISI=y
 CONFIG_PCIE_QCOM=y
 CONFIG_PCIE_ARMADA_8K=y
@@ -1867,17 +1877,6 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
-CONFIG_DMA_CMA=y
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_CMA_SIZE_MBYTES=64
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
 CONFIG_GENERIC_ARCH_TOPOLOGY=y
 
 #
@@ -1897,6 +1896,7 @@ CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
+CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
 CONFIG_MTD=m
@@ -1983,11 +1983,10 @@ CONFIG_MTD_SPI_NAND=m
 CONFIG_MTD_LPDDR=m
 CONFIG_MTD_QINFO_PROBE=m
 CONFIG_MTD_SPI_NOR=m
-# CONFIG_MTD_MT81xx_NOR is not set
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
 # CONFIG_SPI_CADENCE_QUADSPI is not set
-CONFIG_SPI_FSL_QUADSPI=m
 CONFIG_SPI_HISI_SFC=m
+# CONFIG_SPI_MTK_QUADSPI is not set
 CONFIG_MTD_UBI=m
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_MTD_UBI_BEB_LIMIT=20
@@ -2079,6 +2078,7 @@ CONFIG_ICS932S401=m
 CONFIG_ENCLOSURE_SERVICES=m
 # CONFIG_HP_ILO is not set
 CONFIG_QCOM_COINCELL=m
+# CONFIG_QCOM_FASTRPC is not set
 CONFIG_APDS9802ALS=m
 CONFIG_ISL29003=m
 CONFIG_ISL29020=m
@@ -2133,6 +2133,7 @@ CONFIG_ALTERA_STAPL=m
 #
 # VOP Bus Driver
 #
+# CONFIG_VOP_BUS is not set
 
 #
 # Intel MIC Host Driver
@@ -2158,6 +2159,7 @@ CONFIG_ALTERA_STAPL=m
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
+CONFIG_HABANA_AI=m
 
 #
 # SCSI device support
@@ -2255,6 +2257,7 @@ CONFIG_FCOE=m
 CONFIG_SCSI_SNIC=m
 # CONFIG_SCSI_SNIC_DEBUG_FS is not set
 CONFIG_SCSI_DMX3191D=m
+# CONFIG_SCSI_GDTH is not set
 # CONFIG_SCSI_IPS is not set
 # CONFIG_SCSI_INITIO is not set
 # CONFIG_SCSI_INIA100 is not set
@@ -2288,10 +2291,6 @@ CONFIG_SCSI_DH_RDAC=m
 CONFIG_SCSI_DH_HP_SW=m
 CONFIG_SCSI_DH_EMC=m
 CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
 CONFIG_HAVE_PATA_PLATFORM=y
 CONFIG_ATA=m
 CONFIG_ATA_VERBOSE_ERROR=y
@@ -2480,6 +2479,7 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
 CONFIG_NET_TEAM_MODE_LOADBALANCE=m
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
+CONFIG_IPVLAN_L3S=y
 CONFIG_IPVLAN=m
 CONFIG_IPVTAP=m
 CONFIG_VXLAN=m
@@ -2807,6 +2807,7 @@ CONFIG_STMMAC_PLATFORM=m
 CONFIG_DWMAC_GENERIC=m
 CONFIG_DWMAC_IPQ806X=m
 CONFIG_DWMAC_MESON=m
+CONFIG_DWMAC_QCOM_ETHQOS=m
 CONFIG_DWMAC_ROCKCHIP=m
 CONFIG_DWMAC_SUNXI=m
 CONFIG_DWMAC_SUN8I=m
@@ -2821,6 +2822,7 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
 CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_PHY_SEL is not set
 # CONFIG_TI_CPSW_ALE is not set
 CONFIG_TLAN=m
 CONFIG_NET_VENDOR_VIA=y
@@ -2842,6 +2844,7 @@ CONFIG_MDIO_BUS=m
 CONFIG_MDIO_BUS_MUX=m
 # CONFIG_MDIO_BUS_MUX_GPIO is not set
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
 CONFIG_MDIO_CAVIUM=m
 CONFIG_MDIO_HISI_FEMAC=m
 CONFIG_MDIO_MSCC_MIIM=m
@@ -3121,6 +3124,7 @@ CONFIG_MT7601U=m
 # CONFIG_MT76x0E is not set
 # CONFIG_MT76x2E is not set
 # CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -3272,6 +3276,7 @@ CONFIG_KEYBOARD_LM8323=m
 CONFIG_KEYBOARD_MAX7359=m
 # CONFIG_KEYBOARD_MCS is not set
 # CONFIG_KEYBOARD_MPR121 is not set
+CONFIG_KEYBOARD_SNVS_PWRKEY=m
 CONFIG_KEYBOARD_IMX=m
 # CONFIG_KEYBOARD_NEWTON is not set
 CONFIG_KEYBOARD_TEGRA=m
@@ -3325,6 +3330,7 @@ CONFIG_INPUT_MISC=y
 # CONFIG_INPUT_ATMEL_CAPTOUCH is not set
 # CONFIG_INPUT_BMA150 is not set
 # CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MSM_VIBRATOR is not set
 CONFIG_INPUT_PM8941_PWRKEY=m
 # CONFIG_INPUT_PM8XXX_VIBRATOR is not set
 # CONFIG_INPUT_MMA8450 is not set
@@ -3404,6 +3410,7 @@ CONFIG_UNIX98_PTYS=y
 CONFIG_NOZOMI=m
 CONFIG_N_GSM=m
 # CONFIG_TRACE_SINK is not set
+CONFIG_LDISC_AUTOLOAD=y
 CONFIG_DEVMEM=y
 
 #
@@ -3444,6 +3451,7 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
 CONFIG_SERIAL_MESON=y
 CONFIG_SERIAL_MESON_CONSOLE=y
 CONFIG_SERIAL_TEGRA=y
+CONFIG_SERIAL_TEGRA_TCU=m
 # CONFIG_SERIAL_MAX3100 is not set
 # CONFIG_SERIAL_MAX310X is not set
 CONFIG_SERIAL_IMX=m
@@ -3481,6 +3489,7 @@ CONFIG_HVC_XEN_FRONTEND=y
 CONFIG_VIRTIO_CONSOLE=m
 CONFIG_IPMI_HANDLER=m
 CONFIG_IPMI_DMI_DECODE=y
+CONFIG_IPMI_PLAT_DATA=y
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
@@ -3497,7 +3506,7 @@ CONFIG_HW_RANDOM_HISI=m
 CONFIG_HW_RANDOM_XGENE=m
 CONFIG_HW_RANDOM_MESON=m
 CONFIG_HW_RANDOM_CAVIUM=m
-# CONFIG_R3964 is not set
+CONFIG_HW_RANDOM_OPTEE=m
 # CONFIG_APPLICOM is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_TCG_TPM is not set
@@ -3636,6 +3645,8 @@ CONFIG_SPI_BUTTERFLY=m
 # CONFIG_SPI_CADENCE is not set
 # CONFIG_SPI_DESIGNWARE is not set
 CONFIG_SPI_FSL_LPSPI=m
+CONFIG_SPI_FSL_QUADSPI=m
+CONFIG_SPI_NXP_FLEXSPI=m
 # CONFIG_SPI_GPIO is not set
 CONFIG_SPI_IMX=m
 CONFIG_SPI_LM70_LLP=m
@@ -3651,6 +3662,7 @@ CONFIG_SPI_MESON_SPIFC=m
 CONFIG_SPI_QUP=m
 # CONFIG_SPI_QCOM_GENI is not set
 # CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
 # CONFIG_SPI_SUN4I is not set
 # CONFIG_SPI_SUN6I is not set
 # CONFIG_SPI_MXIC is not set
@@ -3716,7 +3728,9 @@ CONFIG_PINCTRL_MAX77620=y
 CONFIG_PINCTRL_BCM2835=y
 CONFIG_PINCTRL_IMX=y
 CONFIG_PINCTRL_IMX_SCU=y
+CONFIG_PINCTRL_IMX8MM=y
 CONFIG_PINCTRL_IMX8MQ=y
+CONFIG_PINCTRL_IMX8QM=y
 CONFIG_PINCTRL_IMX8QXP=y
 CONFIG_PINCTRL_MVEBU=y
 CONFIG_PINCTRL_ARMADA_AP806=y
@@ -3797,12 +3811,14 @@ CONFIG_GPIO_XGENE=y
 CONFIG_GPIO_XGENE_SB=m
 # CONFIG_GPIO_XILINX is not set
 CONFIG_GPIO_XLP=y
+# CONFIG_GPIO_AMD_FCH is not set
 
 #
 # I2C GPIO expanders
 #
 # CONFIG_GPIO_ADP5588 is not set
 # CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
 # CONFIG_GPIO_MAX7300 is not set
 # CONFIG_GPIO_MAX732X is not set
 CONFIG_GPIO_PCA953X=y
@@ -4285,7 +4301,6 @@ CONFIG_MFD_SYSCON=y
 # CONFIG_MFD_TPS65086 is not set
 # CONFIG_MFD_TPS65090 is not set
 # CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TPS68470 is not set
 # CONFIG_MFD_TI_LP873X is not set
 # CONFIG_MFD_TI_LP87565 is not set
 # CONFIG_MFD_TPS65218 is not set
@@ -4299,7 +4314,9 @@ CONFIG_MFD_SYSCON=y
 # CONFIG_MFD_WL1273_CORE is not set
 # CONFIG_MFD_LM3533 is not set
 # CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
 # CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
 # CONFIG_MFD_ARIZONA_I2C is not set
 # CONFIG_MFD_ARIZONA_SPI is not set
 # CONFIG_MFD_WM8400 is not set
@@ -4308,6 +4325,7 @@ CONFIG_MFD_SYSCON=y
 # CONFIG_MFD_WM8350_I2C is not set
 # CONFIG_MFD_WM8994 is not set
 CONFIG_MFD_ROHM_BD718XX=m
+# CONFIG_MFD_STPMIC1 is not set
 CONFIG_MFD_VEXPRESS_SYSREG=y
 # CONFIG_RAVE_SP_CORE is not set
 CONFIG_REGULATOR=y
@@ -4375,6 +4393,7 @@ CONFIG_IR_SHARP_DECODER=m
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_XMP_DECODER=m
 CONFIG_IR_IMON_DECODER=m
+CONFIG_IR_RCMM_DECODER=m
 CONFIG_RC_DEVICES=y
 CONFIG_RC_ATI_REMOTE=m
 CONFIG_IR_ENE=m
@@ -4678,7 +4697,6 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_VIDEO_CAFE_CCIC=m
 CONFIG_VIDEO_CADENCE=y
 # CONFIG_VIDEO_ASPEED is not set
-# CONFIG_SOC_CAMERA is not set
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_CODA=m
 CONFIG_VIDEO_IMX_PXP=m
@@ -4835,10 +4853,6 @@ CONFIG_VIDEO_SAA6752HS=m
 CONFIG_VIDEO_M52790=m
 
 #
-# Sensors used on soc_camera driver
-#
-
-#
 # Media SPI Adapters
 #
 CONFIG_CXD2880_SPI_DRV=m
@@ -5070,10 +5084,14 @@ CONFIG_DRM_SCHED=m
 # CONFIG_DRM_I2C_SIL164 is not set
 # CONFIG_DRM_I2C_NXP_TDA998X is not set
 # CONFIG_DRM_I2C_NXP_TDA9950 is not set
-CONFIG_DRM_ARM=y
+
+#
+# ARM devices
+#
 CONFIG_DRM_HDLCD=m
 # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set
 CONFIG_DRM_MALI_DISPLAY=m
+CONFIG_DRM_KOMEDA=m
 CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_USERPTR is not set
 CONFIG_DRM_AMDGPU=m
@@ -5144,6 +5162,7 @@ CONFIG_DRM_PANEL_SIMPLE=m
 # CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
 # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
 # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
 # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
 # CONFIG_DRM_PANEL_LG_LG4573 is not set
 # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
@@ -5158,7 +5177,9 @@ CONFIG_DRM_PANEL_SIMPLE=m
 # CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
 # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
 # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
 # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
 CONFIG_DRM_BRIDGE=y
 CONFIG_DRM_PANEL_BRIDGE=y
@@ -5502,6 +5523,7 @@ CONFIG_SND_SOC_FSL_SAI=m
 CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_ESAI=m
+CONFIG_SND_SOC_FSL_MICFIL=m
 CONFIG_SND_SOC_IMX_PCM_DMA=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
 CONFIG_SND_IMX_SOC=m
@@ -5516,6 +5538,7 @@ CONFIG_SND_SOC_FSL_ASOC_CARD=m
 CONFIG_SND_I2S_HI6210_I2S=m
 # CONFIG_SND_KIRKWOOD_SOC is not set
 # CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
 
 #
 # ASoC support for Amlogic platforms
@@ -5578,6 +5601,8 @@ CONFIG_SND_SOC_TEGRA_MAX98090=m
 CONFIG_SND_SOC_TEGRA_RT5677=m
 # CONFIG_SND_SOC_TEGRA_SGTL5000 is not set
 CONFIG_SND_SOC_XILINX_I2S=m
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
 # CONFIG_SND_SOC_XTFPGA_I2S is not set
 # CONFIG_ZX_TDM is not set
 CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -5602,10 +5627,12 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
 CONFIG_SND_SOC_ALC5632=m
 # CONFIG_SND_SOC_BD28623 is not set
 # CONFIG_SND_SOC_BT_SCO is not set
+CONFIG_SND_SOC_CROS_EC_CODEC=m
 # CONFIG_SND_SOC_CS35L32 is not set
 # CONFIG_SND_SOC_CS35L33 is not set
 # CONFIG_SND_SOC_CS35L34 is not set
 # CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
 # CONFIG_SND_SOC_CS42L42 is not set
 # CONFIG_SND_SOC_CS42L51_I2C is not set
 # CONFIG_SND_SOC_CS42L52 is not set
@@ -5617,6 +5644,7 @@ CONFIG_SND_SOC_ALC5632=m
 # CONFIG_SND_SOC_CS4271_SPI is not set
 # CONFIG_SND_SOC_CS42XX8_I2C is not set
 # CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
 # CONFIG_SND_SOC_CS4349 is not set
 # CONFIG_SND_SOC_CS53L30 is not set
 # CONFIG_SND_SOC_DMIC is not set
@@ -5633,7 +5661,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
 CONFIG_SND_SOC_MAX98090=m
 # CONFIG_SND_SOC_MAX98504 is not set
 # CONFIG_SND_SOC_MAX9867 is not set
-# CONFIG_SND_SOC_MAX98927 is not set
+CONFIG_SND_SOC_MAX98927=m
 # CONFIG_SND_SOC_MAX98373 is not set
 # CONFIG_SND_SOC_MAX9860 is not set
 # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
@@ -5650,6 +5678,7 @@ CONFIG_SND_SOC_MAX98090=m
 # CONFIG_SND_SOC_PCM3168A_SPI is not set
 # CONFIG_SND_SOC_PCM512x_I2C is not set
 # CONFIG_SND_SOC_PCM512x_SPI is not set
+CONFIG_SND_SOC_RK3328=m
 CONFIG_SND_SOC_RL6231=m
 # CONFIG_SND_SOC_RT5616 is not set
 # CONFIG_SND_SOC_RT5631 is not set
@@ -5702,6 +5731,7 @@ CONFIG_SND_SOC_WM8753=m
 # CONFIG_SND_SOC_WM8804_I2C is not set
 # CONFIG_SND_SOC_WM8804_SPI is not set
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8904=m
 # CONFIG_SND_SOC_WM8960 is not set
 # CONFIG_SND_SOC_WM8962 is not set
 # CONFIG_SND_SOC_WM8974 is not set
@@ -5710,15 +5740,14 @@ CONFIG_SND_SOC_WM8903=m
 # CONFIG_SND_SOC_ZX_AUD96P22 is not set
 # CONFIG_SND_SOC_MAX9759 is not set
 # CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
 # CONFIG_SND_SOC_NAU8540 is not set
 # CONFIG_SND_SOC_NAU8810 is not set
 # CONFIG_SND_SOC_NAU8822 is not set
 # CONFIG_SND_SOC_NAU8824 is not set
 # CONFIG_SND_SOC_TPA6130A2 is not set
 # CONFIG_SND_SIMPLE_CARD is not set
-# CONFIG_SND_SIMPLE_SCU_CARD is not set
 # CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set
 # CONFIG_SND_XEN_FRONTEND is not set
 CONFIG_AC97_BUS=m
 
@@ -5770,6 +5799,7 @@ CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_KYE=m
 CONFIG_HID_UCLOGIC=m
 CONFIG_HID_WALTOP=m
+# CONFIG_HID_VIEWSONIC is not set
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 # CONFIG_HID_ITE is not set
@@ -5787,6 +5817,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y
 CONFIG_LOGIG940_FF=y
 CONFIG_LOGIWHEELS_FF=y
 CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MALTRON=m
 # CONFIG_HID_MAYFLASH is not set
 # CONFIG_HID_REDRAGON is not set
 CONFIG_HID_MICROSOFT=m
@@ -5872,6 +5903,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
 CONFIG_USB_LEDS_TRIGGER_USBPORT=m
+CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
 CONFIG_USB_WUSB_CBAF=m
@@ -5892,6 +5924,7 @@ CONFIG_USB_EHCI_HCD=m
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_EHCI_PCI=m
+CONFIG_USB_EHCI_FSL=m
 CONFIG_USB_EHCI_MXC=m
 CONFIG_USB_EHCI_HCD_ORION=m
 CONFIG_USB_EHCI_TEGRA=m
@@ -6386,6 +6419,9 @@ CONFIG_INFINIBAND_NES=m
 # CONFIG_INFINIBAND_NES_DEBUG is not set
 CONFIG_INFINIBAND_OCRDMA=m
 # CONFIG_INFINIBAND_HNS is not set
+# CONFIG_INFINIBAND_BNXT_RE is not set
+CONFIG_INFINIBAND_QEDR=m
+CONFIG_RDMA_RXE=m
 CONFIG_INFINIBAND_IPOIB=m
 CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
@@ -6394,9 +6430,6 @@ CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
-CONFIG_RDMA_RXE=m
-CONFIG_INFINIBAND_QEDR=m
-# CONFIG_INFINIBAND_BNXT_RE is not set
 CONFIG_EDAC_SUPPORT=y
 CONFIG_EDAC=y
 CONFIG_EDAC_LEGACY_SYSFS=y
@@ -6426,6 +6459,7 @@ CONFIG_RTC_INTF_DEV=y
 # I2C RTC drivers
 #
 # CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
 # CONFIG_RTC_DRV_ABX80X is not set
 CONFIG_RTC_DRV_DS1307=y
 # CONFIG_RTC_DRV_DS1307_CENTURY is not set
@@ -6453,7 +6487,9 @@ CONFIG_RTC_DRV_RK808=m
 # CONFIG_RTC_DRV_RX8581 is not set
 # CONFIG_RTC_DRV_RX8025 is not set
 # CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
 # CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
 
 #
 # SPI RTC drivers
@@ -6512,6 +6548,7 @@ CONFIG_RTC_DRV_PL031=y
 CONFIG_RTC_DRV_SUN6I=y
 CONFIG_RTC_DRV_MV=m
 CONFIG_RTC_DRV_ARMADA38X=m
+CONFIG_RTC_DRV_CADENCE=m
 # CONFIG_RTC_DRV_FTRTC010 is not set
 CONFIG_RTC_DRV_PM8XXX=m
 CONFIG_RTC_DRV_TEGRA=y
@@ -6544,6 +6581,7 @@ CONFIG_DMA_BCM2835=y
 CONFIG_DMA_SUN6I=m
 # CONFIG_DW_AXI_DMAC is not set
 # CONFIG_FSL_EDMA is not set
+CONFIG_FSL_QDMA=m
 CONFIG_IMX_DMA=m
 CONFIG_IMX_SDMA=m
 # CONFIG_INTEL_IDMA64 is not set
@@ -6661,7 +6699,6 @@ CONFIG_88EU_AP_MODE=y
 #
 # Analog to digital converters
 #
-# CONFIG_AD7606 is not set
 # CONFIG_AD7780 is not set
 # CONFIG_AD7816 is not set
 # CONFIG_AD7192 is not set
@@ -6676,7 +6713,6 @@ CONFIG_88EU_AP_MODE=y
 # Capacitance to digital converters
 #
 # CONFIG_AD7150 is not set
-# CONFIG_AD7152 is not set
 # CONFIG_AD7746 is not set
 
 #
@@ -6700,7 +6736,6 @@ CONFIG_88EU_AP_MODE=y
 #
 # CONFIG_AD2S1210 is not set
 # CONFIG_FB_SM750 is not set
-# CONFIG_FB_XGI is not set
 
 #
 # Speakup console speech
@@ -6740,9 +6775,6 @@ CONFIG_BCM_VIDEOCORE=y
 # CONFIG_SND_BCM2835 is not set
 # CONFIG_VIDEO_BCM2835 is not set
 # CONFIG_PI433 is not set
-CONFIG_MTK_MMC=m
-# CONFIG_MTK_AEE_KDUMP is not set
-# CONFIG_MTK_MMC_CD_POLL is not set
 
 #
 # Gasket devices
@@ -6793,6 +6825,7 @@ CONFIG_COMMON_CLK_XGENE=y
 # CONFIG_COMMON_CLK_PWM is not set
 # CONFIG_COMMON_CLK_VC5 is not set
 # CONFIG_COMMON_CLK_BD718XX is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
 CONFIG_COMMON_CLK_HI3516CV300=y
 CONFIG_COMMON_CLK_HI3519=y
 CONFIG_COMMON_CLK_HI3660=y
@@ -6804,15 +6837,23 @@ CONFIG_STUB_CLK_HI6220=y
 # CONFIG_STUB_CLK_HI3660 is not set
 CONFIG_MXC_CLK=y
 CONFIG_MXC_CLK_SCU=y
+CONFIG_CLK_IMX8MM=y
 CONFIG_CLK_IMX8MQ=y
 CONFIG_CLK_IMX8QXP=y
-CONFIG_COMMON_CLK_AMLOGIC=y
-CONFIG_COMMON_CLK_AMLOGIC_AUDIO=y
-CONFIG_COMMON_CLK_MESON_AO=y
-CONFIG_COMMON_CLK_REGMAP_MESON=y
+CONFIG_COMMON_CLK_MESON_INPUT=y
+CONFIG_COMMON_CLK_MESON_REGMAP=y
+CONFIG_COMMON_CLK_MESON_DUALDIV=y
+CONFIG_COMMON_CLK_MESON_MPLL=y
+CONFIG_COMMON_CLK_MESON_PHASE=m
+CONFIG_COMMON_CLK_MESON_PLL=y
+CONFIG_COMMON_CLK_MESON_SCLK_DIV=m
+CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y
+CONFIG_COMMON_CLK_MESON_AO_CLKC=y
+CONFIG_COMMON_CLK_MESON_EE_CLKC=y
 CONFIG_COMMON_CLK_GXBB=y
 CONFIG_COMMON_CLK_AXG=y
 CONFIG_COMMON_CLK_AXG_AUDIO=m
+CONFIG_COMMON_CLK_G12A=y
 CONFIG_ARMADA_37XX_CLK=y
 CONFIG_ARMADA_AP806_SYSCON=y
 CONFIG_ARMADA_CP110_SYSCON=y
@@ -6862,6 +6903,7 @@ CONFIG_SUN8I_H3_CCU=y
 CONFIG_SUN8I_DE2_CCU=y
 CONFIG_SUN8I_R_CCU=y
 CONFIG_CLK_TEGRA_BPMP=y
+CONFIG_TEGRA_CLK_DFLL=y
 # CONFIG_HWSPINLOCK is not set
 
 #
@@ -6872,12 +6914,14 @@ CONFIG_TIMER_ACPI=y
 CONFIG_TIMER_PROBE=y
 CONFIG_CLKSRC_MMIO=y
 CONFIG_ROCKCHIP_TIMER=y
+CONFIG_TEGRA_TIMER=y
 CONFIG_ARM_ARCH_TIMER=y
 CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
 CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
 CONFIG_FSL_ERRATUM_A008585=y
 CONFIG_HISILICON_ERRATUM_161010101=y
 CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
 CONFIG_ARM_TIMER_SP804=y
 CONFIG_CLKSRC_VERSATILE=y
 CONFIG_MAILBOX=y
@@ -6895,6 +6939,7 @@ CONFIG_HI6220_MBOX=y
 CONFIG_QCOM_APCS_IPC=m
 CONFIG_TEGRA_HSP_MBOX=y
 CONFIG_XGENE_SLIMPRO_MBOX=m
+CONFIG_IOMMU_IOVA=y
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
 
@@ -6907,7 +6952,6 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_DEBUGFS is not set
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
-CONFIG_IOMMU_IOVA=y
 CONFIG_OF_IOMMU=y
 CONFIG_IOMMU_DMA=y
 # CONFIG_ROCKCHIP_IOMMU is not set
@@ -6947,6 +6991,7 @@ CONFIG_MESON_MX_SOCINFO=y
 #
 # Broadcom SoC drivers
 #
+CONFIG_BCM2835_POWER=y
 CONFIG_RASPBERRYPI_POWER=y
 # CONFIG_SOC_BRCMSTB is not set
 
@@ -6958,6 +7003,7 @@ CONFIG_FSL_GUTS=y
 #
 # i.MX SoC drivers
 #
+CONFIG_IMX_GPCV2_PM_DOMAINS=y
 
 #
 # Qualcomm SoC drivers
@@ -7014,6 +7060,7 @@ CONFIG_EXTCON=y
 # CONFIG_EXTCON_ADC_JACK is not set
 # CONFIG_EXTCON_GPIO is not set
 # CONFIG_EXTCON_MAX3355 is not set
+CONFIG_EXTCON_PTN5150=m
 CONFIG_EXTCON_QCOM_SPMI_MISC=m
 # CONFIG_EXTCON_RT8973A is not set
 # CONFIG_EXTCON_SM5502 is not set
@@ -7078,7 +7125,10 @@ CONFIG_AD7124=m
 # CONFIG_AD7291 is not set
 # CONFIG_AD7298 is not set
 # CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
 # CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
 # CONFIG_AD7791 is not set
 # CONFIG_AD7793 is not set
 # CONFIG_AD7887 is not set
@@ -7122,6 +7172,7 @@ CONFIG_QCOM_SPMI_VADC=m
 # CONFIG_TI_ADS1015 is not set
 # CONFIG_TI_ADS7950 is not set
 # CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
 # CONFIG_TI_TLC4541 is not set
 # CONFIG_VF610_ADC is not set
 CONFIG_VIPERBOARD_ADC=m
@@ -7143,6 +7194,9 @@ CONFIG_VIPERBOARD_ADC=m
 # CONFIG_BME680 is not set
 # CONFIG_CCS811 is not set
 # CONFIG_IAQCORE is not set
+# CONFIG_PMS7003 is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SPS30 is not set
 # CONFIG_VZ89X is not set
 # CONFIG_IIO_CROS_EC_SENSORS_CORE is not set
 
@@ -7195,6 +7249,7 @@ CONFIG_AD5446=m
 # CONFIG_TI_DAC082S085 is not set
 # CONFIG_TI_DAC5571 is not set
 # CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
 # CONFIG_VF610_DAC is not set
 
 #
@@ -7291,6 +7346,7 @@ CONFIG_HID_SENSOR_PROX=m
 # CONFIG_LTR501 is not set
 # CONFIG_LV0104CS is not set
 # CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
 # CONFIG_OPT3001 is not set
 # CONFIG_PA12203001 is not set
 # CONFIG_SI1133 is not set
@@ -7420,7 +7476,8 @@ CONFIG_PWM_BCM2835=m
 # CONFIG_PWM_CROS_EC is not set
 # CONFIG_PWM_FSL_FTM is not set
 # CONFIG_PWM_HIBVT is not set
-CONFIG_PWM_IMX=m
+# CONFIG_PWM_IMX1 is not set
+# CONFIG_PWM_IMX27 is not set
 CONFIG_PWM_MESON=m
 # CONFIG_PWM_PCA9685 is not set
 CONFIG_PWM_ROCKCHIP=m
@@ -7439,6 +7496,7 @@ CONFIG_ARM_GIC_V3_ITS=y
 CONFIG_ARM_GIC_V3_ITS_PCI=y
 CONFIG_HISILICON_IRQ_MBIGEN=y
 CONFIG_MADERA_IRQ=m
+CONFIG_IMX_GPCV2=y
 CONFIG_MVEBU_GICP=y
 CONFIG_MVEBU_ICU=y
 CONFIG_MVEBU_ODMI=y
@@ -7452,6 +7510,7 @@ CONFIG_IMX_IRQSTEER=y
 # CONFIG_IPACK_BUS is not set
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
 CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_IMX7=y
 CONFIG_RESET_MESON=y
 # CONFIG_RESET_MESON_AUDIO_ARB is not set
 # CONFIG_RESET_QCOM_AOSS is not set
@@ -7468,19 +7527,25 @@ CONFIG_RESET_TEGRA_BPMP=y
 # PHY Subsystem
 #
 CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
 CONFIG_PHY_XGENE=m
 CONFIG_PHY_SUN4I_USB=m
+# CONFIG_PHY_SUN6I_MIPI_DPHY is not set
 # CONFIG_PHY_SUN9I_USB is not set
 CONFIG_PHY_MESON8B_USB2=m
 CONFIG_PHY_MESON_GXL_USB2=y
 CONFIG_PHY_MESON_GXL_USB3=y
 # CONFIG_BCM_KONA_USB2_PHY is not set
 # CONFIG_PHY_CADENCE_DP is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
 # CONFIG_PHY_CADENCE_SIERRA is not set
 CONFIG_PHY_FSL_IMX8MQ_USB=m
 CONFIG_PHY_HI6220_USB=m
 # CONFIG_PHY_HISTB_COMBPHY is not set
 # CONFIG_PHY_HISI_INNO_USB2 is not set
+CONFIG_PHY_MVEBU_A3700_COMPHY=m
+CONFIG_PHY_MVEBU_A3700_UTMI=m
+CONFIG_PHY_MVEBU_A38X_COMPHY=m
 CONFIG_PHY_MVEBU_CP110_COMPHY=m
 # CONFIG_PHY_PXA_28NM_HSIC is not set
 # CONFIG_PHY_PXA_28NM_USB2 is not set
@@ -7563,11 +7628,13 @@ CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1
 CONFIG_PM_OPP=y
 # CONFIG_SIOX is not set
 # CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
 
 #
 # File systems
 #
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
@@ -7575,8 +7642,6 @@ CONFIG_EXT4_FS=m
 CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
-CONFIG_EXT4_ENCRYPTION=y
-CONFIG_EXT4_FS_ENCRYPTION=y
 # CONFIG_EXT4_DEBUG is not set
 CONFIG_JBD2=m
 # CONFIG_JBD2_DEBUG is not set
@@ -7621,7 +7686,6 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-CONFIG_F2FS_FS_ENCRYPTION=y
 # CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_DAX=y
@@ -7630,7 +7694,7 @@ CONFIG_EXPORTFS=y
 CONFIG_EXPORTFS_BLOCK_OPS=y
 CONFIG_FILE_LOCKING=y
 CONFIG_MANDATORY_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=m
+# CONFIG_FS_ENCRYPTION is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -7745,7 +7809,6 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 # CONFIG_UBIFS_ATIME_SUPPORT is not set
 CONFIG_UBIFS_FS_XATTR=y
-# CONFIG_UBIFS_FS_ENCRYPTION is not set
 CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_UBIFS_FS_AUTHENTICATION=y
 # CONFIG_CRAMFS is not set
@@ -7795,9 +7858,6 @@ CONFIG_SYSV_FS=m
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
 # CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V2=m
@@ -7838,6 +7898,7 @@ CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
 CONFIG_SUNRPC_SWAP=y
 CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
 CONFIG_SUNRPC_DEBUG=y
 CONFIG_SUNRPC_XPRT_RDMA=m
 CONFIG_CEPH_FS=m
@@ -7957,12 +8018,12 @@ CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
 CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
 CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
 # CONFIG_SECURITY_APPARMOR_DEBUG is not set
 # CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
+# CONFIG_SECURITY_SAFESETID is not set
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
 CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -7974,7 +8035,7 @@ CONFIG_INTEGRITY_AUDIT=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 CONFIG_DEFAULT_SECURITY_APPARMOR=y
 # CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_LSM="yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo"
 CONFIG_XOR_BLOCKS=m
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
@@ -8009,6 +8070,7 @@ CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_USER=m
 # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set
 CONFIG_CRYPTO_GF128MUL=m
 CONFIG_CRYPTO_NULL=m
 CONFIG_CRYPTO_NULL2=y
@@ -8261,7 +8323,9 @@ CONFIG_HAS_DMA=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
 CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
 CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
 CONFIG_ARCH_HAS_DMA_COHERENT_TO_PFN=y
@@ -8270,6 +8334,18 @@ CONFIG_DMA_VIRT_OPS=y
 CONFIG_SWIOTLB=y
 CONFIG_DMA_REMAP=y
 CONFIG_DMA_DIRECT_REMAP=y
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=64
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_CHECK_SIGNATURE=y
 CONFIG_CPU_RMAP=y
@@ -8306,6 +8382,7 @@ CONFIG_SBITMAP=y
 # printk and dmesg options
 #
 CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -8325,7 +8402,6 @@ CONFIG_FRAME_WARN=2048
 CONFIG_STRIP_ASM_SYMS=y
 # CONFIG_READABLE_ASM is not set
 # CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_PAGE_OWNER is not set
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -8343,6 +8419,7 @@ CONFIG_DEBUG_KERNEL=y
 #
 CONFIG_PAGE_EXTENSION=y
 # CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
 CONFIG_PAGE_POISONING=y
 CONFIG_PAGE_POISONING_NO_SANITY=y
 # CONFIG_PAGE_POISONING_ZERO is not set
@@ -8479,7 +8556,6 @@ CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 CONFIG_TRACING_EVENTS_GPIO=y
-# CONFIG_DMA_API_DEBUG is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
 # CONFIG_TEST_LIST_SORT is not set
@@ -8504,6 +8580,7 @@ CONFIG_TEST_XARRAY=m
 # CONFIG_TEST_HASH is not set
 # CONFIG_TEST_IDA is not set
 # CONFIG_TEST_LKM is not set
+CONFIG_TEST_VMALLOC=m
 CONFIG_TEST_USER_COPY=m
 CONFIG_TEST_BPF=m
 # CONFIG_FIND_BIT_BENCHMARK is not set
@@ -8513,6 +8590,7 @@ CONFIG_TEST_FIRMWARE=m
 CONFIG_TEST_STATIC_KEYS=m
 # CONFIG_TEST_KMOD is not set
 # CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_STACKINIT is not set
 # CONFIG_MEMTEST is not set
 CONFIG_BUG_ON_DATA_CORRUPTION=y
 # CONFIG_SAMPLES is not set
@@ -8520,6 +8598,7 @@ CONFIG_HAVE_ARCH_KGDB=y
 # CONFIG_KGDB is not set
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_UBSAN_ALIGNMENT=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
diff --git a/gnu/packages/aux-files/linux-libre/5.0-i686.conf b/gnu/packages/aux-files/linux-libre/5.1-i686.conf
index 97e8f2a5e9..1504caa48d 100644
--- a/gnu/packages/aux-files/linux-libre/5.0-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.1-i686.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.0.0-gnu Kernel Configuration
+# Linux/x86 5.1.0-gnu Kernel Configuration
 #
 
 #
@@ -10,6 +10,7 @@ CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=70400
 CONFIG_CLANG_VERSION=0
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -191,6 +192,7 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
@@ -591,6 +593,7 @@ CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
 CONFIG_INTEL_IDLE=y
 
 #
@@ -657,6 +660,7 @@ CONFIG_RESET_ATTACK_MITIGATION=y
 CONFIG_UEFI_CPER=y
 CONFIG_UEFI_CPER_X86=y
 CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_EFI_EARLYCON=y
 
 #
 # Tegra firmware driver
@@ -717,6 +721,7 @@ CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
 CONFIG_ARCH_HAS_SET_MEMORY=y
 CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
 CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_RSEQ=y
 CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
@@ -760,6 +765,7 @@ CONFIG_ISA_BUS_API=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
 CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
 CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
@@ -767,6 +773,7 @@ CONFIG_STRICT_MODULE_RWX=y
 CONFIG_ARCH_HAS_REFCOUNT=y
 CONFIG_REFCOUNT_FULL=y
 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 
 #
 # GCOV-based kernel profiling
@@ -779,6 +786,8 @@ CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
@@ -876,8 +885,6 @@ CONFIG_BINFMT_ELF=y
 CONFIG_ELFCORE=y
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
 CONFIG_BINFMT_SCRIPT=y
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
 CONFIG_BINFMT_MISC=m
 CONFIG_COREDUMP=y
 
@@ -942,6 +949,7 @@ CONFIG_SKB_EXTENSIONS=y
 CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 # CONFIG_TLS_DEVICE is not set
@@ -1083,7 +1091,7 @@ CONFIG_NF_CONNTRACK_TIMEOUT=y
 CONFIG_NF_CONNTRACK_TIMESTAMP=y
 CONFIG_NF_CONNTRACK_LABELS=y
 CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_GRE=y
 CONFIG_NF_CT_PROTO_SCTP=y
 CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
@@ -1109,6 +1117,7 @@ CONFIG_NF_NAT_IRC=m
 CONFIG_NF_NAT_SIP=m
 CONFIG_NF_NAT_TFTP=m
 CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
 CONFIG_NETFILTER_SYNPROXY=m
 CONFIG_NF_TABLES=m
 CONFIG_NF_TABLES_SET=m
@@ -1123,7 +1132,6 @@ CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
 CONFIG_NFT_MASQ=m
 CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
 CONFIG_NFT_TUNNEL=m
 CONFIG_NFT_OBJREF=m
 CONFIG_NFT_QUEUE=m
@@ -1305,8 +1313,6 @@ CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
 CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_IPV4=m
-CONFIG_NF_NAT_MASQUERADE_IPV4=y
 CONFIG_NF_NAT_SNMP_BASIC=m
 CONFIG_NF_NAT_PPTP=m
 CONFIG_NF_NAT_H323=m
@@ -1342,8 +1348,6 @@ CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_NAT_IPV6=m
-CONFIG_NF_NAT_MASQUERADE_IPV6=y
 CONFIG_IP6_NF_IPTABLES=m
 CONFIG_IP6_NF_MATCH_AH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1836,20 +1840,17 @@ CONFIG_NFC_SHDLC=y
 # Near Field Communication (NFC) devices
 #
 CONFIG_NFC_TRF7970A=m
-CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
 CONFIG_NFC_FDP=m
 CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544_MEI=m
 CONFIG_NFC_PN533=m
 CONFIG_NFC_PN533_USB=m
 CONFIG_NFC_PN533_I2C=m
 CONFIG_NFC_MICROREAD=m
 CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD_MEI=m
 CONFIG_NFC_MRVL=m
 CONFIG_NFC_MRVL_USB=m
 CONFIG_NFC_MRVL_UART=m
@@ -1872,8 +1873,7 @@ CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
 CONFIG_NET_SOCK_MSG=y
-CONFIG_NET_DEVLINK=m
-CONFIG_MAY_USE_DEVLINK=m
+# CONFIG_NET_DEVLINK is not set
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=y
 CONFIG_HAVE_EBPF_JIT=y
@@ -1904,6 +1904,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 CONFIG_PCIE_DPC=y
 CONFIG_PCIE_PTM=y
+# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_QUIRKS=y
@@ -2027,7 +2028,6 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
-# CONFIG_DMA_CMA is not set
 
 #
 # Bus devices
@@ -2036,6 +2036,7 @@ CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
+CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
 CONFIG_MTD=m
@@ -2167,8 +2168,8 @@ CONFIG_MTD_SPI_NAND=m
 CONFIG_MTD_LPDDR=m
 CONFIG_MTD_QINFO_PROBE=m
 CONFIG_MTD_SPI_NOR=m
-CONFIG_MTD_MT81xx_NOR=m
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_SPI_MTK_QUADSPI=m
 CONFIG_SPI_INTEL_SPI=m
 CONFIG_SPI_INTEL_SPI_PCI=m
 CONFIG_SPI_INTEL_SPI_PLATFORM=m
@@ -2334,9 +2335,10 @@ CONFIG_CB710_DEBUG_ASSUMPTIONS=y
 CONFIG_TI_ST=m
 CONFIG_SENSORS_LIS3_I2C=m
 CONFIG_ALTERA_STAPL=m
-CONFIG_INTEL_MEI=m
-CONFIG_INTEL_MEI_ME=m
-CONFIG_INTEL_MEI_TXE=m
+# CONFIG_INTEL_MEI is not set
+# CONFIG_INTEL_MEI_ME is not set
+# CONFIG_INTEL_MEI_TXE is not set
+# CONFIG_INTEL_MEI_HDCP is not set
 CONFIG_VMWARE_VMCI=m
 
 #
@@ -2354,6 +2356,7 @@ CONFIG_VMWARE_VMCI=m
 #
 # VOP Bus Driver
 #
+CONFIG_VOP_BUS=m
 
 #
 # Intel MIC Host Driver
@@ -2374,11 +2377,13 @@ CONFIG_VMWARE_VMCI=m
 #
 # VOP Driver
 #
+CONFIG_VOP=m
 CONFIG_VHOST_RING=m
 CONFIG_ECHO=m
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
+CONFIG_HABANA_AI=m
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -2539,10 +2544,6 @@ CONFIG_SCSI_DH_RDAC=m
 CONFIG_SCSI_DH_HP_SW=m
 CONFIG_SCSI_DH_EMC=m
 CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
 CONFIG_ATA=y
 CONFIG_ATA_VERBOSE_ERROR=y
 CONFIG_ATA_ACPI=y
@@ -2685,6 +2686,7 @@ CONFIG_DM_MULTIPATH=m
 CONFIG_DM_MULTIPATH_QL=m
 CONFIG_DM_MULTIPATH_ST=m
 CONFIG_DM_DELAY=m
+# CONFIG_DM_INIT is not set
 CONFIG_DM_UEVENT=y
 CONFIG_DM_FLAKEY=m
 CONFIG_DM_VERITY=m
@@ -2738,6 +2740,7 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
 CONFIG_NET_TEAM_MODE_LOADBALANCE=m
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
+CONFIG_IPVLAN_L3S=y
 CONFIG_IPVLAN=m
 CONFIG_IPVTAP=m
 CONFIG_VXLAN=m
@@ -3123,6 +3126,7 @@ CONFIG_DWC_XLGMAC_PCI=m
 CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TI_CPSW_ALE=m
 CONFIG_TLAN=m
 CONFIG_NET_VENDOR_VIA=y
@@ -3443,6 +3447,7 @@ CONFIG_MT7601U=m
 # CONFIG_MT76x0E is not set
 # CONFIG_MT76x2E is not set
 # CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -3954,6 +3959,7 @@ CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
 CONFIG_INPUT_BMA150=m
 CONFIG_INPUT_E3X0_BUTTON=m
+CONFIG_INPUT_MSM_VIBRATOR=m
 CONFIG_INPUT_PCSPKR=m
 CONFIG_INPUT_MAX77693_HAPTIC=m
 CONFIG_INPUT_MAX8925_ONKEY=m
@@ -4071,6 +4077,7 @@ CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_TRACE_ROUTER=m
 CONFIG_TRACE_SINK=m
+CONFIG_LDISC_AUTOLOAD=y
 CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
@@ -4151,6 +4158,7 @@ CONFIG_HVC_XEN_FRONTEND=y
 CONFIG_VIRTIO_CONSOLE=y
 CONFIG_IPMI_HANDLER=m
 CONFIG_IPMI_DMI_DECODE=y
+CONFIG_IPMI_PLAT_DATA=y
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
@@ -4166,7 +4174,6 @@ CONFIG_HW_RANDOM_VIA=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_NVRAM=m
 CONFIG_DTLK=m
-CONFIG_R3964=m
 CONFIG_APPLICOM=m
 CONFIG_SONYPI=m
 
@@ -4331,6 +4338,7 @@ CONFIG_SPI_DW_PCI=m
 CONFIG_SPI_DW_MID_DMA=y
 CONFIG_SPI_DW_MMIO=m
 CONFIG_SPI_DLN2=m
+CONFIG_SPI_NXP_FLEXSPI=m
 CONFIG_SPI_GPIO=m
 CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
@@ -4338,6 +4346,7 @@ CONFIG_SPI_PXA2XX=m
 CONFIG_SPI_PXA2XX_PCI=m
 CONFIG_SPI_ROCKCHIP=m
 CONFIG_SPI_SC18IS602=m
+CONFIG_SPI_SIFIVE=m
 CONFIG_SPI_MXIC=m
 CONFIG_SPI_TOPCLIFF_PCH=m
 CONFIG_SPI_XCOMM=m
@@ -4431,6 +4440,7 @@ CONFIG_GPIO_MB86S7X=m
 CONFIG_GPIO_MENZ127=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VX855=m
+CONFIG_GPIO_AMD_FCH=m
 
 #
 # Port-mapped I/O GPIO drivers
@@ -4476,6 +4486,7 @@ CONFIG_GPIO_TPS65086=m
 CONFIG_GPIO_TPS6586X=y
 CONFIG_GPIO_TPS65910=y
 CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TQMX86=m
 CONFIG_GPIO_TWL4030=m
 CONFIG_GPIO_TWL6040=m
 CONFIG_GPIO_UCB1400=m
@@ -4891,7 +4902,6 @@ CONFIG_W83877F_WDT=m
 CONFIG_W83977F_WDT=m
 CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
-CONFIG_INTEL_MEI_WDT=m
 CONFIG_NI903X_WDT=m
 CONFIG_NIC7018_WDT=m
 CONFIG_MEN_A21_WDT=m
@@ -5048,6 +5058,7 @@ CONFIG_TWL6040_CORE=y
 CONFIG_MFD_WL1273_CORE=m
 CONFIG_MFD_LM3533=m
 CONFIG_MFD_TIMBERDALE=m
+CONFIG_MFD_TQMX86=m
 CONFIG_MFD_VX855=m
 CONFIG_MFD_ARIZONA=y
 CONFIG_MFD_ARIZONA_I2C=m
@@ -5168,6 +5179,7 @@ CONFIG_IR_SHARP_DECODER=m
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_XMP_DECODER=m
 CONFIG_IR_IMON_DECODER=m
+CONFIG_IR_RCMM_DECODER=m
 CONFIG_RC_DEVICES=y
 CONFIG_RC_ATI_REMOTE=m
 CONFIG_IR_ENE=m
@@ -5413,6 +5425,7 @@ CONFIG_VIDEO_IVTV=m
 # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
 CONFIG_VIDEO_IVTV_ALSA=m
 CONFIG_VIDEO_FB_IVTV=m
+# CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set
 CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_HEXIUM_ORION=m
 CONFIG_VIDEO_MXB=m
@@ -5477,8 +5490,6 @@ CONFIG_VIDEO_CADENCE=y
 CONFIG_VIDEO_CADENCE_CSI2RX=m
 CONFIG_VIDEO_CADENCE_CSI2TX=m
 CONFIG_VIDEO_ASPEED=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_PLATFORM=m
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
@@ -5639,7 +5650,6 @@ CONFIG_VIDEO_ADV7511=m
 CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9M111=m
 CONFIG_VIDEO_MT9V011=m
 
 #
@@ -5667,24 +5677,6 @@ CONFIG_VIDEO_SAA6752HS=m
 CONFIG_VIDEO_M52790=m
 
 #
-# Sensors used on soc_camera driver
-#
-
-#
-# soc_camera sensor drivers
-#
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-
-#
 # Media SPI Adapters
 #
 CONFIG_CXD2880_SPI_DRV=m
@@ -5926,6 +5918,10 @@ CONFIG_DRM_I2C_CH7006=m
 CONFIG_DRM_I2C_SIL164=m
 CONFIG_DRM_I2C_NXP_TDA998X=m
 CONFIG_DRM_I2C_NXP_TDA9950=m
+
+#
+# ARM devices
+#
 CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_USERPTR is not set
 CONFIG_DRM_AMDGPU=m
@@ -6004,6 +6000,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
 # Display Interface Bridges
 #
 CONFIG_DRM_ANALOGIX_ANX78XX=m
+# CONFIG_DRM_ETNAVIV is not set
 CONFIG_DRM_HISI_HIBMC=m
 # CONFIG_DRM_TINYDRM is not set
 CONFIG_DRM_XEN=y
@@ -6449,6 +6446,7 @@ CONFIG_SND_SOC_FSL_SAI=m
 CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_ESAI=m
+CONFIG_SND_SOC_FSL_MICFIL=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
 CONFIG_SND_I2S_HI6210_I2S=m
 # CONFIG_SND_SOC_IMG is not set
@@ -6500,11 +6498,14 @@ CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m
 CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m
 CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
+CONFIG_SND_SOC_MTK_BTCVSD=m
 
 #
 # STMicroelectronics STM32 SOC audio support
 #
 CONFIG_SND_SOC_XILINX_I2S=m
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
 CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -6531,10 +6532,12 @@ CONFIG_SND_SOC_AK5558=m
 CONFIG_SND_SOC_ALC5623=m
 CONFIG_SND_SOC_BD28623=m
 CONFIG_SND_SOC_BT_SCO=m
+CONFIG_SND_SOC_CROS_EC_CODEC=m
 CONFIG_SND_SOC_CS35L32=m
 CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
 CONFIG_SND_SOC_CS35L35=m
+CONFIG_SND_SOC_CS35L36=m
 CONFIG_SND_SOC_CS42L42=m
 CONFIG_SND_SOC_CS42L51=m
 CONFIG_SND_SOC_CS42L51_I2C=m
@@ -6549,6 +6552,7 @@ CONFIG_SND_SOC_CS4271_SPI=m
 CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS43130=m
+CONFIG_SND_SOC_CS4341=m
 CONFIG_SND_SOC_CS4349=m
 CONFIG_SND_SOC_CS53L30=m
 CONFIG_SND_SOC_DA7213=m
@@ -6593,6 +6597,7 @@ CONFIG_SND_SOC_PCM3168A_SPI=m
 CONFIG_SND_SOC_PCM512x=m
 CONFIG_SND_SOC_PCM512x_I2C=m
 CONFIG_SND_SOC_PCM512x_SPI=m
+# CONFIG_SND_SOC_RK3328 is not set
 CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RL6347A=m
 CONFIG_SND_SOC_RT286=m
@@ -6662,6 +6667,7 @@ CONFIG_SND_SOC_WM8804=m
 CONFIG_SND_SOC_WM8804_I2C=m
 CONFIG_SND_SOC_WM8804_SPI=m
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8904=m
 CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
 CONFIG_SND_SOC_WM8974=m
@@ -6670,6 +6676,7 @@ CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_ZX_AUD96P22=m
 CONFIG_SND_SOC_MAX9759=m
 CONFIG_SND_SOC_MT6351=m
+CONFIG_SND_SOC_MT6358=m
 CONFIG_SND_SOC_NAU8540=m
 CONFIG_SND_SOC_NAU8810=m
 CONFIG_SND_SOC_NAU8822=m
@@ -6732,6 +6739,7 @@ CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_KYE=m
 CONFIG_HID_UCLOGIC=m
 CONFIG_HID_WALTOP=m
+CONFIG_HID_VIEWSONIC=m
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 CONFIG_HID_ITE=m
@@ -6749,6 +6757,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y
 CONFIG_LOGIG940_FF=y
 CONFIG_LOGIWHEELS_FF=y
 CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MALTRON=m
 CONFIG_HID_MAYFLASH=m
 CONFIG_HID_REDRAGON=m
 CONFIG_HID_MICROSOFT=m
@@ -6835,6 +6844,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
 CONFIG_USB_LEDS_TRIGGER_USBPORT=m
+CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
 CONFIG_USB_WUSB_CBAF=m
@@ -6852,6 +6862,7 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
@@ -7353,6 +7364,7 @@ CONFIG_INFINIBAND_NES=m
 CONFIG_INFINIBAND_OCRDMA=m
 CONFIG_INFINIBAND_VMWARE_PVRDMA=m
 CONFIG_INFINIBAND_USNIC=m
+CONFIG_RDMA_RXE=m
 CONFIG_INFINIBAND_IPOIB=m
 CONFIG_INFINIBAND_IPOIB_CM=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG is not set
@@ -7360,8 +7372,6 @@ CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
-CONFIG_RDMA_RXE=m
-CONFIG_INFINIBAND_BNXT_RE=m
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
 CONFIG_EDAC=y
@@ -7412,6 +7422,7 @@ CONFIG_RTC_INTF_DEV=y
 CONFIG_RTC_DRV_88PM860X=m
 CONFIG_RTC_DRV_88PM80X=m
 CONFIG_RTC_DRV_ABB5ZES3=m
+CONFIG_RTC_DRV_ABEOZ9=m
 CONFIG_RTC_DRV_ABX80X=m
 CONFIG_RTC_DRV_DS1307=m
 # CONFIG_RTC_DRV_DS1307_CENTURY is not set
@@ -7447,8 +7458,10 @@ CONFIG_RTC_DRV_RX8010=m
 CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3028=m
 CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
+CONFIG_RTC_DRV_SD3078=m
 
 #
 # SPI RTC drivers
@@ -7565,10 +7578,14 @@ CONFIG_KS0108_DELAY=2
 CONFIG_CFAG12864B=m
 CONFIG_CFAG12864B_RATE=20
 CONFIG_IMG_ASCII_LCD=m
-CONFIG_PANEL=m
+CONFIG_PARPORT_PANEL=m
 CONFIG_PANEL_PARPORT=0
 CONFIG_PANEL_PROFILE=5
 # CONFIG_PANEL_CHANGE_MESSAGE is not set
+# CONFIG_CHARLCD_BL_OFF is not set
+# CONFIG_CHARLCD_BL_ON is not set
+CONFIG_CHARLCD_BL_FLASH=y
+CONFIG_PANEL=m
 CONFIG_CHARLCD=m
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
@@ -7812,9 +7829,6 @@ CONFIG_ADIS16240=m
 #
 # Analog to digital converters
 #
-CONFIG_AD7606=m
-CONFIG_AD7606_IFACE_PARALLEL=m
-CONFIG_AD7606_IFACE_SPI=m
 CONFIG_AD7780=m
 CONFIG_AD7816=m
 CONFIG_AD7192=m
@@ -7831,7 +7845,6 @@ CONFIG_ADT7316_I2C=m
 # Capacitance to digital converters
 #
 CONFIG_AD7150=m
-CONFIG_AD7152=m
 CONFIG_AD7746=m
 
 #
@@ -7857,7 +7870,6 @@ CONFIG_ADE7854_SPI=m
 #
 CONFIG_AD2S1210=m
 CONFIG_FB_SM750=m
-CONFIG_FB_XGI=m
 
 #
 # Speakup console speech
@@ -7880,8 +7892,6 @@ CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
 CONFIG_STAGING_MEDIA=y
 CONFIG_I2C_BCM2048=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9T031=m
 CONFIG_VIDEO_ZORAN=m
 CONFIG_VIDEO_ZORAN_DC30=m
 CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -7893,6 +7903,10 @@ CONFIG_VIDEO_ZORAN_AVS6EYES=m
 # CONFIG_VIDEO_IPU3_IMGU is not set
 
 #
+# soc_camera sensor drivers
+#
+
+#
 # Android
 #
 CONFIG_LTE_GDM724X=m
@@ -7950,14 +7964,10 @@ CONFIG_KS7010=m
 # CONFIG_GREYBUS is not set
 CONFIG_DRM_VBOXVIDEO=m
 # CONFIG_PI433 is not set
-CONFIG_MTK_MMC=m
-# CONFIG_MTK_AEE_KDUMP is not set
-# CONFIG_MTK_MMC_CD_POLL is not set
 
 #
 # Gasket devices
 #
-CONFIG_XIL_AXIS_FIFO=m
 CONFIG_EROFS_FS=m
 # CONFIG_EROFS_FS_DEBUG is not set
 CONFIG_EROFS_FS_XATTR=y
@@ -8055,18 +8065,21 @@ CONFIG_INTEL_CHTDC_TI_PWRBTN=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 CONFIG_INTEL_ATOMISP2_PM=m
 # CONFIG_HUAWEI_WMI is not set
+CONFIG_PCENGINES_APU2=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
 CONFIG_CHROMEOS_PSTORE=m
 CONFIG_CHROMEOS_TBMC=m
-CONFIG_CROS_EC_CTL=m
 CONFIG_CROS_EC_I2C=m
 CONFIG_CROS_EC_SPI=m
 CONFIG_CROS_EC_LPC=m
 # CONFIG_CROS_EC_LPC_MEC is not set
 CONFIG_CROS_EC_PROTO=y
 CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_CROS_EC_LIGHTBAR=m
+CONFIG_CROS_EC_DEBUGFS=m
+CONFIG_CROS_EC_SYSFS=m
 # CONFIG_MELLANOX_PLATFORM is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
@@ -8098,6 +8111,7 @@ CONFIG_DW_APB_TIMER=y
 CONFIG_MAILBOX=y
 CONFIG_PCC=y
 CONFIG_ALTERA_MBOX=m
+CONFIG_IOMMU_IOVA=y
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
 
@@ -8106,12 +8120,12 @@ CONFIG_IOMMU_SUPPORT=y
 #
 # CONFIG_IOMMU_DEBUGFS is not set
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
-CONFIG_IOMMU_IOVA=y
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
 CONFIG_INTEL_IOMMU_SVM=y
 # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_HYPERV_IOMMU=y
 
 #
 # Remoteproc drivers
@@ -8189,6 +8203,7 @@ CONFIG_EXTCON_MAX77693=m
 CONFIG_EXTCON_MAX77843=m
 CONFIG_EXTCON_MAX8997=m
 CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_PTN5150=m
 CONFIG_EXTCON_RT8973A=m
 CONFIG_EXTCON_SM5502=m
 CONFIG_EXTCON_USB_GPIO=m
@@ -8257,7 +8272,11 @@ CONFIG_AD7266=m
 CONFIG_AD7291=m
 CONFIG_AD7298=m
 CONFIG_AD7476=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD7606_IFACE_SPI=m
 CONFIG_AD7766=m
+CONFIG_AD7768_1=m
 CONFIG_AD7791=m
 CONFIG_AD7793=m
 CONFIG_AD7887=m
@@ -8324,6 +8343,9 @@ CONFIG_BME680_I2C=m
 CONFIG_BME680_SPI=m
 CONFIG_CCS811=m
 CONFIG_IAQCORE=m
+CONFIG_PMS7003=m
+CONFIG_SENSIRION_SGP30=m
+CONFIG_SPS30=m
 CONFIG_VZ89X=m
 CONFIG_IIO_CROS_EC_SENSORS_CORE=m
 CONFIG_IIO_CROS_EC_SENSORS=m
@@ -8382,6 +8404,7 @@ CONFIG_MCP4922=m
 CONFIG_TI_DAC082S085=m
 CONFIG_TI_DAC5571=m
 CONFIG_TI_DAC7311=m
+CONFIG_TI_DAC7612=m
 
 #
 # IIO dummy driver
@@ -8494,6 +8517,7 @@ CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
 CONFIG_LV0104CS=m
 CONFIG_MAX44000=m
+CONFIG_MAX44009=m
 CONFIG_OPT3001=m
 CONFIG_PA12203001=m
 CONFIG_SI1133=m
@@ -8724,6 +8748,7 @@ CONFIG_NVDIMM_KEYS=y
 CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_KMEM=m
 CONFIG_NVMEM=y
 CONFIG_RAVE_SP_EEPROM=m
 
@@ -8752,6 +8777,7 @@ CONFIG_FPGA_MGR_ALTERA_CVP=m
 CONFIG_FPGA_MGR_XILINX_SPI=m
 CONFIG_FPGA_MGR_MACHXO2_SPI=m
 CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
 CONFIG_XILINX_PR_DECOUPLER=m
 CONFIG_FPGA_REGION=m
 CONFIG_FPGA_DFL=m
@@ -8764,11 +8790,13 @@ CONFIG_FPGA_DFL_PCI=m
 CONFIG_PM_OPP=y
 # CONFIG_SIOX is not set
 # CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
 
 #
 # File systems
 #
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
@@ -8776,7 +8804,6 @@ CONFIG_EXT4_FS=y
 CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_ENCRYPTION is not set
 # CONFIG_EXT4_DEBUG is not set
 CONFIG_JBD2=y
 # CONFIG_JBD2_DEBUG is not set
@@ -8821,7 +8848,6 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FS_ENCRYPTION is not set
 # CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_DAX=y
@@ -8830,7 +8856,7 @@ CONFIG_EXPORTFS=y
 # CONFIG_EXPORTFS_BLOCK_OPS is not set
 CONFIG_FILE_LOCKING=y
 CONFIG_MANDATORY_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=m
+# CONFIG_FS_ENCRYPTION is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -8944,7 +8970,6 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UBIFS_ATIME_SUPPORT=y
 CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ENCRYPTION=y
 CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_UBIFS_FS_AUTHENTICATION=y
 CONFIG_CRAMFS=m
@@ -8995,9 +9020,6 @@ CONFIG_SYSV_FS=m
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
 # CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V2=m
@@ -9037,6 +9059,7 @@ CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
 CONFIG_SUNRPC_SWAP=y
 CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
 CONFIG_SUNRPC_DEBUG=y
 CONFIG_SUNRPC_XPRT_RDMA=m
 CONFIG_CEPH_FS=m
@@ -9147,7 +9170,6 @@ CONFIG_FORTIFY_SOURCE=y
 # CONFIG_STATIC_USERMODEHELPER is not set
 CONFIG_SECURITY_SELINUX=y
 CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
 CONFIG_SECURITY_SELINUX_DISABLE=y
 CONFIG_SECURITY_SELINUX_DEVELOP=y
 CONFIG_SECURITY_SELINUX_AVC_STATS=y
@@ -9163,12 +9185,12 @@ CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
 CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
 CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
 # CONFIG_SECURITY_APPARMOR_DEBUG is not set
 # CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
+# CONFIG_SECURITY_SAFESETID is not set
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
 CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -9203,7 +9225,7 @@ CONFIG_EVM_EXTRA_SMACK_XATTRS=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 CONFIG_DEFAULT_SECURITY_APPARMOR=y
 # CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_LSM="yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo"
 CONFIG_XOR_BLOCKS=m
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
@@ -9489,9 +9511,11 @@ CONFIG_HAS_DMA=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_DMA_DECLARE_COHERENT=y
 CONFIG_DMA_VIRT_OPS=y
 CONFIG_SWIOTLB=y
+# CONFIG_DMA_CMA is not set
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_CHECK_SIGNATURE=y
 CONFIG_CPU_RMAP=y
@@ -9526,6 +9550,7 @@ CONFIG_OBJAGG=m
 # printk and dmesg options
 #
 CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -9541,7 +9566,6 @@ CONFIG_FRAME_WARN=1024
 # CONFIG_STRIP_ASM_SYMS is not set
 # CONFIG_READABLE_ASM is not set
 CONFIG_UNUSED_SYMBOLS=y
-# CONFIG_PAGE_OWNER is not set
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -9558,6 +9582,7 @@ CONFIG_DEBUG_KERNEL=y
 #
 CONFIG_PAGE_EXTENSION=y
 # CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
 # CONFIG_PAGE_POISONING is not set
 # CONFIG_DEBUG_PAGE_REF is not set
 # CONFIG_DEBUG_RODATA_TEST is not set
@@ -9705,7 +9730,6 @@ CONFIG_MMIOTRACE=y
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 CONFIG_TRACING_EVENTS_GPIO=y
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DMA_API_DEBUG is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
 # CONFIG_TEST_LIST_SORT is not set
@@ -9731,6 +9755,7 @@ CONFIG_TEST_HASH=m
 CONFIG_TEST_IDA=m
 CONFIG_TEST_PARMAN=m
 CONFIG_TEST_LKM=m
+CONFIG_TEST_VMALLOC=m
 CONFIG_TEST_USER_COPY=m
 CONFIG_TEST_BPF=m
 CONFIG_FIND_BIT_BENCHMARK=m
@@ -9741,6 +9766,7 @@ CONFIG_TEST_STATIC_KEYS=m
 # CONFIG_TEST_KMOD is not set
 # CONFIG_TEST_MEMCAT_P is not set
 CONFIG_TEST_OBJAGG=m
+# CONFIG_TEST_STACKINIT is not set
 CONFIG_MEMTEST=y
 # CONFIG_BUG_ON_DATA_CORRUPTION is not set
 # CONFIG_SAMPLES is not set
@@ -9755,6 +9781,7 @@ CONFIG_KDB_KEYBOARD=y
 CONFIG_KDB_CONTINUE_CATASTROPHIC=0
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_UBSAN_ALIGNMENT=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
@@ -9763,7 +9790,6 @@ CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
-CONFIG_EARLY_PRINTK_EFI=y
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
 # CONFIG_X86_PTDUMP is not set
 # CONFIG_EFI_PGT_DUMP is not set
diff --git a/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.1-x86_64.conf
index 9e1a7eff0e..c9dbf57c91 100644
--- a/gnu/packages/aux-files/linux-libre/5.0-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.1-x86_64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.0.0-gnu Kernel Configuration
+# Linux/x86 5.1.0-gnu Kernel Configuration
 #
 
 #
@@ -10,6 +10,7 @@ CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=70400
 CONFIG_CLANG_VERSION=0
 CONFIG_CC_HAS_ASM_GOTO=y
+CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
 CONFIG_IRQ_WORK=y
 CONFIG_BUILDTIME_EXTABLE_SORT=y
 CONFIG_THREAD_INFO_IN_TASK=y
@@ -197,6 +198,7 @@ CONFIG_TIMERFD=y
 CONFIG_EVENTFD=y
 CONFIG_SHMEM=y
 CONFIG_AIO=y
+CONFIG_IO_URING=y
 CONFIG_ADVISE_SYSCALLS=y
 CONFIG_MEMBARRIER=y
 CONFIG_KALLSYMS=y
@@ -582,6 +584,7 @@ CONFIG_X86_SPEEDSTEP_LIB=m
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
 CONFIG_INTEL_IDLE=y
 
 #
@@ -601,7 +604,6 @@ CONFIG_AMD_NB=y
 # Binary Emulations
 #
 CONFIG_IA32_EMULATION=y
-# CONFIG_IA32_AOUT is not set
 CONFIG_X86_X32=y
 CONFIG_COMPAT_32=y
 CONFIG_COMPAT=y
@@ -643,6 +645,7 @@ CONFIG_RESET_ATTACK_MITIGATION=y
 CONFIG_UEFI_CPER=y
 CONFIG_UEFI_CPER_X86=y
 CONFIG_EFI_DEV_PATH_PARSER=y
+CONFIG_EFI_EARLYCON=y
 
 #
 # Tegra firmware driver
@@ -768,6 +771,7 @@ CONFIG_STRICT_MODULE_RWX=y
 CONFIG_ARCH_HAS_REFCOUNT=y
 CONFIG_REFCOUNT_FULL=y
 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 
 #
 # GCOV-based kernel profiling
@@ -780,6 +784,8 @@ CONFIG_GCC_PLUGINS=y
 # CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
 # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK=y
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
+# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
 CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
 # CONFIG_GCC_PLUGIN_STRUCTLEAK_VERBOSE is not set
 # CONFIG_GCC_PLUGIN_RANDSTRUCT is not set
@@ -962,6 +968,7 @@ CONFIG_SKB_EXTENSIONS=y
 CONFIG_PACKET=y
 CONFIG_PACKET_DIAG=m
 CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
 CONFIG_UNIX_DIAG=m
 CONFIG_TLS=m
 # CONFIG_TLS_DEVICE is not set
@@ -1103,7 +1110,7 @@ CONFIG_NF_CONNTRACK_TIMEOUT=y
 CONFIG_NF_CONNTRACK_TIMESTAMP=y
 CONFIG_NF_CONNTRACK_LABELS=y
 CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_GRE=y
 CONFIG_NF_CT_PROTO_SCTP=y
 CONFIG_NF_CT_PROTO_UDPLITE=y
 CONFIG_NF_CONNTRACK_AMANDA=m
@@ -1129,6 +1136,7 @@ CONFIG_NF_NAT_IRC=m
 CONFIG_NF_NAT_SIP=m
 CONFIG_NF_NAT_TFTP=m
 CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
 CONFIG_NETFILTER_SYNPROXY=m
 CONFIG_NF_TABLES=m
 CONFIG_NF_TABLES_SET=m
@@ -1143,7 +1151,6 @@ CONFIG_NFT_LOG=m
 CONFIG_NFT_LIMIT=m
 CONFIG_NFT_MASQ=m
 CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
 CONFIG_NFT_TUNNEL=m
 CONFIG_NFT_OBJREF=m
 CONFIG_NFT_QUEUE=m
@@ -1325,8 +1332,6 @@ CONFIG_NF_DUP_IPV4=m
 CONFIG_NF_LOG_ARP=m
 CONFIG_NF_LOG_IPV4=m
 CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_IPV4=m
-CONFIG_NF_NAT_MASQUERADE_IPV4=y
 CONFIG_NF_NAT_SNMP_BASIC=m
 CONFIG_NF_NAT_PPTP=m
 CONFIG_NF_NAT_H323=m
@@ -1362,8 +1367,6 @@ CONFIG_NF_FLOW_TABLE_IPV6=m
 CONFIG_NF_DUP_IPV6=m
 CONFIG_NF_REJECT_IPV6=m
 CONFIG_NF_LOG_IPV6=m
-CONFIG_NF_NAT_IPV6=m
-CONFIG_NF_NAT_MASQUERADE_IPV6=y
 CONFIG_IP6_NF_IPTABLES=m
 CONFIG_IP6_NF_MATCH_AH=m
 CONFIG_IP6_NF_MATCH_EUI64=m
@@ -1846,20 +1849,17 @@ CONFIG_NFC_SHDLC=y
 # Near Field Communication (NFC) devices
 #
 CONFIG_NFC_TRF7970A=m
-CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
 CONFIG_NFC_FDP=m
 CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544_MEI=m
 CONFIG_NFC_PN533=m
 CONFIG_NFC_PN533_USB=m
 CONFIG_NFC_PN533_I2C=m
 CONFIG_NFC_MICROREAD=m
 CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD_MEI=m
 CONFIG_NFC_MRVL=m
 CONFIG_NFC_MRVL_USB=m
 CONFIG_NFC_MRVL_UART=m
@@ -1882,8 +1882,7 @@ CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
 CONFIG_GRO_CELLS=y
 CONFIG_NET_SOCK_MSG=y
-CONFIG_NET_DEVLINK=m
-CONFIG_MAY_USE_DEVLINK=m
+# CONFIG_NET_DEVLINK is not set
 CONFIG_PAGE_POOL=y
 CONFIG_FAILOVER=y
 CONFIG_HAVE_EBPF_JIT=y
@@ -1910,6 +1909,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 CONFIG_PCIE_PME=y
 CONFIG_PCIE_DPC=y
 CONFIG_PCIE_PTM=y
+# CONFIG_PCIE_BW is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_QUIRKS=y
@@ -2030,7 +2030,6 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_IRQ=y
 CONFIG_DMA_SHARED_BUFFER=y
 # CONFIG_DMA_FENCE_TRACE is not set
-# CONFIG_DMA_CMA is not set
 
 #
 # Bus devices
@@ -2039,6 +2038,7 @@ CONFIG_CONNECTOR=y
 CONFIG_PROC_EVENTS=y
 CONFIG_GNSS=m
 CONFIG_GNSS_SERIAL=m
+CONFIG_GNSS_MTK_SERIAL=m
 CONFIG_GNSS_SIRF_SERIAL=m
 CONFIG_GNSS_UBX_SERIAL=m
 CONFIG_MTD=m
@@ -2168,8 +2168,8 @@ CONFIG_MTD_SPI_NAND=m
 CONFIG_MTD_LPDDR=m
 CONFIG_MTD_QINFO_PROBE=m
 CONFIG_MTD_SPI_NOR=m
-CONFIG_MTD_MT81xx_NOR=m
 CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+CONFIG_SPI_MTK_QUADSPI=m
 CONFIG_SPI_INTEL_SPI=m
 CONFIG_SPI_INTEL_SPI_PCI=m
 CONFIG_SPI_INTEL_SPI_PLATFORM=m
@@ -2329,9 +2329,10 @@ CONFIG_CB710_DEBUG_ASSUMPTIONS=y
 CONFIG_TI_ST=m
 CONFIG_SENSORS_LIS3_I2C=m
 CONFIG_ALTERA_STAPL=m
-CONFIG_INTEL_MEI=m
-CONFIG_INTEL_MEI_ME=m
-CONFIG_INTEL_MEI_TXE=m
+# CONFIG_INTEL_MEI is not set
+# CONFIG_INTEL_MEI_ME is not set
+# CONFIG_INTEL_MEI_TXE is not set
+# CONFIG_INTEL_MEI_HDCP is not set
 CONFIG_VMWARE_VMCI=m
 
 #
@@ -2384,6 +2385,7 @@ CONFIG_ECHO=m
 CONFIG_MISC_ALCOR_PCI=m
 CONFIG_MISC_RTSX_PCI=m
 CONFIG_MISC_RTSX_USB=m
+CONFIG_HABANA_AI=m
 CONFIG_HAVE_IDE=y
 # CONFIG_IDE is not set
 
@@ -2536,10 +2538,6 @@ CONFIG_SCSI_DH_RDAC=m
 CONFIG_SCSI_DH_HP_SW=m
 CONFIG_SCSI_DH_EMC=m
 CONFIG_SCSI_DH_ALUA=m
-CONFIG_SCSI_OSD_INITIATOR=m
-CONFIG_SCSI_OSD_ULD=m
-CONFIG_SCSI_OSD_DPRINT_SENSE=1
-# CONFIG_SCSI_OSD_DEBUG is not set
 CONFIG_ATA=y
 CONFIG_ATA_VERBOSE_ERROR=y
 CONFIG_ATA_ACPI=y
@@ -2674,6 +2672,7 @@ CONFIG_DM_MULTIPATH=m
 CONFIG_DM_MULTIPATH_QL=m
 CONFIG_DM_MULTIPATH_ST=m
 CONFIG_DM_DELAY=m
+# CONFIG_DM_INIT is not set
 CONFIG_DM_UEVENT=y
 CONFIG_DM_FLAKEY=m
 CONFIG_DM_VERITY=m
@@ -2727,6 +2726,7 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
 CONFIG_NET_TEAM_MODE_LOADBALANCE=m
 CONFIG_MACVLAN=m
 CONFIG_MACVTAP=m
+CONFIG_IPVLAN_L3S=y
 CONFIG_IPVLAN=m
 CONFIG_IPVTAP=m
 CONFIG_VXLAN=m
@@ -3111,6 +3111,7 @@ CONFIG_DWC_XLGMAC_PCI=m
 CONFIG_NET_VENDOR_TEHUTI=y
 CONFIG_TEHUTI=m
 CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_PHY_SEL is not set
 CONFIG_TI_CPSW_ALE=m
 CONFIG_TLAN=m
 CONFIG_NET_VENDOR_VIA=y
@@ -3433,6 +3434,7 @@ CONFIG_MT7601U=m
 # CONFIG_MT76x0E is not set
 # CONFIG_MT76x2E is not set
 # CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
 CONFIG_WLAN_VENDOR_RALINK=y
 CONFIG_RT2X00=m
 CONFIG_RT2400PCI=m
@@ -3922,6 +3924,7 @@ CONFIG_INPUT_AD714X_SPI=m
 CONFIG_INPUT_ARIZONA_HAPTICS=m
 CONFIG_INPUT_BMA150=m
 CONFIG_INPUT_E3X0_BUTTON=m
+CONFIG_INPUT_MSM_VIBRATOR=m
 CONFIG_INPUT_PCSPKR=m
 CONFIG_INPUT_MAX77693_HAPTIC=m
 CONFIG_INPUT_MAX8925_ONKEY=m
@@ -4038,6 +4041,7 @@ CONFIG_N_HDLC=m
 CONFIG_N_GSM=m
 CONFIG_TRACE_ROUTER=m
 CONFIG_TRACE_SINK=m
+CONFIG_LDISC_AUTOLOAD=y
 CONFIG_DEVMEM=y
 # CONFIG_DEVKMEM is not set
 
@@ -4111,6 +4115,7 @@ CONFIG_HVC_XEN_FRONTEND=y
 CONFIG_VIRTIO_CONSOLE=y
 CONFIG_IPMI_HANDLER=m
 CONFIG_IPMI_DMI_DECODE=y
+CONFIG_IPMI_PLAT_DATA=y
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
@@ -4124,7 +4129,6 @@ CONFIG_HW_RANDOM_AMD=m
 CONFIG_HW_RANDOM_VIA=m
 CONFIG_HW_RANDOM_VIRTIO=m
 CONFIG_NVRAM=m
-CONFIG_R3964=m
 CONFIG_APPLICOM=m
 
 #
@@ -4283,6 +4287,7 @@ CONFIG_SPI_DW_PCI=m
 CONFIG_SPI_DW_MID_DMA=y
 CONFIG_SPI_DW_MMIO=m
 CONFIG_SPI_DLN2=m
+CONFIG_SPI_NXP_FLEXSPI=m
 CONFIG_SPI_GPIO=m
 CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
@@ -4290,6 +4295,7 @@ CONFIG_SPI_PXA2XX=m
 CONFIG_SPI_PXA2XX_PCI=m
 CONFIG_SPI_ROCKCHIP=m
 CONFIG_SPI_SC18IS602=m
+CONFIG_SPI_SIFIVE=m
 CONFIG_SPI_MXIC=m
 CONFIG_SPI_XCOMM=m
 # CONFIG_SPI_XILINX is not set
@@ -4380,6 +4386,7 @@ CONFIG_GPIO_MB86S7X=m
 CONFIG_GPIO_MENZ127=m
 # CONFIG_GPIO_MOCKUP is not set
 CONFIG_GPIO_VX855=m
+CONFIG_GPIO_AMD_FCH=m
 
 #
 # Port-mapped I/O GPIO drivers
@@ -4422,6 +4429,7 @@ CONFIG_GPIO_TPS65086=m
 CONFIG_GPIO_TPS6586X=y
 CONFIG_GPIO_TPS65910=y
 CONFIG_GPIO_TPS65912=m
+CONFIG_GPIO_TQMX86=m
 CONFIG_GPIO_TWL4030=m
 CONFIG_GPIO_TWL6040=m
 CONFIG_GPIO_UCB1400=m
@@ -4829,7 +4837,6 @@ CONFIG_W83877F_WDT=m
 CONFIG_W83977F_WDT=m
 CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
-CONFIG_INTEL_MEI_WDT=m
 CONFIG_NI903X_WDT=m
 CONFIG_NIC7018_WDT=m
 CONFIG_MEN_A21_WDT=m
@@ -4976,6 +4983,7 @@ CONFIG_MFD_TWL4030_AUDIO=y
 CONFIG_TWL6040_CORE=y
 CONFIG_MFD_WL1273_CORE=m
 CONFIG_MFD_LM3533=m
+CONFIG_MFD_TQMX86=m
 CONFIG_MFD_VX855=m
 CONFIG_MFD_ARIZONA=y
 CONFIG_MFD_ARIZONA_I2C=m
@@ -5096,6 +5104,7 @@ CONFIG_IR_SHARP_DECODER=m
 CONFIG_IR_MCE_KBD_DECODER=m
 CONFIG_IR_XMP_DECODER=m
 CONFIG_IR_IMON_DECODER=m
+CONFIG_IR_RCMM_DECODER=m
 CONFIG_RC_DEVICES=y
 CONFIG_RC_ATI_REMOTE=m
 CONFIG_IR_ENE=m
@@ -5341,6 +5350,7 @@ CONFIG_VIDEO_IVTV=m
 # CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set
 CONFIG_VIDEO_IVTV_ALSA=m
 CONFIG_VIDEO_FB_IVTV=m
+# CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set
 CONFIG_VIDEO_HEXIUM_GEMINI=m
 CONFIG_VIDEO_HEXIUM_ORION=m
 CONFIG_VIDEO_MXB=m
@@ -5405,8 +5415,6 @@ CONFIG_VIDEO_CADENCE=y
 CONFIG_VIDEO_CADENCE_CSI2RX=m
 CONFIG_VIDEO_CADENCE_CSI2TX=m
 CONFIG_VIDEO_ASPEED=m
-CONFIG_SOC_CAMERA=m
-CONFIG_SOC_CAMERA_PLATFORM=m
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
@@ -5552,7 +5560,6 @@ CONFIG_VIDEO_ADV7511=m
 CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9M111=m
 CONFIG_VIDEO_MT9V011=m
 
 #
@@ -5580,24 +5587,6 @@ CONFIG_VIDEO_SAA6752HS=m
 CONFIG_VIDEO_M52790=m
 
 #
-# Sensors used on soc_camera driver
-#
-
-#
-# soc_camera sensor drivers
-#
-CONFIG_SOC_CAMERA_MT9M001=m
-CONFIG_SOC_CAMERA_MT9M111=m
-CONFIG_SOC_CAMERA_MT9T112=m
-CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_OV5642=m
-CONFIG_SOC_CAMERA_OV772X=m
-CONFIG_SOC_CAMERA_OV9640=m
-CONFIG_SOC_CAMERA_OV9740=m
-CONFIG_SOC_CAMERA_RJ54N1=m
-CONFIG_SOC_CAMERA_TW9910=m
-
-#
 # Media SPI Adapters
 #
 CONFIG_CXD2880_SPI_DRV=m
@@ -5833,6 +5822,10 @@ CONFIG_DRM_I2C_CH7006=m
 CONFIG_DRM_I2C_SIL164=m
 CONFIG_DRM_I2C_NXP_TDA998X=m
 CONFIG_DRM_I2C_NXP_TDA9950=m
+
+#
+# ARM devices
+#
 CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_USERPTR is not set
 CONFIG_DRM_AMDGPU=m
@@ -5866,6 +5859,7 @@ CONFIG_NOUVEAU_DEBUG=5
 CONFIG_NOUVEAU_DEBUG_DEFAULT=3
 # CONFIG_NOUVEAU_DEBUG_MMU is not set
 CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+# CONFIG_DRM_NOUVEAU_SVM is not set
 CONFIG_DRM_I915=m
 # CONFIG_DRM_I915_ALPHA_SUPPORT is not set
 CONFIG_DRM_I915_CAPTURE_ERROR=y
@@ -5912,6 +5906,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
 # Display Interface Bridges
 #
 CONFIG_DRM_ANALOGIX_ANX78XX=m
+# CONFIG_DRM_ETNAVIV is not set
 CONFIG_DRM_HISI_HIBMC=m
 # CONFIG_DRM_TINYDRM is not set
 CONFIG_DRM_XEN=y
@@ -6292,6 +6287,7 @@ CONFIG_SND_SOC_FSL_SAI=m
 CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_ESAI=m
+CONFIG_SND_SOC_FSL_MICFIL=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
 CONFIG_SND_I2S_HI6210_I2S=m
 # CONFIG_SND_SOC_IMG is not set
@@ -6343,11 +6339,14 @@ CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m
 CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m
 CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m
+CONFIG_SND_SOC_MTK_BTCVSD=m
 
 #
 # STMicroelectronics STM32 SOC audio support
 #
 CONFIG_SND_SOC_XILINX_I2S=m
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
 CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -6374,10 +6373,12 @@ CONFIG_SND_SOC_AK5558=m
 CONFIG_SND_SOC_ALC5623=m
 CONFIG_SND_SOC_BD28623=m
 CONFIG_SND_SOC_BT_SCO=m
+CONFIG_SND_SOC_CROS_EC_CODEC=m
 CONFIG_SND_SOC_CS35L32=m
 CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
 CONFIG_SND_SOC_CS35L35=m
+CONFIG_SND_SOC_CS35L36=m
 CONFIG_SND_SOC_CS42L42=m
 CONFIG_SND_SOC_CS42L51=m
 CONFIG_SND_SOC_CS42L51_I2C=m
@@ -6392,6 +6393,7 @@ CONFIG_SND_SOC_CS4271_SPI=m
 CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS43130=m
+CONFIG_SND_SOC_CS4341=m
 CONFIG_SND_SOC_CS4349=m
 CONFIG_SND_SOC_CS53L30=m
 CONFIG_SND_SOC_DA7213=m
@@ -6436,6 +6438,7 @@ CONFIG_SND_SOC_PCM3168A_SPI=m
 CONFIG_SND_SOC_PCM512x=m
 CONFIG_SND_SOC_PCM512x_I2C=m
 CONFIG_SND_SOC_PCM512x_SPI=m
+# CONFIG_SND_SOC_RK3328 is not set
 CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RL6347A=m
 CONFIG_SND_SOC_RT286=m
@@ -6505,6 +6508,7 @@ CONFIG_SND_SOC_WM8804=m
 CONFIG_SND_SOC_WM8804_I2C=m
 CONFIG_SND_SOC_WM8804_SPI=m
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8904=m
 CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
 CONFIG_SND_SOC_WM8974=m
@@ -6513,6 +6517,7 @@ CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_ZX_AUD96P22=m
 CONFIG_SND_SOC_MAX9759=m
 CONFIG_SND_SOC_MT6351=m
+CONFIG_SND_SOC_MT6358=m
 CONFIG_SND_SOC_NAU8540=m
 CONFIG_SND_SOC_NAU8810=m
 CONFIG_SND_SOC_NAU8822=m
@@ -6574,6 +6579,7 @@ CONFIG_HID_KEYTOUCH=m
 CONFIG_HID_KYE=m
 CONFIG_HID_UCLOGIC=m
 CONFIG_HID_WALTOP=m
+CONFIG_HID_VIEWSONIC=m
 CONFIG_HID_GYRATION=m
 CONFIG_HID_ICADE=m
 CONFIG_HID_ITE=m
@@ -6591,6 +6597,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y
 CONFIG_LOGIG940_FF=y
 CONFIG_LOGIWHEELS_FF=y
 CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MALTRON=m
 CONFIG_HID_MAYFLASH=m
 CONFIG_HID_REDRAGON=m
 CONFIG_HID_MICROSOFT=m
@@ -6682,6 +6689,7 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
 CONFIG_USB_LEDS_TRIGGER_USBPORT=m
+CONFIG_USB_AUTOSUSPEND_DELAY=2
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
 CONFIG_USB_WUSB_CBAF=m
@@ -6699,6 +6707,7 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_ROOT_HUB_TT=y
 CONFIG_USB_EHCI_TT_NEWSCHED=y
 CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
@@ -7199,6 +7208,13 @@ CONFIG_INFINIBAND_NES=m
 CONFIG_INFINIBAND_OCRDMA=m
 CONFIG_INFINIBAND_VMWARE_PVRDMA=m
 CONFIG_INFINIBAND_USNIC=m
+CONFIG_INFINIBAND_BNXT_RE=m
+CONFIG_INFINIBAND_HFI1=m
+# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
+# CONFIG_SDMA_VERBOSITY is not set
+CONFIG_INFINIBAND_QEDR=m
+CONFIG_INFINIBAND_RDMAVT=m
+CONFIG_RDMA_RXE=m
 CONFIG_INFINIBAND_IPOIB=m
 CONFIG_INFINIBAND_IPOIB_CM=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG is not set
@@ -7207,13 +7223,6 @@ CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
 CONFIG_INFINIBAND_OPA_VNIC=m
-CONFIG_INFINIBAND_RDMAVT=m
-CONFIG_RDMA_RXE=m
-CONFIG_INFINIBAND_HFI1=m
-# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
-# CONFIG_SDMA_VERBOSITY is not set
-CONFIG_INFINIBAND_QEDR=m
-CONFIG_INFINIBAND_BNXT_RE=m
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
 CONFIG_EDAC=y
@@ -7236,6 +7245,7 @@ CONFIG_EDAC_I5100=m
 CONFIG_EDAC_I7300=m
 CONFIG_EDAC_SBRIDGE=m
 CONFIG_EDAC_SKX=m
+CONFIG_EDAC_I10NM=m
 CONFIG_EDAC_PND2=m
 CONFIG_RTC_LIB=y
 CONFIG_RTC_MC146818_LIB=y
@@ -7262,6 +7272,7 @@ CONFIG_RTC_INTF_DEV=y
 CONFIG_RTC_DRV_88PM860X=m
 CONFIG_RTC_DRV_88PM80X=m
 CONFIG_RTC_DRV_ABB5ZES3=m
+CONFIG_RTC_DRV_ABEOZ9=m
 CONFIG_RTC_DRV_ABX80X=m
 CONFIG_RTC_DRV_DS1307=m
 # CONFIG_RTC_DRV_DS1307_CENTURY is not set
@@ -7297,8 +7308,10 @@ CONFIG_RTC_DRV_RX8010=m
 CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3028=m
 CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
+CONFIG_RTC_DRV_SD3078=m
 
 #
 # SPI RTC drivers
@@ -7415,10 +7428,14 @@ CONFIG_KS0108_DELAY=2
 CONFIG_CFAG12864B=m
 CONFIG_CFAG12864B_RATE=20
 CONFIG_IMG_ASCII_LCD=m
-CONFIG_PANEL=m
+CONFIG_PARPORT_PANEL=m
 CONFIG_PANEL_PARPORT=0
 CONFIG_PANEL_PROFILE=5
 # CONFIG_PANEL_CHANGE_MESSAGE is not set
+# CONFIG_CHARLCD_BL_OFF is not set
+# CONFIG_CHARLCD_BL_ON is not set
+CONFIG_CHARLCD_BL_FLASH=y
+CONFIG_PANEL=m
 CONFIG_CHARLCD=m
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
@@ -7664,9 +7681,6 @@ CONFIG_ADIS16240=m
 #
 # Analog to digital converters
 #
-CONFIG_AD7606=m
-CONFIG_AD7606_IFACE_PARALLEL=m
-CONFIG_AD7606_IFACE_SPI=m
 CONFIG_AD7780=m
 CONFIG_AD7816=m
 CONFIG_AD7192=m
@@ -7683,7 +7697,6 @@ CONFIG_ADT7316_I2C=m
 # Capacitance to digital converters
 #
 CONFIG_AD7150=m
-CONFIG_AD7152=m
 CONFIG_AD7746=m
 
 #
@@ -7709,7 +7722,6 @@ CONFIG_ADE7854_SPI=m
 #
 CONFIG_AD2S1210=m
 CONFIG_FB_SM750=m
-CONFIG_FB_XGI=m
 
 #
 # Speakup console speech
@@ -7728,8 +7740,6 @@ CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
 CONFIG_STAGING_MEDIA=y
 CONFIG_I2C_BCM2048=m
-CONFIG_SOC_CAMERA_IMX074=m
-CONFIG_SOC_CAMERA_MT9T031=m
 CONFIG_VIDEO_ZORAN=m
 CONFIG_VIDEO_ZORAN_DC30=m
 CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -7741,6 +7751,10 @@ CONFIG_VIDEO_ZORAN_AVS6EYES=m
 CONFIG_VIDEO_IPU3_IMGU=m
 
 #
+# soc_camera sensor drivers
+#
+
+#
 # Android
 #
 CONFIG_LTE_GDM724X=m
@@ -7801,16 +7815,12 @@ CONFIG_KS7010=m
 # CONFIG_GREYBUS is not set
 CONFIG_DRM_VBOXVIDEO=m
 # CONFIG_PI433 is not set
-CONFIG_MTK_MMC=m
-# CONFIG_MTK_AEE_KDUMP is not set
-# CONFIG_MTK_MMC_CD_POLL is not set
 
 #
 # Gasket devices
 #
 CONFIG_STAGING_GASKET_FRAMEWORK=m
 CONFIG_STAGING_APEX_DRIVER=m
-CONFIG_XIL_AXIS_FIFO=m
 CONFIG_EROFS_FS=m
 # CONFIG_EROFS_FS_DEBUG is not set
 CONFIG_EROFS_FS_XATTR=y
@@ -7905,18 +7915,21 @@ CONFIG_INTEL_CHTDC_TI_PWRBTN=m
 CONFIG_I2C_MULTI_INSTANTIATE=m
 CONFIG_INTEL_ATOMISP2_PM=m
 CONFIG_HUAWEI_WMI=m
+CONFIG_PCENGINES_APU2=m
 CONFIG_PMC_ATOM=y
 CONFIG_CHROME_PLATFORMS=y
 CONFIG_CHROMEOS_LAPTOP=m
 CONFIG_CHROMEOS_PSTORE=m
 CONFIG_CHROMEOS_TBMC=m
-CONFIG_CROS_EC_CTL=m
 CONFIG_CROS_EC_I2C=m
 CONFIG_CROS_EC_SPI=m
 CONFIG_CROS_EC_LPC=m
 # CONFIG_CROS_EC_LPC_MEC is not set
 CONFIG_CROS_EC_PROTO=y
 CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_CROS_EC_LIGHTBAR=m
+CONFIG_CROS_EC_DEBUGFS=m
+CONFIG_CROS_EC_SYSFS=m
 # CONFIG_MELLANOX_PLATFORM is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
@@ -7946,6 +7959,7 @@ CONFIG_CLKBLD_I8253=y
 CONFIG_MAILBOX=y
 CONFIG_PCC=y
 CONFIG_ALTERA_MBOX=m
+CONFIG_IOMMU_IOVA=y
 CONFIG_IOMMU_API=y
 CONFIG_IOMMU_SUPPORT=y
 
@@ -7954,7 +7968,6 @@ CONFIG_IOMMU_SUPPORT=y
 #
 # CONFIG_IOMMU_DEBUGFS is not set
 # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
-CONFIG_IOMMU_IOVA=y
 CONFIG_AMD_IOMMU=y
 CONFIG_AMD_IOMMU_V2=m
 CONFIG_DMAR_TABLE=y
@@ -7963,6 +7976,7 @@ CONFIG_INTEL_IOMMU_SVM=y
 # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
 CONFIG_IRQ_REMAP=y
+CONFIG_HYPERV_IOMMU=y
 
 #
 # Remoteproc drivers
@@ -8040,6 +8054,7 @@ CONFIG_EXTCON_MAX77693=m
 CONFIG_EXTCON_MAX77843=m
 CONFIG_EXTCON_MAX8997=m
 CONFIG_EXTCON_PALMAS=m
+CONFIG_EXTCON_PTN5150=m
 CONFIG_EXTCON_RT8973A=m
 CONFIG_EXTCON_SM5502=m
 CONFIG_EXTCON_USB_GPIO=m
@@ -8108,7 +8123,11 @@ CONFIG_AD7266=m
 CONFIG_AD7291=m
 CONFIG_AD7298=m
 CONFIG_AD7476=m
+CONFIG_AD7606=m
+CONFIG_AD7606_IFACE_PARALLEL=m
+CONFIG_AD7606_IFACE_SPI=m
 CONFIG_AD7766=m
+CONFIG_AD7768_1=m
 CONFIG_AD7791=m
 CONFIG_AD7793=m
 CONFIG_AD7887=m
@@ -8175,6 +8194,9 @@ CONFIG_BME680_I2C=m
 CONFIG_BME680_SPI=m
 CONFIG_CCS811=m
 CONFIG_IAQCORE=m
+CONFIG_PMS7003=m
+CONFIG_SENSIRION_SGP30=m
+CONFIG_SPS30=m
 CONFIG_VZ89X=m
 CONFIG_IIO_CROS_EC_SENSORS_CORE=m
 CONFIG_IIO_CROS_EC_SENSORS=m
@@ -8233,6 +8255,7 @@ CONFIG_MCP4922=m
 CONFIG_TI_DAC082S085=m
 CONFIG_TI_DAC5571=m
 CONFIG_TI_DAC7311=m
+CONFIG_TI_DAC7612=m
 
 #
 # IIO dummy driver
@@ -8345,6 +8368,7 @@ CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
 CONFIG_LV0104CS=m
 CONFIG_MAX44000=m
+CONFIG_MAX44009=m
 CONFIG_OPT3001=m
 CONFIG_PA12203001=m
 CONFIG_SI1133=m
@@ -8582,6 +8606,8 @@ CONFIG_DAX_DRIVER=y
 CONFIG_DAX=y
 CONFIG_DEV_DAX=m
 CONFIG_DEV_DAX_PMEM=m
+CONFIG_DEV_DAX_KMEM=m
+CONFIG_DEV_DAX_PMEM_COMPAT=m
 CONFIG_NVMEM=y
 CONFIG_RAVE_SP_EEPROM=m
 
@@ -8610,6 +8636,7 @@ CONFIG_FPGA_MGR_ALTERA_CVP=m
 CONFIG_FPGA_MGR_XILINX_SPI=m
 CONFIG_FPGA_MGR_MACHXO2_SPI=m
 CONFIG_FPGA_BRIDGE=m
+CONFIG_ALTERA_FREEZE_BRIDGE=m
 CONFIG_XILINX_PR_DECOUPLER=m
 CONFIG_FPGA_REGION=m
 CONFIG_FPGA_DFL=m
@@ -8623,11 +8650,13 @@ CONFIG_PM_OPP=y
 CONFIG_UNISYS_VISORBUS=m
 # CONFIG_SIOX is not set
 # CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
 
 #
 # File systems
 #
 CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_VALIDATE_FS_PARSER=y
 CONFIG_FS_IOMAP=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
@@ -8635,7 +8664,6 @@ CONFIG_EXT4_FS=y
 CONFIG_EXT4_USE_FOR_EXT2=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_ENCRYPTION is not set
 # CONFIG_EXT4_DEBUG is not set
 CONFIG_JBD2=y
 # CONFIG_JBD2_DEBUG is not set
@@ -8680,7 +8708,6 @@ CONFIG_F2FS_FS_XATTR=y
 CONFIG_F2FS_FS_POSIX_ACL=y
 CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FS_ENCRYPTION is not set
 # CONFIG_F2FS_IO_TRACE is not set
 # CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_DAX=y
@@ -8690,7 +8717,7 @@ CONFIG_EXPORTFS=y
 # CONFIG_EXPORTFS_BLOCK_OPS is not set
 CONFIG_FILE_LOCKING=y
 CONFIG_MANDATORY_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=m
+# CONFIG_FS_ENCRYPTION is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -8806,7 +8833,6 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UBIFS_ATIME_SUPPORT=y
 CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ENCRYPTION=y
 CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_UBIFS_FS_AUTHENTICATION=y
 CONFIG_CRAMFS=m
@@ -8857,9 +8883,6 @@ CONFIG_SYSV_FS=m
 CONFIG_UFS_FS=m
 # CONFIG_UFS_FS_WRITE is not set
 # CONFIG_UFS_DEBUG is not set
-CONFIG_EXOFS_FS=m
-# CONFIG_EXOFS_DEBUG is not set
-CONFIG_ORE=m
 CONFIG_NETWORK_FILESYSTEMS=y
 CONFIG_NFS_FS=m
 CONFIG_NFS_V2=m
@@ -8899,6 +8922,7 @@ CONFIG_SUNRPC_GSS=m
 CONFIG_SUNRPC_BACKCHANNEL=y
 CONFIG_SUNRPC_SWAP=y
 CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
 CONFIG_SUNRPC_DEBUG=y
 CONFIG_SUNRPC_XPRT_RDMA=m
 CONFIG_CEPH_FS=m
@@ -9010,7 +9034,6 @@ CONFIG_FORTIFY_SOURCE=y
 # CONFIG_STATIC_USERMODEHELPER is not set
 CONFIG_SECURITY_SELINUX=y
 CONFIG_SECURITY_SELINUX_BOOTPARAM=y
-CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=0
 CONFIG_SECURITY_SELINUX_DISABLE=y
 CONFIG_SECURITY_SELINUX_DEVELOP=y
 CONFIG_SECURITY_SELINUX_AVC_STATS=y
@@ -9026,12 +9049,12 @@ CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
 CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
 CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
-CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
 CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
 # CONFIG_SECURITY_APPARMOR_DEBUG is not set
 # CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
+# CONFIG_SECURITY_SAFESETID is not set
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
 CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
@@ -9067,7 +9090,7 @@ CONFIG_EVM_EXTRA_SMACK_XATTRS=y
 # CONFIG_DEFAULT_SECURITY_TOMOYO is not set
 CONFIG_DEFAULT_SECURITY_APPARMOR=y
 # CONFIG_DEFAULT_SECURITY_DAC is not set
-CONFIG_DEFAULT_SECURITY="apparmor"
+CONFIG_LSM="yama,loadpin,safesetid,integrity,apparmor,selinux,smack,tomoyo"
 CONFIG_XOR_BLOCKS=m
 CONFIG_ASYNC_CORE=m
 CONFIG_ASYNC_MEMCPY=m
@@ -9383,8 +9406,11 @@ CONFIG_HAS_DMA=y
 CONFIG_NEED_SG_DMA_LENGTH=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
 CONFIG_DMA_VIRT_OPS=y
 CONFIG_SWIOTLB=y
+# CONFIG_DMA_CMA is not set
+# CONFIG_DMA_API_DEBUG is not set
 CONFIG_SGL_ALLOC=y
 CONFIG_IOMMU_HELPER=y
 CONFIG_CHECK_SIGNATURE=y
@@ -9423,6 +9449,7 @@ CONFIG_OBJAGG=m
 # printk and dmesg options
 #
 CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
 CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
 CONFIG_CONSOLE_LOGLEVEL_QUIET=4
 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -9438,7 +9465,6 @@ CONFIG_FRAME_WARN=1024
 # CONFIG_STRIP_ASM_SYMS is not set
 # CONFIG_READABLE_ASM is not set
 CONFIG_UNUSED_SYMBOLS=y
-# CONFIG_PAGE_OWNER is not set
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
@@ -9456,6 +9482,7 @@ CONFIG_DEBUG_KERNEL=y
 #
 # CONFIG_PAGE_EXTENSION is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_OWNER is not set
 # CONFIG_PAGE_POISONING is not set
 # CONFIG_DEBUG_PAGE_REF is not set
 # CONFIG_DEBUG_RODATA_TEST is not set
@@ -9607,7 +9634,6 @@ CONFIG_MMIOTRACE=y
 # CONFIG_TRACE_EVAL_MAP_FILE is not set
 CONFIG_TRACING_EVENTS_GPIO=y
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_DMA_API_DEBUG is not set
 CONFIG_RUNTIME_TESTING_MENU=y
 # CONFIG_LKDTM is not set
 # CONFIG_TEST_LIST_SORT is not set
@@ -9633,6 +9659,7 @@ CONFIG_TEST_HASH=m
 CONFIG_TEST_IDA=m
 CONFIG_TEST_PARMAN=m
 CONFIG_TEST_LKM=m
+CONFIG_TEST_VMALLOC=m
 CONFIG_TEST_USER_COPY=m
 CONFIG_TEST_BPF=m
 CONFIG_FIND_BIT_BENCHMARK=m
@@ -9642,7 +9669,9 @@ CONFIG_TEST_UDELAY=m
 CONFIG_TEST_STATIC_KEYS=m
 # CONFIG_TEST_KMOD is not set
 # CONFIG_TEST_MEMCAT_P is not set
+# CONFIG_TEST_LIVEPATCH is not set
 CONFIG_TEST_OBJAGG=m
+# CONFIG_TEST_STACKINIT is not set
 CONFIG_MEMTEST=y
 # CONFIG_BUG_ON_DATA_CORRUPTION is not set
 # CONFIG_SAMPLES is not set
@@ -9657,6 +9686,7 @@ CONFIG_KDB_KEYBOARD=y
 CONFIG_KDB_CONTINUE_CATASTROPHIC=0
 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 # CONFIG_UBSAN is not set
+CONFIG_UBSAN_ALIGNMENT=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
@@ -9665,7 +9695,6 @@ CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
-CONFIG_EARLY_PRINTK_EFI=y
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
 # CONFIG_X86_PTDUMP is not set
 # CONFIG_EFI_PGT_DUMP is not set
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index e7e614881a..64ed5bb14a 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -503,6 +503,7 @@ detection, and lossless compression.")
        (sha256
         (base32
          "0x95nhv4h34m8cxycbwc4xdz350saaxlgh727b23bgn4ci7gh3vx"))
+       (patches (search-patches "borg-fix-hard-link-preloading.patch"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -658,14 +659,14 @@ changes are stored.")
 (define-public wimlib
   (package
     (name "wimlib")
-    (version "1.13.0")
+    (version "1.13.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://wimlib.net/downloads/"
                                   "wimlib-" version ".tar.gz"))
               (sha256
                (base32
-                "02wpsxjlw9vysj6x6q7kmvbcdkpvdzw201mmj5x0q670mapjrnai"))))
+                "0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -856,7 +857,7 @@ is like a time machine for your data. ")
 (define-public restic
   (package
     (name "restic")
-    (version "0.9.4")
+    (version "0.9.5")
     ;; TODO Try packaging the bundled / vendored dependencies in the 'vendor/'
     ;; directory.
     (source (origin
@@ -867,20 +868,17 @@ is like a time machine for your data. ")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "13ksprq1ia86px8x4lqrmx0l6y9rb1ppg8pnp7lcx0zxnq7skp67"))))
+                "0afl3dv7gzwdc9klikk3fsb57d0px2fwihb0xxb7zq7d8vlhh8p2"))))
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/restic/restic"
-       #:unpack-path "github.com/restic"
       ;; We don't need to install the source code for end-user applications.
        #:install-source? #f
        #:phases
        (modify-phases %standard-phases
          (replace 'build
            (lambda* (#:key inputs #:allow-other-keys)
-             (with-directory-excursion (string-append
-                                        "src/github.com/restic/restic-"
-                                        ,version)
+             (with-directory-excursion "src/github.com/restic/restic"
                ;; Disable 'restic self-update'.  It makes little sense in Guix.
                (substitute* "build.go" (("selfupdate") ""))
                (setenv "HOME" (getcwd)) ; for $HOME/.cache/go-build
@@ -888,9 +886,7 @@ is like a time machine for your data. ")
 
          (replace 'check
            (lambda _
-             (with-directory-excursion (string-append
-                                        "src/github.com/restic/restic-"
-                                        ,version)
+             (with-directory-excursion "src/github.com/restic/restic"
                ;; Disable FUSE tests.
                (setenv "RESTIC_TEST_FUSE" "0")
                (invoke "go" "run" "build.go" "--test"))))
@@ -898,8 +894,7 @@ is like a time machine for your data. ")
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
-                   (src (string-append "src/github.com/restic/restic-"
-                                       ,version)))
+                   (src "src/github.com/restic/restic"))
                (install-file (string-append src "/restic")
                              (string-append out "/bin"))
                #t)))
@@ -909,8 +904,7 @@ is like a time machine for your data. ")
              (let* ((out (assoc-ref outputs "out"))
                     (man "/share/man")
                     (man-section (string-append man "/man"))
-                    (src (string-append "src/github.com/restic/restic-"
-                                        ,version "/doc/man/")))
+                    (src "src/github.com/restic/restic/doc/man/"))
                ;; Install all the man pages to "out".
                (for-each
                  (lambda (file)
@@ -979,14 +973,14 @@ precious backup space.
 (define-public burp
   (package
     (name "burp")
-    (version "2.3.4")
+    (version "2.3.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/burp/burp-" version
                                   "/burp-" version ".tar.bz2"))
               (sha256
                (base32
-                "0r82mmfjm57yr4f34za3x3rkgc5z2c7nwbnsjjki16qfc9kjyai3"))))
+                "101nn30apcbmy9k0wksdf8d4ccw7sfcqzkasgg17a5y332x2imr9"))))
     (build-system gnu-build-system)
     (inputs
      `(("librsync" ,librsync)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 8fe8f3d9a5..9df0dc98d6 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -951,6 +951,29 @@ with the Linux kernel.")
                   (("/bin/pwd") "pwd"))
                 #t))))))))
 
+(define (make-gcc-libc base-gcc libc)
+  "Return a GCC that targets LIBC."
+  (package (inherit base-gcc)
+           (name (string-append (package-name base-gcc) "-"
+                                (package-name libc) "-"
+                                (package-version libc)))
+           (arguments
+            (substitute-keyword-arguments
+             (ensure-keyword-arguments (package-arguments base-gcc)
+                                       '(#:implicit-inputs? #f))
+             ((#:make-flags flags)
+              `(let ((libc (assoc-ref %build-inputs "libc")))
+                 ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
+                 ;; the -Bxxx for the startfiles.
+                 (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+                       ,flags)))))
+           (native-inputs
+            `(("libc" ,libc)
+              ("libc:static" ,libc "static")
+              ,@(append (package-inputs base-gcc)
+                        (fold alist-delete (%final-inputs) '("libc" "libc:static")))))
+           (inputs '())))
+
 (define-public (make-glibc-locales glibc)
   (package
     (inherit glibc)
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index deb179c4d9..3810749f83 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -24,6 +24,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system r)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages bioinformatics)
   #:use-module (gnu packages cran)
   #:use-module (gnu packages compression)
@@ -841,13 +842,13 @@ resulting in a complete gene expression profile for each cell.")
 (define-public r-biocgenerics
   (package
     (name "r-biocgenerics")
-    (version "0.28.0")
+    (version "0.30.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocGenerics" version))
               (sha256
                (base32
-                "0cvpsrhg7sn7lpqgxvqrsagv6j7xj5rafq5xdjfd8zc4gxrs5rb8"))))
+                "1n87686bg5nmpqdpzwv1h551dkbxp9wk6wbmzpkgm71qxnk2yv9f"))))
     (properties
      `((upstream-name . "BiocGenerics")))
     (build-system r-build-system)
@@ -861,14 +862,14 @@ packages.")
 (define-public r-annotate
   (package
     (name "r-annotate")
-    (version "1.60.1")
+    (version "1.62.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "annotate" version))
        (sha256
         (base32
-         "0pk6ayr3vyqxk850ljkbyil4i382ngfqcbxlv0qrp62yfqgzcjwp"))))
+         "0hww0h4b7bv37mnjviazy247mnzj72z5linwm1gvljrgqv3bagcs"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -888,14 +889,14 @@ microarrays.")
 (define-public r-hpar
   (package
     (name "r-hpar")
-    (version "1.24.0")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "hpar" version))
        (sha256
         (base32
-         "1pm3k8apgynmdzv2d0chca3b636kcai3b1x861fyv1m3xs6msgxn"))))
+         "1mnld60nrn6qpb24sz2sy8vlw3wkhfc3z726gi67l8b5mdmkxgg5"))))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/hpar/")
     (synopsis "Human Protein Atlas in R")
@@ -906,14 +907,14 @@ the Human Protein Atlas project.")
 (define-public r-regioner
   (package
     (name "r-regioner")
-    (version "1.14.0")
+    (version "1.16.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "regioneR" version))
        (sha256
         (base32
-         "19la74swgzxp90z2nr3pzsgkxd7wp70zl6i2ipv3plg841f6k5zd"))))
+         "1b8ybx4wcxlqw9nvajawsf0lqaqn9v89rxcawg4g3dbzlfssfc5q"))))
     (properties `((upstream-name . "regioneR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -935,14 +936,14 @@ region sets and other genomic features.")
 (define-public r-geneplotter
   (package
     (name "r-geneplotter")
-    (version "1.60.0")
+    (version "1.62.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "geneplotter" version))
        (sha256
         (base32
-         "10khr0pznxf3m0f5gzck9ymljrwcv3vamfmpskd51yjh36lhllqz"))))
+         "0jlqs20mqr0wgmjgzkzaynp3cy1z3xjzpz7055c1qi42fhimmimb"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotate" ,r-annotate)
@@ -960,14 +961,14 @@ region sets and other genomic features.")
 (define-public r-qvalue
   (package
     (name "r-qvalue")
-    (version "2.14.1")
+    (version "2.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "qvalue" version))
        (sha256
         (base32
-         "0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc"))))
+         "00mahhwb4n2s6nycwkdkjs2qgyyyi7hyrby3qr269krprr6q3lh5"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
@@ -989,14 +990,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
 (define-public r-diffbind
   (package
     (name "r-diffbind")
-    (version "2.10.0")
+    (version "2.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DiffBind" version))
        (sha256
         (base32
-         "0j8pal40lr1gv8sss96hhkj7l1qn9sy4q4l2kqd4rfwl7qrcnfw5"))))
+         "1ialb1j2xa21a8dzss76qky83rg8y6jwdwi0mhy8b088zvxavich"))))
     (properties `((upstream-name . "DiffBind")))
     (build-system r-build-system)
     (inputs
@@ -1018,11 +1019,11 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
        ("r-locfit" ,r-locfit)
        ("r-rcolorbrewer" , r-rcolorbrewer)
        ("r-rcpp" ,r-rcpp)
+       ("r-rhtslib" ,r-rhtslib)
        ("r-rsamtools" ,r-rsamtools)
        ("r-s4vectors" ,r-s4vectors)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
-       ("r-systempiper" ,r-systempiper)
-       ("r-zlibbioc" ,r-zlibbioc)))
+       ("r-systempiper" ,r-systempiper)))
     (home-page "http://bioconductor.org/packages/DiffBind")
     (synopsis "Differential binding analysis of ChIP-Seq peak data")
     (description
@@ -1034,14 +1035,14 @@ occupancy (overlap) analysis and plotting functions.")
 (define-public r-ripseeker
   (package
     (name "r-ripseeker")
-    (version "1.22.0")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "RIPSeeker" version))
        (sha256
         (base32
-         "1x2n1iyik4s67bxq0fl6fpf602k51g4pxjpjpxkgx1a5fsk61f2i"))))
+         "0rfff4wal51iji0m74mgnrlcq6i41nq5b79mv5brv7mab3g0cv43"))))
     (properties `((upstream-name . "RIPSeeker")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1067,14 +1068,14 @@ processing to visualization and annotation.")
 (define-public r-multtest
   (package
     (name "r-multtest")
-    (version "2.38.0")
+    (version "2.40.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "multtest" version))
        (sha256
         (base32
-         "0lq62jw81hz9k840969n5byj57pwd0jqga3hqvhb6abb3g10yz7k"))))
+         "0vy9wk1111qm69xy4r4n01b9rw60dsrcj2169jd45yiq63cdq7bv"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-survival" ,r-survival)
@@ -1105,13 +1106,13 @@ expressed genes in DNA microarray experiments.")
 (define-public r-graph
   (package
     (name "r-graph")
-    (version "1.60.0")
+    (version "1.62.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "graph" version))
               (sha256
                (base32
-                "1kgnsm6f0vmb9qbkmmrnvxbwqc0gar17dq5gv1v10hrksw6mh64i"))))
+                "0rs81a8kp7nfzsfy2d11mlrjf4z156075p52wvz9nvi3vc6l348w"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)))
@@ -1152,44 +1153,45 @@ determining dependencies between variables, code improvement suggestions.")
 (define-public r-chippeakanno
   (package
     (name "r-chippeakanno")
-    (version "3.16.1")
+    (version "3.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ChIPpeakAnno" version))
        (sha256
         (base32
-         "1x98d8iwrxjwdz1s5cnvi6flynw9gdkmara9gwf205qxgmy7j3a3"))))
+         "089v16mm5m0rlyyyd0d6rz8gwb852zf3bcdrrw70wanlfjn258q7"))))
     (properties `((upstream-name . "ChIPpeakAnno")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-biocgenerics" ,r-biocgenerics)
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
        ("r-biocmanager" ,r-biocmanager)
-       ("r-biostrings" ,r-biostrings)
-       ("r-delayedarray" ,r-delayedarray)
-       ("r-go-db" ,r-go-db)
        ("r-biomart" ,r-biomart)
+       ("r-biostrings" ,r-biostrings)
        ("r-bsgenome" ,r-bsgenome)
+       ("r-dbi" ,r-dbi)
+       ("r-delayedarray" ,r-delayedarray)
+       ("r-ensembldb" ,r-ensembldb)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicalignments" ,r-genomicalignments)
        ("r-genomicfeatures" ,r-genomicfeatures)
        ("r-genomicranges" ,r-genomicranges)
-       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-go-db" ,r-go-db)
+       ("r-graph" ,r-graph)
+       ("r-idr" ,r-idr)
        ("r-iranges" ,r-iranges)
-       ("r-matrixstats" ,r-matrixstats)
-       ("r-annotationdbi" ,r-annotationdbi)
        ("r-limma" ,r-limma)
+       ("r-matrixstats" ,r-matrixstats)
        ("r-multtest" ,r-multtest)
        ("r-rbgl" ,r-rbgl)
-       ("r-graph" ,r-graph)
        ("r-regioner" ,r-regioner)
-       ("r-dbi" ,r-dbi)
-       ("r-ensembldb" ,r-ensembldb)
-       ("r-biobase" ,r-biobase)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
        ("r-s4vectors" ,r-s4vectors)
        ("r-seqinr" ,r-seqinr)
-       ("r-idr" ,r-idr)
-       ("r-genomicalignments" ,r-genomicalignments)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
-       ("r-rsamtools" ,r-rsamtools)
        ("r-venndiagram" ,r-venndiagram)))
     (home-page "http://bioconductor.org/packages/ChIPpeakAnno")
     (synopsis "Peaks annotation from ChIP-seq and ChIP-chip experiments")
@@ -1207,31 +1209,31 @@ enrichedGO (addGeneIDs).")
 (define-public r-marray
   (package
     (name "r-marray")
-    (version "1.60.0")
+    (version "1.62.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "marray" version))
               (sha256
-               (base32 "1sh7l3c28x6zhdv99c9x05ii2yxmh9alkazp98kdi4fdb23rlzky"))))
+               (base32 "000745d7gxka8cx4jwxf0p128jk90dw6wi3y8dkrkyz2arkl29yz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-limma" ,r-limma)))
     (home-page "http://bioconductor.org/packages/marray")
     (synopsis "Exploratory analysis for two-color spotted microarray data")
     (description "This package contains class definitions for two-color spotted
-microarray data.  It also includes fuctions for data input, diagnostic plots,
+microarray data.  It also includes functions for data input, diagnostic plots,
 normalization and quality checking.")
     (license license:lgpl2.0+)))
 
 (define-public r-cghbase
   (package
    (name "r-cghbase")
-   (version "1.42.0")
+   (version "1.44.0")
    (source (origin
             (method url-fetch)
             (uri (bioconductor-uri "CGHbase" version))
             (sha256
-             (base32 "0ghxp49xdi09p3f2qwrdrq2p4qjafj4z1rr08ycgbf11gb22h1sc"))))
+             (base32 "0z9lvn5dxym6kc8ak5fsqkipv2p4z49va3cyz1ch8rw477k2iwvm"))))
    (properties `((upstream-name . "CGHbase")))
    (build-system r-build-system)
    (propagated-inputs
@@ -1246,12 +1248,12 @@ the @code{arrayCGH} packages.")
 (define-public r-cghcall
   (package
    (name "r-cghcall")
-   (version "2.44.0")
+   (version "2.46.0")
    (source (origin
             (method url-fetch)
             (uri (bioconductor-uri "CGHcall" version))
             (sha256
-             (base32 "1k65kaiqvjyllzbpa2367n6f6kkmsy463kpflzs66hqhx2fshsmi"))))
+             (base32 "13vzk4myizs94hyak4iyxdrqyxyq1g85hwsmd13892g8pww6ga93"))))
    (properties `((upstream-name . "CGHcall")))
    (build-system r-build-system)
    (propagated-inputs
@@ -1269,12 +1271,12 @@ the @code{arrayCGH} packages.")
 (define-public r-qdnaseq
   (package
     (name "r-qdnaseq")
-    (version "1.18.0")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "QDNAseq" version))
               (sha256
-               (base32 "04ff9nbckzrlb45mr2j0c3mlh1wcggq5bbl81zklhq203c5x1wc2"))))
+               (base32 "02afy5bpj35981q1qm59jx399hksk6a9v1jfwy7x888rn86gfcfz"))))
     (properties `((upstream-name . "QDNAseq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1301,14 +1303,14 @@ respectively.")
 (define-public r-bayseq
   (package
     (name "r-bayseq")
-    (version "2.16.0")
+    (version "2.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "baySeq" version))
        (sha256
         (base32
-         "0f6yckihm5cwh3dycv2g54hf7nddhcqya4yrqwbir96y5k1d1km5"))))
+         "13lm7n5zqw8yg5sqb92h6ppcnr0l32qdgmv7i16pn32fb6z41p0w"))))
     (properties `((upstream-name . "baySeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1327,14 +1329,14 @@ more complex hypotheses) via empirical Bayesian methods.")
 (define-public r-chipcomp
   (package
     (name "r-chipcomp")
-    (version "1.12.0")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ChIPComp" version))
        (sha256
         (base32
-         "1sypdsvwzssraanlhddhzpf9p0xs3qlflc0hp7yfbp0aplsifx85"))))
+         "0ragyl9dhg0ymgkh4z9d1cbwhbpcwh6x4985laaw6wmq2sjm732y"))))
     (properties `((upstream-name . "ChIPComp")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1361,14 +1363,14 @@ datasets.")
 (define-public r-riboprofiling
   (package
     (name "r-riboprofiling")
-    (version "1.12.0")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "RiboProfiling" version))
        (sha256
         (base32
-         "1njvkd1khmf3rbp3dkz5z63wp79z4wmk4kzd3p3amky3w5by070z"))))
+         "1si8zkznm0slvghk786qsp0wd6sns6hggrnz88ww9fcfvsqvzsy9"))))
     (properties `((upstream-name . "RiboProfiling")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1400,14 +1402,14 @@ assessment, principal component analysis on codon coverage.")
 (define-public r-riboseqr
   (package
     (name "r-riboseqr")
-    (version "1.16.0")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "riboSeqR" version))
        (sha256
         (base32
-         "1nacsbsz77fw4a10nqj2ncsf25q3aaa0gd5w1q0ray2prx7qmlqb"))))
+         "1d1v098w7fmnsmxfg3l7yndyyr7ajig00axiwg413lyg255is1ga"))))
     (properties `((upstream-name . "riboSeqR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1428,14 +1430,14 @@ parsing of genetic sequencing data from ribosome profiling experiments.")
 (define-public r-interactionset
   (package
     (name "r-interactionset")
-    (version "1.10.0")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "InteractionSet" version))
        (sha256
         (base32
-         "0wirfhmpmkmnmhbqslw4bzvi2msqyqpjy1rrwr5qbd9k5rhx3bzb"))))
+         "0djgfpp34l6w8mk5b8s4wh0l12s4nn0f9ifvc3dq4970f6hb55z6"))))
     (properties
      `((upstream-name . "InteractionSet")))
     (build-system r-build-system)
@@ -1451,7 +1453,7 @@ parsing of genetic sequencing data from ribosome profiling experiments.")
     (home-page "https://bioconductor.org/packages/InteractionSet")
     (synopsis "Base classes for storing genomic interaction data")
     (description
-     "This packages provides the @code{GInteractions},
+     "This package provides the @code{GInteractions},
 @code{InteractionSet} and @code{ContactMatrix} objects and associated methods
 for storing and manipulating genomic interaction data from Hi-C and ChIA-PET
 experiments.")
@@ -1460,14 +1462,14 @@ experiments.")
 (define-public r-genomicinteractions
   (package
     (name "r-genomicinteractions")
-    (version "1.16.0")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GenomicInteractions" version))
        (sha256
         (base32
-         "0zy5isp2lqpjm0n0n1gly5bs4izn22yciibyqrnlrr60rmn5s67q"))))
+         "0ipvm3c1cqd46n60lsrqzf6fx4b3lwia57jyfx9wcqqg205qj73b"))))
     (properties
      `((upstream-name . "GenomicInteractions")))
     (build-system r-build-system)
@@ -1499,14 +1501,14 @@ information and producing various plots and statistics.")
 (define-public r-ctc
   (package
     (name "r-ctc")
-    (version "1.56.0")
+    (version "1.58.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ctc" version))
        (sha256
         (base32
-         "0yp7c0abk48jx1wf8n1gawh7dm15idahqc8va24v8cm0bzxgnmh2"))))
+         "15n5b6i18x14km5rdqiydxcak5cr5dr3adwwwc5kcqf5gkwmi3am"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-amap" ,r-amap)))
     (home-page "https://bioconductor.org/packages/ctc/")
@@ -1519,14 +1521,14 @@ trees and clusters to other programs.")
 (define-public r-goseq
   (package
     (name "r-goseq")
-    (version "1.34.1")
+    (version "1.36.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "goseq" version))
        (sha256
         (base32
-         "1j87j98cajcjqabv6rb6zmcqxsqxxhbb3w60w1iink4rhsh8m3mn"))))
+         "0h8kd3d7yfdq8padfb0k92crwxi5h9gvgv4l3pa8k8wn4kczvciw"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -1545,14 +1547,14 @@ defined categories which are over/under represented in RNA-seq data.")
 (define-public r-glimma
   (package
     (name "r-glimma")
-    (version "1.10.1")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Glimma" version))
        (sha256
         (base32
-         "1ihrww55sa7ipi1rpp0rmn081sbqdwdmm5mz30zfrjr1xxqcdbcv"))))
+         "11qg5khqspxldfgg6p3xsxys472ab8wwi2snwc6bdxczv1f2p56x"))))
     (properties `((upstream-name . "Glimma")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1572,14 +1574,14 @@ information.")
 (define-public r-rots
   (package
     (name "r-rots")
-    (version "1.10.1")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ROTS" version))
        (sha256
         (base32
-         "1d5ggkk47xybcaizfy756qimbf2falg9cld46mhqjp3xfbfvzsg6"))))
+         "1j29pfyv2pn0wp544m5a568b3yd31kzavwwiwqylcjwvq5lfzy77"))))
     (properties `((upstream-name . "ROTS")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1596,14 +1598,14 @@ in omics data.")
 (define-public r-plgem
   (package
     (name "r-plgem")
-    (version "1.54.1")
+    (version "1.56.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "plgem" version))
        (sha256
         (base32
-         "1330635db3p8xm5y8fwrk1l37r6bgypsq70s3rx954i775zp6szg"))))
+         "0y6gp5rlkvlv435qps7zhih84g5wrdvg6myj74ywnpl5a773nfqp"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -1621,14 +1623,14 @@ genes or proteins in these datasets.")
 (define-public r-inspect
   (package
     (name "r-inspect")
-    (version "1.12.2")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "INSPEcT" version))
        (sha256
         (base32
-         "1ykkr15b4bc2carwppf9yxzpl2n6lqpc6z6i2qy37vc6xffzgdx4"))))
+         "1a7smljndiyahgpj6vl079pvi3n0rfk1vkdkp799y4nm2wnhn93r"))))
     (properties `((upstream-name . "INSPEcT")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1663,14 +1665,14 @@ modeling the rates that determines changes in mature mRNA levels.")
 (define-public r-dnabarcodes
   (package
     (name "r-dnabarcodes")
-    (version "1.12.0")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DNABarcodes" version))
        (sha256
         (base32
-         "0g6j7ish0fk9jcib94wssjgp1m8ldcp42hyyg1ypr945fa3xghx0"))))
+         "1a0c9ag9n41cs0da9lfvpkxf7n5vbrfypaygdv66mw73aibix6v0"))))
     (properties `((upstream-name . "DNABarcodes")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1690,14 +1692,14 @@ demultiplexed, i.e. assigned to their original reference barcode.")
 (define-public r-ruvseq
   (package
     (name "r-ruvseq")
-    (version "1.16.1")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "RUVSeq" version))
        (sha256
         (base32
-         "0qk7q3ab7k133divfkp54zsmvsmb9p8r09pkh2caswrzrn8achzv"))))
+         "0ln4qc9d5r15zlhazx6annx97c0wrx3jqpcvk7yj1jnwh349lw33"))))
     (properties `((upstream-name . "RUVSeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1716,20 +1718,22 @@ samples.")
 (define-public r-biocneighbors
   (package
     (name "r-biocneighbors")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "BiocNeighbors" version))
        (sha256
         (base32
-         "1fsb96acidlxwf0h65xv7fnwdi58ckmq00gmwykrlawh88wgn1ll"))))
+         "08ak72y6mafzkhzfkx6b7waljpa0f1nxcrvyspd88sgzxgxjnkmg"))))
     (properties `((upstream-name . "BiocNeighbors")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-biocparallel" ,r-biocparallel)
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocparallel" ,r-biocparallel)
        ("r-rcpp" ,r-rcpp)
        ("r-rcppannoy" ,r-rcppannoy)
+       ("r-rcpphnsw" ,r-rcpphnsw)
        ("r-s4vectors" ,r-s4vectors)))
     (home-page "https://bioconductor.org/packages/BiocNeighbors")
     (synopsis "Nearest Neighbor Detection for Bioconductor packages")
@@ -1742,24 +1746,55 @@ to search for all neighbors within a given distance.  Parallelization is
 achieved for all methods using the BiocParallel framework.")
     (license license:gpl3)))
 
+(define-public r-biocsingular
+  (package
+    (name "r-biocsingular")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "BiocSingular" version))
+       (sha256
+        (base32
+         "129z6bkdhm5wlvrjiwrr8yl2jj9chh4i6dm6firlj4c4ql3jp4f5"))))
+    (properties `((upstream-name . "BiocSingular")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-beachmat" ,r-beachmat)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-delayedarray" ,r-delayedarray)
+       ("r-irlba" ,r-irlba)
+       ("r-matrix" ,r-matrix)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rsvd" ,r-rsvd)
+       ("r-s4vectors" ,r-s4vectors)))
+    (home-page "https://github.com/LTLA/BiocSingular")
+    (synopsis "Singular value decomposition for Bioconductor packages")
+    (description
+     "This package implements exact and approximate methods for singular value
+decomposition and principal components analysis, in a framework that allows
+them to be easily switched within Bioconductor packages or workflows.  Where
+possible, parallelization is achieved using the BiocParallel framework.")
+    (license license:gpl3)))
+
 (define-public r-destiny
   (package
     (name "r-destiny")
-    (version "2.12.0")
+    (version "2.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "destiny" version))
        (sha256
         (base32
-         "1iay17mrhsfmpwl920rh1nip5b6ybva4h6bna0yld04paq5yva67"))))
+         "1bpa114fgrknn6415g4d1jrvb924nkwi18jzfqribpvcf1vlgrf3"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
-       ("r-fnn" ,r-fnn)
+       ("r-ggplot2" ,r-ggplot2)
        ("r-ggthemes" ,r-ggthemes)
-       ("r-hmisc" ,r-hmisc)
        ("r-igraph" ,r-igraph)
        ("r-matrix" ,r-matrix)
        ("r-proxy" ,r-proxy)
@@ -1780,14 +1815,14 @@ maps.")
 (define-public r-savr
   (package
     (name "r-savr")
-    (version "1.20.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "savR" version))
        (sha256
         (base32
-         "13bwq2a2pygdkmhrcmvz525wsi5i01j911711zgs6x93wj20b2w7"))))
+         "101p0c07p49c50lfnbfanyyikdypmqkvwclqifq32js9phqwhf6h"))))
     (properties `((upstream-name . "savR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1806,14 +1841,14 @@ Viewer (SAV) files, access data, and generate QC plots.")
 (define-public r-chipexoqual
   (package
     (name "r-chipexoqual")
-    (version "1.6.0")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ChIPexoQual" version))
        (sha256
         (base32
-         "1773bpiybn4g9jlv46z29x19q4dpcvn7lairr3lq5pdqbqmz5hnp"))))
+         "02341i3lg74czgapf5qc6zvi2321af3rp85qavbg209fyc219acj"))))
     (properties `((upstream-name . "ChIPexoQual")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1844,13 +1879,13 @@ sequencing data.")
 (define-public r-copynumber
   (package
     (name "r-copynumber")
-    (version "1.22.0")
+    (version "1.24.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "copynumber" version))
               (sha256
                (base32
-                "0ipwj9i5p1bwhg5d80jdjagm02krpj2v0j47qdgw41h8wncdyal3"))))
+                "0gmxi7w776pjqv3v0pkdihb167zzrnr9hw64yfvzgjhkhrc6a4rp"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-s4vectors" ,r-s4vectors)
@@ -1867,14 +1902,14 @@ penalized least squares regression method.")
 (define-public r-dnacopy
   (package
     (name "r-dnacopy")
-    (version "1.56.0")
+    (version "1.58.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DNAcopy" version))
        (sha256
         (base32
-         "04cqdqxhva66xwh1s2vffi56b9fcrqd4slcrvqasj5lp2rkjli82"))))
+         "1gybr3cbsrqjgz00n4l5kb2nrmh302xpvzk5zk957ijj5qbfwmxa"))))
     (properties `((upstream-name . "DNAcopy")))
     (build-system r-build-system)
     (native-inputs `(("gfortran" ,gfortran)))
@@ -1918,14 +1953,14 @@ clusters).")
 (define-public r-deds
   (package
     (name "r-deds")
-    (version "1.56.0")
+    (version "1.58.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DEDS" version))
        (sha256
         (base32
-         "1zfgaar3bpss49zhs81mwlfzkx5lv92j8a64xd12ig88is24cw2c"))))
+         "029g7wgxc7yp1cdyalbi8gipkskrgp7nyl1s2whhjy5dqpfcpigs"))))
     (properties `((upstream-name . "DEDS")))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/DEDS/")
@@ -1967,14 +2002,14 @@ and regression inferences from RNA-sequencing data.")
 (define-public r-ebseq
   (package
     (name "r-ebseq")
-    (version "1.22.1")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "EBSeq" version))
        (sha256
         (base32
-         "1gzbk1hbwdan0j131ah88yryfvsiq0wqjnb09qbr4qaczpgvbad0"))))
+         "13rf85gffqn86r5gqibla3gqrnnag2zinrfawpcsgn3fk7hl3v83"))))
     (properties `((upstream-name . "EBSeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -1991,14 +2026,14 @@ gene and isoform level using RNA-seq data")
 (define-public r-lpsymphony
   (package
     (name "r-lpsymphony")
-    (version "1.10.0")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "lpsymphony" version))
        (sha256
         (base32
-         "0vnsf5x6gvd1k8h89al7r6xbgbxsjbxphr675czzwggz79zbvq7y"))))
+         "13wvq4ip8nkyxmpncs6fzcf3vphra1n0fd5vz9kspbch0k1z6bsv"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)
@@ -2021,14 +2056,14 @@ to install interface to SYMPHONY.")
 (define-public r-ihw
   (package
     (name "r-ihw")
-    (version "1.10.1")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "IHW" version))
        (sha256
         (base32
-         "10wqasl8k2j3y5qvak3xr2xj6symk656xww1y5n2l22nz832j19n"))))
+         "05hs6w1albkbyqzkid0bchb5zs41f31a7vhfbcswryhc86cxwzkz"))))
     (properties `((upstream-name . "IHW")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2051,14 +2086,14 @@ independent of the p-value under the null hypothesis.")
 (define-public r-icobra
   (package
     (name "r-icobra")
-    (version "1.10.0")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "iCOBRA" version))
        (sha256
         (base32
-         "0i1swrm31g0zffi5pm48bfvdfqpd32d0zdchkbyipz96al46jnld"))))
+         "1w9frnczgypzc2czbwrvlizqcqhbp6cdpyws7vkmnn9k0ggzxvfc"))))
     (properties `((upstream-name . "iCOBRA")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2085,18 +2120,19 @@ interactive exploration of results.")
 (define-public r-mast
   (package
     (name "r-mast")
-    (version "1.8.2")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MAST" version))
        (sha256
         (base32
-         "0rhx655dza0m6yg9jcfz2nmxqahvxx2l91kqgyp7qai0bzz9d9ix"))))
+         "0f2qkp346095k9m45frpd3bivrvaps9wlm0m3n0z8j0aj7w1kqlx"))))
     (properties `((upstream-name . "MAST")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-abind" ,r-abind)
+       ("r-blme" ,r-blme)
        ("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-data-table" ,r-data-table)
@@ -2118,14 +2154,14 @@ single cell assay data.")
 (define-public r-monocle
   (package
     (name "r-monocle")
-    (version "2.10.1")
+    (version "2.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "monocle" version))
        (sha256
         (base32
-         "0shwkgqs93j2l5h36yyvb1lf724107cfjrmzp5fxfj1lqc0y61lf"))))
+         "1rnr3k0wc61a806w9flapni91wz5xm0l66jabjzx0vbiwgczs32z"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -2173,14 +2209,14 @@ qPCR data, but could be used with other types as well.")
 (define-public r-noiseq
   (package
     (name "r-noiseq")
-    (version "2.26.1")
+    (version "2.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "NOISeq" version))
        (sha256
         (base32
-         "1wyhhi9ydlbjlz427093mdp5ppby77n37w5c2iyxlpsdk2m2nqsn"))))
+         "1k7k0xqa0lxj6mfsvbmd6x6glv9wynbwl87w5d3bilbq4dpc139j"))))
     (properties `((upstream-name . "NOISeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2200,14 +2236,14 @@ assumptions.")
 (define-public r-scdd
   (package
     (name "r-scdd")
-    (version "1.6.1")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "scDD" version))
        (sha256
         (base32
-         "0dp2awajd5281dwpbs0wb8ij2pq9l60p0b80xhxrb41m5qybcri8"))))
+         "01hp6xxxap7541yi5dv596xvamqyyihvgkdy224ixa0n2cxyrhyf"))))
     (properties `((upstream-name . "scDD")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2236,14 +2272,14 @@ distributions.")
 (define-public r-scone
   (package
     (name "r-scone")
-    (version "1.6.1")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "scone" version))
        (sha256
         (base32
-         "0l1x4cjnfjbpx6k55sjqx03555daa6v63rq0rg6b7jpz8xxzwa7p"))))
+         "00cr0jp1ywxygf2pryw7mmcmn7cp1500fvifkbwgg2qxbkq5zqck"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-aroma-light" ,r-aroma-light)
@@ -2276,14 +2312,14 @@ high-throughput analyses.")
 (define-public r-geoquery
   (package
     (name "r-geoquery")
-    (version "2.50.5")
+    (version "2.52.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GEOquery" version))
        (sha256
         (base32
-         "074dl00c8yi1ihpjkw7vl9vy2hggvipib0jn0hli0wrw7x1h9hg6"))))
+         "1r8x4jsl1mr9j7wyyqlj0zgwd80vkqhxxqrcgbb78ksryzq45jkr"))))
     (properties `((upstream-name . "GEOquery")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2307,14 +2343,14 @@ the bridge between GEO and BioConductor.")
 (define-public r-illuminaio
   (package
     (name "r-illuminaio")
-    (version "0.24.0")
+    (version "0.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "illuminaio" version))
        (sha256
         (base32
-         "1rdp9b4xlv91yzba7pd7k50s3nkljfxmdmyz5jl0j8ybhmpl6rns"))))
+         "18plm8p40gfzfmqflxssrdj8az3xvmnmh9i9dafl3af3bxwv03l8"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-base64" ,r-base64)))
@@ -2328,18 +2364,19 @@ files, including IDAT.")
 (define-public r-siggenes
   (package
     (name "r-siggenes")
-    (version "1.56.0")
+    (version "1.58.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "siggenes" version))
        (sha256
         (base32
-         "0cjlb5r04x15xkhk00i3wvpx21kj0k29pn0mj3whwqk31zznnk1b"))))
+         "178jmmdxsv3rd71a9w5yrvg5aplak40hb42vna15g1d55c2yv1ib"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
-       ("r-multtest" ,r-multtest)))
+       ("r-multtest" ,r-multtest)
+       ("r-scrime" ,r-scrime)))
     (home-page "https://bioconductor.org/packages/siggenes/")
     (synopsis
      "Multiple testing using SAM and Efron's empirical Bayes approaches")
@@ -2353,14 +2390,14 @@ Bayes Analyses of Microarrays} (EBAM).")
 (define-public r-bumphunter
   (package
     (name "r-bumphunter")
-    (version "1.24.5")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "bumphunter" version))
        (sha256
         (base32
-         "1f9vk3srffbx8jpza40nd18a4y0p0z8q40mx55dlcnddkwrqi19b"))))
+         "1dkyicwqdaahnxcxj6kmivkqb47yccx51lb1q0yar3xpw91vwlfx"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -2387,14 +2424,14 @@ studies.")
 (define-public r-minfi
   (package
     (name "r-minfi")
-    (version "1.28.4")
+    (version "1.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "minfi" version))
        (sha256
         (base32
-         "1sjwwqb0syngvj75saaky9y06hbxsawhhcmfvavzkhicxipafv7r"))))
+         "0qir0zd0qa97fzm33v10nyrsjp8nmzhn7mn20dnlpsg7rwlf60pd"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beanplot" ,r-beanplot)
@@ -2436,14 +2473,14 @@ methylation arrays.")
 (define-public r-methylumi
   (package
     (name "r-methylumi")
-    (version "2.28.0")
+    (version "2.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "methylumi" version))
        (sha256
         (base32
-         "14p2qi18cprfvb2gxng1vm48c7zwh23h88q9qjgipj9xl5axsgw2"))))
+         "13acn771ybi10v50x123bq5yqd62b8sr4gz77lpgaj192sxq9d9f"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotate" ,r-annotate)
@@ -2480,14 +2517,14 @@ and Infinium HD arrays are also included.")
 (define-public r-lumi
   (package
     (name "r-lumi")
-    (version "2.34.0")
+    (version "2.36.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "lumi" version))
        (sha256
         (base32
-         "1fpmjpgcy5n0hx9whn9m3jhjmciqq0l59nvy5addbq0a4wnjhx8q"))))
+         "1rf6xmd2wnajjvnl50q63agakzjf4hrzn2chdsnhapi7fh7bcjba"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-affy" ,r-affy)
@@ -2519,14 +2556,14 @@ especially Illumina Infinium methylation microarrays.")
 (define-public r-linnorm
   (package
     (name "r-linnorm")
-    (version "2.6.1")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Linnorm" version))
        (sha256
         (base32
-         "1qgk8m5kc409flqxs3vnf228v3z0112q8py9hgfgyiwvi6yzdbp6"))))
+         "1rv3ljdwb71364qd2p8za3jpk08agvzwas6f63s5d8wjlapzm3i5"))))
     (properties `((upstream-name . "Linnorm")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2578,14 +2615,14 @@ evaluation of DEG analysis methods.")
 (define-public r-ioniser
   (package
     (name "r-ioniser")
-    (version "2.6.0")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "IONiseR" version))
        (sha256
         (base32
-         "01lqisdlsvym8nhgpzn7lpcddk9lv9253dy9v65r2dicb5xqhj00"))))
+         "0kznyqqpm0zbah537p197z1cgrgh9w82whmq0aydfxzgs2vxdw2y"))))
     (properties `((upstream-name . "IONiseR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2650,14 +2687,14 @@ kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
 (define-public r-triform
   (package
     (name "r-triform")
-    (version "1.24.0")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "triform" version))
        (sha256
         (base32
-         "12ca24pv1r5vbw3rq345jqg7x3prrbsxk6445zikpzfblwmw0b4s"))))
+         "0bsxkn386kfx4gg19p6smy5fi3k7xdw89r5hvfsks8hsdpdz3hya"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -2674,14 +2711,14 @@ peak definition in combination with known profile characteristics.")
 (define-public r-varianttools
   (package
     (name "r-varianttools")
-    (version "1.24.0")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "VariantTools" version))
        (sha256
         (base32
-         "1ml3pl7xnxvzr6zkypr80xzw6nffswk29gzxycn42473sc4ixn7j"))))
+         "0y37nziipwikg47x4jhhsx0dyv15rrih4a4z43jbzv4jgq4krzql"))))
     (properties `((upstream-name . "VariantTools")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2714,14 +2751,14 @@ gmapR.")
 (define-public r-heatplus
   (package
     (name "r-heatplus")
-    (version "2.28.0")
+    (version "2.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Heatplus" version))
        (sha256
         (base32
-         "0drspjzgb23ra2kdvpxhsd8mdifsf97fcf668llyz2hr0r39fc48"))))
+         "18b0zy12przp88sj1smvfdd39m17nhhnqzk656bs5pjls2ifmcm6"))))
     (properties `((upstream-name . "Heatplus")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2739,14 +2776,14 @@ information about samples and features can be added to the plot.")
 (define-public r-gosemsim
   (package
     (name "r-gosemsim")
-    (version "2.8.0")
+    (version "2.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GOSemSim" version))
        (sha256
         (base32
-         "0ckihpy8jmgn2np1avprz76v9z7i5hqm2gj514c6dmmq3csbc7ib"))))
+         "035jbm14rb1rjp2n00dp5bm88ad8a9afv4lvzpkv39nil98nzbdg"))))
     (properties `((upstream-name . "GOSemSim")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2766,14 +2803,14 @@ sets of GO terms, gene products and gene clusters.")
 (define-public r-anota
   (package
     (name "r-anota")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "anota" version))
        (sha256
         (base32
-         "182fp6dpws516y0igvwn6936higfqvy25haa0xs273f8aczr9cf0"))))
+         "0jchhyf9gqyj0k0fn5zp319griy32cckqpldq9x58z69l2ix2s2c"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-multtest" ,r-multtest)
@@ -2782,7 +2819,7 @@ sets of GO terms, gene products and gene clusters.")
     (synopsis "Analysis of translational activity")
     (description
      "Genome wide studies of translational control is emerging as a tool to
-study verious biological conditions.  The output from such analysis is both
+study various biological conditions.  The output from such analysis is both
 the mRNA level (e.g. cytosolic mRNA level) and the levl of mRNA actively
 involved in translation (the actively translating mRNA level) for each mRNA.
 The standard analysis of such data strives towards identifying differential
@@ -2790,21 +2827,21 @@ translational between two or more sample classes - i.e.  differences in
 actively translated mRNA levels that are independent of underlying differences
 in cytosolic mRNA levels.  This package allows for such analysis using partial
 variances and the random variance model.  As 10s of thousands of mRNAs are
-analyzed in parallell the library performs a number of tests to assure that
+analyzed in parallel the library performs a number of tests to assure that
 the data set is suitable for such analysis.")
     (license license:gpl3)))
 
 (define-public r-sigpathway
   (package
     (name "r-sigpathway")
-    (version "1.50.0")
+    (version "1.52.0")
     (source
       (origin
         (method url-fetch)
         (uri (bioconductor-uri "sigPathway" version))
         (sha256
           (base32
-            "0pygrla2q2151981gshzv51jnj60h1df3vby5gsxqvxn2pdr4bv3"))))
+            "1mc4lb78rcmpihzjiy4w738cbalw5zxms30z8kyy12s6vbxi6hx7"))))
     (properties `((upstream-name . "sigPathway")))
     (build-system r-build-system)
     (home-page "https://www.pnas.org/cgi/doi/10.1073/pnas.0506577102")
@@ -2819,17 +2856,18 @@ phenotype of interest.")
 (define-public r-fgsea
   (package
     (name "r-fgsea")
-    (version "1.8.0")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "fgsea" version))
        (sha256
         (base32
-         "0cxxvlmg340l5l5fz4abbwppiri0ibg4navvq5k3wg511mz8ma2q"))))
+         "07mvv1i690q80fm8sxgdqxchamn76409vn91ppgcck2xpi6b8q6c"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-biocparallel" ,r-biocparallel)
+     `(("r-bh" ,r-bh)
+       ("r-biocparallel" ,r-biocparallel)
        ("r-data-table" ,r-data-table)
        ("r-fastmatch" ,r-fastmatch)
        ("r-ggplot2" ,r-ggplot2)
@@ -2848,14 +2886,14 @@ to multiple hypothesis correction.")
 (define-public r-dose
   (package
     (name "r-dose")
-    (version "3.8.2")
+    (version "3.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DOSE" version))
        (sha256
         (base32
-         "1gh7dhvfc71kawxcfx8xqlir7mwvg5mmz4lqrdrvw5knvi2h3mfa"))))
+         "0dvhnfhzhhzcxm8zhdwrkif7sak4p888sjqfd3a0p77h0hs6g8pv"))))
     (properties `((upstream-name . "DOSE")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2882,14 +2920,14 @@ data.")
 (define-public r-enrichplot
   (package
     (name "r-enrichplot")
-    (version "1.2.0")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "enrichplot" version))
        (sha256
         (base32
-         "0cxqfpy6py4k3z3lnlkiwx89r4ymfpdc4hm25dfpazqgjflz5is7"))))
+         "1i9psakvvdc6jn7k7zwpbdhwvf9r8s7649w05mwh1hy978x4rh6h"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -2918,14 +2956,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
 (define-public r-clusterprofiler
   (package
     (name "r-clusterprofiler")
-    (version "3.10.1")
+    (version "3.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "clusterProfiler" version))
        (sha256
         (base32
-         "1v4fh8ll7zk8yhbaa0nq9xvqrb05kyvbpwkqpnjf07s873805rxm"))))
+         "1jw8h6nlcgd86qhqlcgi3icylb7amcqimlvzg29gay3bf3grwfhq"))))
     (properties
      `((upstream-name . "clusterProfiler")))
     (build-system r-build-system)
@@ -2951,14 +2989,14 @@ profiles (GO and KEGG) of gene and gene clusters.")
 (define-public r-mlinterfaces
   (package
     (name "r-mlinterfaces")
-    (version "1.62.1")
+    (version "1.64.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MLInterfaces" version))
        (sha256
         (base32
-         "1h0x1p2h8x1h276wxx6kcnb4c4s5sglnmd58iigl81a224x8gxwp"))))
+         "0zqvxmvbkig3cc4r5k405s53d7y5ccvrf8kf5j6v8s1kkrklai4j"))))
     (properties `((upstream-name . "MLInterfaces")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2992,14 +3030,14 @@ data in R and Bioconductor containers.")
 (define-public r-annaffy
   (package
     (name "r-annaffy")
-    (version "1.54.0")
+    (version "1.56.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "annaffy" version))
        (sha256
         (base32
-         "16c6allp4vlx0g3nffanrm0mkkf8s2n31dccw4bflnx2pr81bmd5"))))
+         "0sz96lcw0xc4bw1h3x0j40yh5ragmybsq6zwd0adlwzkhvriqjn9"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -3028,14 +3066,14 @@ It allows searching of biological metadata using various criteria.")
 (define-public r-a4core
   (package
     (name "r-a4core")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4Core" version))
        (sha256
         (base32
-         "1d62afxkfp9zbp59ijcn4wd1gdynygw013av41wq8bfm3cx6f9zr"))))
+         "1cr0d1w81iygil3pygqzigfb1a0hc248qd9vqvs0n537cxrxq7i7"))))
     (properties `((upstream-name . "a4Core")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3051,14 +3089,14 @@ arrays.")
 (define-public r-a4classif
   (package
     (name "r-a4classif")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4Classif" version))
        (sha256
         (base32
-         "02l77a59865ly3bydv74ff2l2wfb0x5s283g1nx6g1qrw3ly982j"))))
+         "1jif0w3hx020zzwkaza1a26mf34343y7a3v80ic93in6n53yjhj0"))))
     (properties `((upstream-name . "a4Classif")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3079,14 +3117,14 @@ Affymetrix arrays.")
 (define-public r-a4preproc
   (package
     (name "r-a4preproc")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4Preproc" version))
        (sha256
         (base32
-         "1dd3fqcc7nr2zbi46k0mnqkh42mfxk894ixfpqg7i9np2523p5gp"))))
+         "13sj4zriq1mian2xcjwkbmmpdjh3h6dgjslar2hc8nmd34cb9xjr"))))
     (properties `((upstream-name . "a4Preproc")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3101,14 +3139,14 @@ is used for preprocessing the arrays.")
 (define-public r-a4reporting
   (package
     (name "r-a4reporting")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4Reporting" version))
        (sha256
         (base32
-         "124774z3bfdjgxx2ad40795h92aam21yfx0rw0n01nk2wf6k7xc4"))))
+         "1lail2iw8jmvfdq9brv7i41k6vmbhx2kp21jxq2cj1zva5rcqssj"))))
     (properties `((upstream-name . "a4Reporting")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3124,14 +3162,14 @@ provides reporting features.")
 (define-public r-a4base
   (package
     (name "r-a4base")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4Base" version))
        (sha256
         (base32
-         "0k9k3bv99msbwf2y416cz316ssaha2dxvmaddbl7z9037p8mjr70"))))
+         "0yd8gkg3dlkijnms88bxkqsghhc9i32pgd9yaq6hzr67wk879wa1"))))
     (properties `((upstream-name . "a4Base")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3156,14 +3194,14 @@ Affymetrix arrays.")
 (define-public r-a4
   (package
     (name "r-a4")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "a4" version))
        (sha256
         (base32
-         "1iqjy35rqx3m2y0dm2bk4cnzdm1qvbi608bfmrid88w6wmwz3qlk"))))
+         "08146qzsr6mjblmh08g83063nnyrfl35z6p65v71isprkydgxyhy"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-a4base" ,r-a4base)
@@ -3181,14 +3219,14 @@ Affymetrix arrays.")
 (define-public r-abseqr
   (package
     (name "r-abseqr")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "abseqR" version))
        (sha256
         (base32
-         "0w0ngxnilcrxlixsz7ls3zm99gyabxwn7w1r3r45n96d4aj075ry"))))
+         "0cbjm7cxjfrkwqhcrrh93w0zf3skmi2p9hyx7acg0ym5fz0ic51r"))))
     (properties `((upstream-name . "abseqR")))
     (build-system r-build-system)
     (inputs
@@ -3227,14 +3265,14 @@ further downstream analysis on its output.")
 (define-public r-bacon
   (package
     (name "r-bacon")
-    (version "1.10.1")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "bacon" version))
        (sha256
         (base32
-         "1pd3p1cfggiy08458vplsy3s1zm5jqqcwrv4fks8ra2kf97j38df"))))
+         "1p6h348kwbsan6dwviclwxx02jcdmf580g5f95w2sgn4jnfv7q1q"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocparallel" ,r-biocparallel)
@@ -3252,14 +3290,14 @@ fitting a three-component normal mixture on z-scores.")
 (define-public r-rgadem
   (package
     (name "r-rgadem")
-    (version "2.30.0")
+    (version "2.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "rGADEM" version))
        (sha256
         (base32
-         "1a3mvxabp7yb275cv1wr0rzyvjhnsaysk2hnmll4z4cci171z2j2"))))
+         "1zf8ayllf1i79wc39vyln2hii1bgg88sw6h1hngkqx4phyvl9q18"))))
     (properties `((upstream-name . "rGADEM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3277,14 +3315,14 @@ genomic sequence data.")
 (define-public r-motiv
   (package
     (name "r-motiv")
-    (version "1.38.0")
+    (version "1.40.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MotIV" version))
        (sha256
         (base32
-         "1qrpydwc5bn8f0843qkyhw6920xk8kvq452ird0ij96g6faiv9a8"))))
+         "088z3vyx5h2c4ll4sway01cd4h0x2ayhbv55f6l2kss71v6k6byf"))))
     (properties `((upstream-name . "MotIV")))
     (build-system r-build-system)
     (inputs
@@ -3308,20 +3346,20 @@ distributions, modules and filter motifs.")
 (define-public r-motifstack
   (package
     (name "r-motifstack")
-    (version "1.26.0")
+    (version "1.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "motifStack" version))
        (sha256
         (base32
-         "1c4w39ilc4ca4wgi1b6iypadkbxvqjw7k2br0d7q03niw9qjkhxf"))))
+         "0qbv5pvn1g9xfn221vqjmp9vfxpkda1wxkn0kyn2nqyb80d4jf9f"))))
     (properties `((upstream-name . "motifStack")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ade4" ,r-ade4)
        ("r-biostrings" ,r-biostrings)
-       ("r-grimport" ,r-grimport)
+       ("r-grimport2" ,r-grimport2)
        ("r-htmlwidgets" ,r-htmlwidgets)
        ("r-motiv" ,r-motiv)
        ("r-scales" ,r-scales)
@@ -3339,14 +3377,14 @@ type and symbol colors.")
 (define-public r-genomicscores
   (package
     (name "r-genomicscores")
-    (version "1.6.0")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GenomicScores" version))
        (sha256
         (base32
-         "0lrhkcblvnki6kncwpavs01gbcz22yza6ma8zvfmbrrkfaxqzh8n"))))
+         "17bd61icfycc61b5dij1968h026w7vfd9miwdcbppak1j6s08idq"))))
     (properties `((upstream-name . "GenomicScores")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3370,14 +3408,14 @@ position-specific scores within R and Bioconductor.")
 (define-public r-atacseqqc
   (package
     (name "r-atacseqqc")
-    (version "1.6.4")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ATACseqQC" version))
        (sha256
         (base32
-         "1rblvqar11fib6ip2hq0756vqi6qmncf90jw6i5p5lrgzmaxy8hn"))))
+         "03f130vcd6hd3fv2pg60id0ddd6qkwsyx73gm907xaayf42ar2pj"))))
     (properties `((upstream-name . "ATACseqQC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3385,6 +3423,7 @@ position-specific scores within R and Bioconductor.")
        ("r-biostrings" ,r-biostrings)
        ("r-bsgenome" ,r-bsgenome)
        ("r-chippeakanno" ,r-chippeakanno)
+       ("r-edger" ,r-edger)
        ("r-genomeinfodb" ,r-genomeinfodb)
        ("r-genomicalignments" ,r-genomicalignments)
        ("r-genomicranges" ,r-genomicranges)
@@ -3414,14 +3453,14 @@ footprints.")
 (define-public r-gofuncr
   (package
     (name "r-gofuncr")
-    (version "1.2.0")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GOfuncR" version))
        (sha256
         (base32
-         "021kgcbm8n2yalhzab11cyppwznlkglynnh45wsgy9i2vi2n2znk"))))
+         "1znnkh96yyv6rkbjxx2942nixw4ixdll1f72v92wzsxdcbwkgqdm"))))
     (properties `((upstream-name . "GOfuncR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3461,14 +3500,14 @@ annotations and ontologies.")
 (define-public r-abaenrichment
   (package
     (name "r-abaenrichment")
-    (version "1.12.0")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ABAEnrichment" version))
        (sha256
         (base32
-         "0bvanqmg1smyckh16m2qn7d68zq4j7n74sgsnbgms5jngbp9158v"))))
+         "0av1dysk7qa8c4a0pp7yq89k8c4y40d2gyvsb8f27slvv2i3aad2"))))
     (properties `((upstream-name . "ABAEnrichment")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3491,14 +3530,14 @@ the brain using an ontology, both provided by the Allen Brain Atlas project.")
 (define-public r-annotationfuncs
   (package
     (name "r-annotationfuncs")
-    (version "1.32.0")
+    (version "1.34.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationFuncs" version))
        (sha256
         (base32
-         "1x11mfabh7kbp39y5rkmrpjkaawx7ab5anfmciamrmrcw1kddbss"))))
+         "12vh07x8s9y74h65q1pnjlma752pz29bmyyhlnqaiy83gsg26hm3"))))
     (properties
      `((upstream-name . "AnnotationFuncs")))
     (build-system r-build-system)
@@ -3516,14 +3555,14 @@ different identifieres using the Biocore Data Team data-packages (e.g.
 (define-public r-annotationtools
   (package
     (name "r-annotationtools")
-    (version "1.56.0")
+    (version "1.58.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "annotationTools" version))
        (sha256
         (base32
-         "0hqy0mq6pkn05p2dv4pw24p697yvikhdn351adf2ynldy6f3sl9z"))))
+         "148fi8bv1m0y81psm0jv1nqvjhvr461drnl0krqd7skcf0mb0fc1"))))
     (properties
      `((upstream-name . "annotationTools")))
     (build-system r-build-system)
@@ -3541,14 +3580,14 @@ text files).")
 (define-public r-allelicimbalance
   (package
     (name "r-allelicimbalance")
-    (version "1.20.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AllelicImbalance" version))
        (sha256
         (base32
-         "03524lj6aw9cskbpxzjmi9g708x6p94mf26yz4j941g1d0mc3z91"))))
+         "1f51y8zjgz0wdd33qbs1gpnadbprixr4wcfvff6v3s09rmnr8fng"))))
     (properties
      `((upstream-name . "AllelicImbalance")))
     (build-system r-build-system)
@@ -3582,14 +3621,14 @@ investigation using RNA-seq data.")
 (define-public r-aucell
   (package
     (name "r-aucell")
-    (version "1.4.1")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AUCell" version))
        (sha256
         (base32
-         "1kdrs0521cyb8wlc4i3idfprrcy2f9w6kl56hfa94n0brmx62ya9"))))
+         "025q1as9pifbxa7hidlz634q6d7l73zx8mqy4rjbfrk7d5615xvm"))))
     (properties `((upstream-name . "AUCell")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3617,14 +3656,14 @@ needed.")
 (define-public r-ebimage
   (package
     (name "r-ebimage")
-    (version "4.24.0")
+    (version "4.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "EBImage" version))
        (sha256
         (base32
-         "18v2zr7xh0d0xbs7mxa2b6xjqlqiml0hji27gq1351xp5bf2pxvx"))))
+         "0c8rfi40959rbpbizpiizkq21az3lfwf2azlj55yz5m61qp7mgsq"))))
     (properties `((upstream-name . "EBImage")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3656,14 +3695,14 @@ visualization with image data.")
 (define-public r-yamss
   (package
     (name "r-yamss")
-    (version "1.8.1")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "yamss" version))
        (sha256
         (base32
-         "13pln09j08fjsr7bj17apy4j0sr79n7jzshi8jbnz57jil7k6ia9"))))
+         "00756szrmfm1jdayl90jgblydn6sick9nagdf77pn7wzh6wlaj23"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -3688,14 +3727,14 @@ analysis.")
 (define-public r-gtrellis
   (package
     (name "r-gtrellis")
-    (version "1.14.0")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gtrellis" version))
        (sha256
         (base32
-         "17c43vs6m6hj90x5is0pbcpcv59gg9z98c47hnvlypgcqch38h6v"))))
+         "00d5swg3brnx8ryzpg7hp3mg9hx3vz4yd1lv2chlp2pj2rhsir1y"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-circlize" ,r-circlize)
@@ -3715,14 +3754,14 @@ genomic categories and to add self-defined graphics in the plot.")
 (define-public r-somaticsignatures
   (package
     (name "r-somaticsignatures")
-    (version "2.18.0")
+    (version "2.20.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "SomaticSignatures" version))
        (sha256
         (base32
-         "013dslbyq55a41d3n842brjk2bq1kxw0r18mb6drgbxx2sflzc02"))))
+         "0wc4ddwngvkc9jhihzaxx8yazqncl1kbgkx8vqn5gd4w2hx0h5bx"))))
     (properties
      `((upstream-name . "SomaticSignatures")))
     (build-system r-build-system)
@@ -3752,14 +3791,14 @@ decomposition algorithms.")
 (define-public r-yapsa
   (package
     (name "r-yapsa")
-    (version "1.8.0")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "YAPSA" version))
        (sha256
         (base32
-         "1agacimdd1m5yja2xbcsb83mns4svpxbjcsfrvm9ydqdj737i10j"))))
+         "0rfjn2x6hsqiigd53bnl7z5ix5s2mbpr9glsyihsa7i6iazh3n1q"))))
     (properties `((upstream-name . "YAPSA")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3792,14 +3831,14 @@ provided.")
 (define-public r-gcrma
   (package
     (name "r-gcrma")
-    (version "2.54.0")
+    (version "2.56.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gcrma" version))
        (sha256
         (base32
-         "1v5fi98gdmj002ryq0rgsg2l4x3m3w5pz4h3bx4v8lk15azafgim"))))
+         "1wazr3f4hwzpd0cjs2nlnzifr2g1r8a692pxap9xnmrw66zq94s4"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-affy" ,r-affy)
@@ -3828,14 +3867,14 @@ gene-specific bidning is expected.")
 (define-public r-simpleaffy
   (package
     (name "r-simpleaffy")
-    (version "2.58.0")
+    (version "2.60.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "simpleaffy" version))
        (sha256
         (base32
-         "0bry0d2vw0w2rrpnmfm1kl5v4rdclypmy33jvs9l43vd6vx2ra9s"))))
+         "0zjpbjkk27w56mrxsxynkqc298xxsarsnzbd7injg6zakhlmhy6a"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-affy" ,r-affy)
@@ -3856,14 +3895,14 @@ generating high resolution journal figures.")
 (define-public r-yaqcaffy
   (package
     (name "r-yaqcaffy")
-    (version "1.42.0")
+    (version "1.44.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "yaqcaffy" version))
        (sha256
         (base32
-         "192n1zvd54nm9q71vyb6dcr7ia6givf4bjwf6542jjig085lwhxk"))))
+         "1v12mbai6gf7wpxbyz4clvr7w1mlbv3scjf4kydfin8wwrrzq670"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-simpleaffy" ,r-simpleaffy)))
@@ -3878,14 +3917,14 @@ chips with the MAQC reference datasets.")
 (define-public r-quantro
   (package
     (name "r-quantro")
-    (version "1.16.0")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "quantro" version))
        (sha256
         (base32
-         "1777gjgn855f04yv7hx70h9l8idmjzamkpazaq2cdr8qzhxwy2ib"))))
+         "0zfb2s410ijp0didapnq7q4gn2d26wy785cygxyvg8sq6mlw2cab"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -3909,14 +3948,14 @@ groups.")
 (define-public r-yarn
   (package
     (name "r-yarn")
-    (version "1.8.1")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "yarn" version))
        (sha256
         (base32
-         "0c84x1zq34hadpsyaa873r8kg0jcxp09c2z63377hlmhsll90l7s"))))
+         "00gmwylpdmssz8xpd91d8fsiyglr7f9vc9bdalpa7w5vg4c6d2f6"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -3944,14 +3983,14 @@ large RNA-seq experiments.")
 (define-public r-roar
   (package
     (name "r-roar")
-    (version "1.18.0")
+    (version "1.20.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "roar" version))
        (sha256
         (base32
-         "15650s9vs7dvmqpvrs4xwn6j4kh14yqsx4daqyhhxxr68kn8mklw"))))
+         "11ib5vr2vrrqsqcikph528c56bp52myyfdlwkklp8m0r15kwpxr7"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -3973,14 +4012,14 @@ sites and alignments obtained from standard RNA-seq experiments.")
 (define-public r-xbseq
   (package
     (name "r-xbseq")
-    (version "1.14.1")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "XBSeq" version))
        (sha256
         (base32
-         "0na0jiqfy40bzl243gqc2214k4hibv6v4ndiqwq0c5f78cyr6lph"))))
+         "12l5qnkg6iahwyfmcsf18hys2i9cjn486sacvsqqfcjj3m88w1gy"))))
     (properties `((upstream-name . "XBSeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4010,14 +4049,14 @@ genes.")
 (define-public r-massspecwavelet
   (package
     (name "r-massspecwavelet")
-    (version "1.48.1")
+    (version "1.50.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MassSpecWavelet" version))
        (sha256
         (base32
-         "1xcr568a36b570rldy27wq4a2jn7yf5f6fddlzgx6x944jdn3ckz"))))
+         "1qg73qv69fvf2al7znkh9lmyx5qmkqv2mpl33lahdwzkm0lh6n72"))))
     (properties
      `((upstream-name . "MassSpecWavelet")))
     (build-system r-build-system)
@@ -4034,14 +4073,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
 (define-public r-xcms
   (package
     (name "r-xcms")
-    (version "3.4.4")
+    (version "3.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "xcms" version))
        (sha256
         (base32
-         "073f25m7y8z4560k93d99fv72pr7nrgrp054zssi7jhas4l3ddww"))))
+         "06vhqvvzlkc5bslswagrapmn5ag3x84xg9gxk0fhlmgwapqwki1g"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -4070,14 +4109,14 @@ data for high-throughput, untargeted analyte profiling.")
 (define-public r-wrench
   (package
     (name "r-wrench")
-    (version "1.0.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Wrench" version))
        (sha256
         (base32
-         "12gfdj2p52pah67bimz14xcwmcb4c2snjwswj0fns7v3v1h9rlqg"))))
+         "1js4dsgpgwq552r4ay78awd5vhzlmva0v8xvn3dy9v18y4j9k94i"))))
     (properties `((upstream-name . "Wrench")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4094,14 +4133,14 @@ that arising from 16s metagenomic surveys.")
 (define-public r-wiggleplotr
   (package
     (name "r-wiggleplotr")
-    (version "1.6.1")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "wiggleplotr" version))
        (sha256
         (base32
-         "12fhbskkjwv4d9bdy3gab8n9pcf7qpwiwgx0248as445vfw8dil3"))))
+         "0yl3ymsk5iijbypjg7lf6mkjgb54893vml2v5aqp2q4l8q0ld7l0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -4126,20 +4165,20 @@ visualization of exonic read coverage.")
 (define-public r-widgettools
   (package
     (name "r-widgettools")
-    (version "1.60.0")
+    (version "1.62.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "widgetTools" version))
        (sha256
         (base32
-         "0mz69pdr6q69avsvs6r5ncdkdmgwfislpil4v18dsflw4j454gwf"))))
+         "021b4s5vcy68p95p8rrcz8a8b1gyk4k8zq06snn32k2dqr91xi1a"))))
     (properties `((upstream-name . "widgetTools")))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/widgetTools/")
     (synopsis "Tools for creating interactive tcltk widgets")
     (description
-     "This packages contains tools to support the construction of tcltk
+     "This package contains tools to support the construction of tcltk
 widgets in R.")
     ;; Any version of the LGPL.
     (license license:lgpl3+)))
@@ -4147,14 +4186,14 @@ widgets in R.")
 (define-public r-webbioc
   (package
     (name "r-webbioc")
-    (version "1.54.0")
+    (version "1.56.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "webbioc" version))
        (sha256
         (base32
-         "16n6wc9q51wfpmh9y77p53sqdqdd8pn50c67vf6h4n7gv5wgnpwi"))))
+         "0ilrwzbk0v41p6hwng7jmr3hwwb4skdcjqml1mc3xmh99lcvw8hz"))))
     (build-system r-build-system)
     (inputs
      `(("netpbm" ,netpbm)
@@ -4180,14 +4219,14 @@ Currently only Affymetrix oligonucleotide analysis is supported.")
 (define-public r-zfpkm
   (package
     (name "r-zfpkm")
-    (version "1.4.1")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "zFPKM" version))
        (sha256
         (base32
-         "0rvfrjxxvfng9fxxn316gm96v4rahx62vlk3axr2bzjbi1r4s8v5"))))
+         "14knxp8cjjp9fhc6py66c7hrckf112jamz3gl1v60l1f2l1hmfvz"))))
     (properties `((upstream-name . "zFPKM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4207,14 +4246,14 @@ This algorithm is based on the publication by Hart et al., 2013 (Pubmed ID
 (define-public r-rbowtie2
   (package
     (name "r-rbowtie2")
-    (version "1.4.0")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rbowtie2" version))
        (sha256
         (base32
-         "045cmfwqzcj4zn6r16hkpmr5sd5y0mxvrs5yynf460fdz2p418cr"))))
+         "1yphnrk5j52gzvy9g6mw05dzh9sm8xxvhyja59ak68nrs1bh3lq4"))))
     (properties `((upstream-name . "Rbowtie2")))
     (build-system r-build-system)
     (inputs
@@ -4230,14 +4269,14 @@ rapid adapter trimming, identification, and read merging.")
 (define-public r-progeny
   (package
     (name "r-progeny")
-    (version "1.4.1")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "progeny" version))
        (sha256
         (base32
-         "02z09rbzi305jrwzai8zayxi82563lxcaldp4r9pw564qkbl7pk7"))))
+         "03rm90vfb9ivxhapvs3h5yggfazf8bf5vh1krknvb3xyw27br9dw"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-biobase" ,r-biobase)))
     (home-page "https://github.com/saezlab/progeny")
@@ -4252,14 +4291,14 @@ expression\".")
 (define-public r-arrmnormalization
   (package
     (name "r-arrmnormalization")
-    (version "1.22.0")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ARRmNormalization" version))
        (sha256
         (base32
-         "09wfd4vqfvmkpqn9dwqly1dz4h1ckh621jbwj1dab6q4z0dfmzmd"))))
+         "05m7hy1qd4lr1ylb0ld30dirdl9jfp1zhvifl6wvj40x74b6h2d1"))))
     (properties
      `((upstream-name . "ARRmNormalization")))
     (build-system r-build-system)
@@ -4271,3 +4310,241 @@ expression\".")
 method} (ARRm) for the normalization of methylation data from the Illumina
 Infinium HumanMethylation 450k assay.")
     (license license:artistic2.0)))
+
+(define-public r-biocfilecache
+  (package
+    (name "r-biocfilecache")
+    (version "1.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "BiocFileCache" version))
+       (sha256
+        (base32
+         "1mi8p8hvrdxim8lqsid2cb7284imyjf9rlzsrdlzdjac7dp9bpdb"))))
+    (properties `((upstream-name . "BiocFileCache")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-curl" ,r-curl)
+       ("r-dbi" ,r-dbi)
+       ("r-dbplyr" ,r-dbplyr)
+       ("r-dplyr" ,r-dplyr)
+       ("r-httr" ,r-httr)
+       ("r-rappdirs" ,r-rappdirs)
+       ("r-rsqlite" ,r-rsqlite)))
+    (home-page "https://bioconductor.org/packages/BiocFileCache/")
+    (synopsis "Manage files across sessions")
+    (description
+     "This package creates a persistent on-disk cache of files that the user
+can add, update, and retrieve.  It is useful for managing resources (such as
+custom Txdb objects) that are costly or difficult to create, web resources,
+and data files used across sessions.")
+    (license license:artistic2.0)))
+
+(define-public r-iclusterplus
+  (package
+    (name "r-iclusterplus")
+    (version "1.20.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "iClusterPlus" version))
+       (sha256
+        (base32
+         "14x43jjhbp4zwb4dv9rwrm5l5p7h76bc1zkdbiikqip9bzph0viq"))))
+    (properties `((upstream-name . "iClusterPlus")))
+    (build-system r-build-system)
+    (native-inputs `(("gfortran" ,gfortran)))
+    (home-page "https://bioconductor.org/packages/iClusterPlus/")
+    (synopsis "Integrative clustering of multi-type genomic data")
+    (description
+     "iClusterPlus is developed for integrative clustering analysis of
+multi-type genomic data and is an enhanced version of iCluster proposed and
+developed by Shen, Olshen and Ladanyi (2009).  Multi-type genomic data arise
+from the experiments where biological samples (e.g. tumor samples) are
+analyzed by multiple techniques, for instance, @dfn{array comparative genomic
+hybridization} (aCGH), gene expression microarray, RNA-seq and DNA-seq, and so
+on.  In the iClusterPlus model, binary observations such as somatic mutation
+are modeled as Binomial processes; categorical observations such as copy
+number states are realizations of Multinomial random variables; counts are
+modeled as Poisson random processes; and continuous measures are modeled by
+Gaussian distributions.")
+    (license license:gpl2+)))
+
+(define-public r-rbowtie
+  (package
+    (name "r-rbowtie")
+    (version "1.24.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "Rbowtie" version))
+       (sha256
+        (base32
+         "1p8gbd2zn677lq8d009p2cplg1jm2jhn81lppipj638i9ynjh44f"))))
+    (properties `((upstream-name . "Rbowtie")))
+    (build-system r-build-system)
+    (inputs
+     `(("zlib" ,zlib)))
+    (home-page "https://bioconductor.org/packages/Rbowtie/")
+    (synopsis "R bowtie wrapper")
+    (description
+     "This package provides an R wrapper around the popular bowtie short read
+aligner and around SpliceMap, a de novo splice junction discovery and
+alignment tool.")
+    (license license:artistic2.0)))
+
+(define-public r-sgseq
+  (package
+    (name "r-sgseq")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "SGSeq" version))
+       (sha256
+        (base32
+         "09c0hv74pl310wahyyp4x50g6sz30bvrg24p2j9h7glla5dh2z4s"))))
+    (properties `((upstream-name . "SGSeq")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biostrings" ,r-biostrings)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-igraph" ,r-igraph)
+       ("r-iranges" ,r-iranges)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-runit" ,r-runit)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)))
+    (home-page "https://bioconductor.org/packages/SGSeq/")
+    (synopsis "Splice event prediction and quantification from RNA-seq data")
+    (description
+     "SGSeq is a package for analyzing splice events from RNA-seq data.  Input
+data are RNA-seq reads mapped to a reference genome in BAM format.  Genes are
+represented as a splice graph, which can be obtained from existing annotation
+or predicted from the mapped sequence reads.  Splice events are identified
+from the graph and are quantified locally using structurally compatible reads
+at the start or end of each splice variant.  The software includes functions
+for splice event prediction, quantification, visualization and
+interpretation.")
+    (license license:artistic2.0)))
+
+(define-public r-rhisat2
+  (package
+    (name "r-rhisat2")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "Rhisat2" version))
+       (sha256
+        (base32
+         "01jhj5vvfl4n2d0nl3nd1iw9nii85mgw2adnrmxb8wwlxgy240vr"))))
+    (properties `((upstream-name . "Rhisat2")))
+    (build-system r-build-system)
+    (native-inputs
+     `(("which" ,which)))
+    (propagated-inputs
+     `(("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-sgseq" ,r-sgseq)))
+    (home-page "https://github.com/fmicompbio/Rhisat2")
+    (synopsis "R Wrapper for HISAT2 sequence aligner")
+    (description
+     "This package provides an R interface to the HISAT2 spliced short-read
+aligner by Kim et al. (2015).  The package contains wrapper functions to
+create a genome index and to perform the read alignment to the generated
+index.")
+    (license license:gpl3)))
+
+(define-public r-quasr
+  (package
+    (name "r-quasr")
+    (version "1.24.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "QuasR" version))
+       (sha256
+        (base32
+         "1pshm41iba9nfq2pigk4dyldn5434w83rhgj99cdjnd0rszj7ajx"))))
+    (properties `((upstream-name . "QuasR")))
+    (build-system r-build-system)
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocmanager" ,r-biocmanager)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-biostrings" ,r-biostrings)
+       ("r-bsgenome" ,r-bsgenome)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-genomicfiles" ,r-genomicfiles)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-rbowtie" ,r-rbowtie)
+       ("r-rhisat2" ,r-rhisat2)
+       ("r-rhtslib" ,r-rhtslib)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-shortread" ,r-shortread)))
+    (home-page "https://bioconductor.org/packages/QuasR/")
+    (synopsis "Quantify and annotate short reads in R")
+    (description
+     "This package provides a framework for the quantification and analysis of
+short genomic reads.  It covers a complete workflow starting from raw sequence
+reads, over creation of alignments and quality control plots, to the
+quantification of genomic regions of interest.")
+    (license license:gpl2)))
+
+(define-public r-rqc
+  (package
+    (name "r-rqc")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "Rqc" version))
+       (sha256
+        (base32
+         "09kyn5nc2fqfdm3q07h0x2jyh24vsq5sxxm63ir1lvv250lmal4g"))))
+    (properties `((upstream-name . "Rqc")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-biocstyle" ,r-biocstyle)
+       ("r-biostrings" ,r-biostrings)
+       ("r-biovizbase" ,r-biovizbase)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-genomicfiles" ,r-genomicfiles)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-iranges" ,r-iranges)
+       ("r-knitr" ,r-knitr)
+       ("r-markdown" ,r-markdown)
+       ("r-plyr" ,r-plyr)
+       ("r-rcpp" ,r-rcpp)
+       ("r-reshape2" ,r-reshape2)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-shiny" ,r-shiny)
+       ("r-shortread" ,r-shortread)))
+    (home-page "https://github.com/labbcb/Rqc")
+    (synopsis "Quality control tool for high-throughput sequencing data")
+    (description
+     "Rqc is an optimized tool designed for quality control and assessment of
+high-throughput sequencing data.  It performs parallel processing of entire
+files and produces a report which contains a set of high-resolution
+graphics.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 8a49e1e350..8aba7f1c5f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages bioconductor)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages code)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages cran)
@@ -109,6 +110,7 @@
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
@@ -6260,7 +6262,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
 (define-public star
   (package
     (name "star")
-    (version "2.7.0b")
+    (version "2.7.1a")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -6269,7 +6271,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
               (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "1lih6cbpvnvhyvvswdhy06mwyzvwax96m723378v4z6psqzsh11d"))
+                "0n6g4s4hgw7qygs1z97j7a2dgz8gfaa4cv5pjvvvmarvk0x07hyg"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -6653,14 +6655,14 @@ information as possible.")
 (define-public r-genefilter
   (package
     (name "r-genefilter")
-    (version "1.64.0")
+    (version "1.66.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "genefilter" version))
        (sha256
         (base32
-         "0p64s1n1627yafnp25wjr4b22p34lqw574fx2qg4s1m0lffh1z6i"))))
+         "1jq7lam4dnbvz55lx93kcl9afl8xfjd6xs374d35m21bkay418kj"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -6680,14 +6682,14 @@ high-throughput sequencing experiments.")
 (define-public r-deseq2
   (package
     (name "r-deseq2")
-    (version "1.22.2")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DESeq2" version))
        (sha256
         (base32
-         "0n5ah84mxn87p45drzy0wh2yknmzj1q5i6gv0v9vgg1lj7awb91r"))))
+         "0fkk326addm2cw688gnmdzsmri5qx8j6ldnr4xin6kjnwicqhlqd"))))
     (properties `((upstream-name . "DESeq2")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6717,14 +6719,14 @@ distribution.")
 (define-public r-dexseq
   (package
     (name "r-dexseq")
-    (version "1.28.3")
+    (version "1.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DEXSeq" version))
        (sha256
         (base32
-         "1wsj1kqfrakmjnlplxmrv17r2spzcdkmwdkhggyjbf8mdhqs3w16"))))
+         "1b2s0vwm97g0wgm4ms0f4pqkqiqmxscnhg700aybl5vx0m2fa8xm"))))
     (properties `((upstream-name . "DEXSeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6760,14 +6762,14 @@ exploration of the results.")
 (define-public r-annotationforge
   (package
     (name "r-annotationforge")
-    (version "1.24.0")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationForge" version))
        (sha256
         (base32
-         "13yvhf3yskmvhs8szs6rkw93h81h5xqa3h19h91pp6nprhc8s3ll"))))
+         "0m4w8n2711wr28znv646cfc7m5jqlr8friz334zdyjmhg7m2xkb7"))))
     (properties
      `((upstream-name . "AnnotationForge")))
     (build-system r-build-system)
@@ -6790,17 +6792,19 @@ databases.  Packages produced are intended to be used with AnnotationDbi.")
 (define-public r-rbgl
   (package
     (name "r-rbgl")
-    (version "1.58.2")
+    (version "1.60.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "RBGL" version))
        (sha256
         (base32
-         "0vhnh47pswnp27c0zqcbnnsayfmq3cxcgrs9g860555ldqfl4cyl"))))
+         "06brn9hl6lybx6hdfp1sycwj6wn1bjfi8xyhpy0v122v1z8d5mbz"))))
     (properties `((upstream-name . "RBGL")))
     (build-system r-build-system)
-    (propagated-inputs `(("r-graph" ,r-graph)))
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-graph" ,r-graph)))
     (home-page "https://www.bioconductor.org/packages/RBGL")
     (synopsis "Interface to the Boost graph library")
     (description
@@ -6811,14 +6815,14 @@ the graph algorithms contained in the Boost library.")
 (define-public r-gseabase
   (package
     (name "r-gseabase")
-    (version "1.44.0")
+    (version "1.46.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GSEABase" version))
        (sha256
         (base32
-         "110al7x0ig8plzrprvhwc7xshi1jzpj2n8llhhg2fh6v6k0k6awr"))))
+         "0vh53xk2prjbdkbr3hwfiflx1gh7ilrqs3j1p3lyd6syy3rn9n83"))))
     (properties `((upstream-name . "GSEABase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6838,14 +6842,14 @@ Enrichment Analysis} (GSEA).")
 (define-public r-category
   (package
     (name "r-category")
-    (version "2.48.1")
+    (version "2.50.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Category" version))
        (sha256
         (base32
-         "18rsxlwa1l06i635cnznb9b2zssqcgb71pihky29gl2gwp7a654b"))))
+         "1n36xfnwn2np5f0lix9abvv9w6jb25jqz3xzvqzklz9s1af4k6x4"))))
     (properties `((upstream-name . "Category")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6869,14 +6873,14 @@ analysis.")
 (define-public r-gostats
   (package
     (name "r-gostats")
-    (version "2.48.0")
+    (version "2.50.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GOstats" version))
        (sha256
         (base32
-         "0wlqqgfynwqnqhckhsfjwg9zkj6hkmzwd5y76dhqz720vy21rcln"))))
+         "1a95i6awm2a8xv42fg2z3n29fg9z29i45kd80hxf6mvqqgzj80xp"))))
     (properties `((upstream-name . "GOstats")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6900,14 +6904,14 @@ testing and other simple calculations.")
 (define-public r-shortread
   (package
     (name "r-shortread")
-    (version "1.40.0")
+    (version "1.42.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ShortRead" version))
        (sha256
         (base32
-         "0iks123i1adkb9i2q4wvfqdmmj9dy867jvngj9757y8gj6xbcpy1"))))
+         "1irqzdgsavjqsq0vva4966qh8qgn7xn9382dmhahm1hxb94qmi59"))))
     (properties `((upstream-name . "ShortRead")))
     (build-system r-build-system)
     (inputs
@@ -6942,19 +6946,19 @@ ungapped alignment formats.")
 (define-public r-systempiper
   (package
     (name "r-systempiper")
-    (version "1.16.1")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "systemPipeR" version))
        (sha256
         (base32
-         "0qzydz87rld2nhwzbfgrw5jfgh8maa9y54mjx9c4285m11qj2shq"))))
+         "1063vdf4g2i5xyabwvzkqfxd2j8s4zs6z4zxf8lx2ccjddhkn37a"))))
     (properties `((upstream-name . "systemPipeR")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotate" ,r-annotate)
-       ("r-batchjobs" ,r-batchjobs)
+       ("r-batchtools" ,r-batchtools)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-biostrings" ,r-biostrings)
        ("r-deseq2" ,r-deseq2)
@@ -6970,6 +6974,7 @@ ungapped alignment formats.")
        ("r-rsamtools" ,r-rsamtools)
        ("r-shortread" ,r-shortread)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
+       ("r-yaml" ,r-yaml)
        ("r-variantannotation" ,r-variantannotation)))
     (home-page "https://github.com/tgirke/systemPipeR")
     (synopsis "Next generation sequencing workflow and reporting environment")
@@ -6988,14 +6993,14 @@ annotation infrastructure.")
 (define-public r-grohmm
   (package
     (name "r-grohmm")
-    (version "1.16.0")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "groHMM" version))
        (sha256
         (base32
-         "1ph92fv44b90v7mk4b1mjvv0dlrhl8ba01klxbnd0vs4qn9zxplh"))))
+         "1p368qf8ab1vy8gl2j7rx0l7bvva4m7w06i364rqzs0sdyzlbm3y"))))
     (properties `((upstream-name . "groHMM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7240,13 +7245,13 @@ Bioconductor, CRAN, and Github.")
 (define-public r-biocviews
   (package
     (name "r-biocviews")
-    (version "1.50.10")
+    (version "1.52.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biocViews" version))
               (sha256
                (base32
-                "06ms82pyc5rxbd9crfvqjxcwpafv0c627i83v80d12925mrc51h8"))))
+                "1wc7a953n6qrlh9azzg1q68rk99h3xkbs82wq0yk6h2vb2c5r3zk"))))
     (properties
      `((upstream-name . "biocViews")))
     (build-system r-build-system)
@@ -7267,13 +7272,13 @@ also known as views, in a controlled vocabulary.")
 (define-public r-biocstyle
   (package
     (name "r-biocstyle")
-    (version "2.10.0")
+    (version "2.12.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocStyle" version))
               (sha256
                (base32
-                "01lm8xljilj666fcl3wnw82dxkcxnlr294lddr553rm8xr5nwg31"))))
+                "029x8r9rcx6zy0xixdpwxai4jv4ynb161821fzac6z4r8k418398"))))
     (properties
      `((upstream-name . "BiocStyle")))
     (build-system r-build-system)
@@ -7293,13 +7298,13 @@ functionality.")
 (define-public r-bioccheck
   (package
     (name "r-bioccheck")
-    (version "1.18.0")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocCheck" version))
               (sha256
                (base32
-                "0zamvs5jar38293ff27imvwy0ra25y64ls9z8w3q1y4jcp8p8pg7"))))
+                "1gkw9s6dhdryga9ap5yhvcqg9jsy4cn417ayqk1qiv6fy91fd124"))))
     (properties
      `((upstream-name . "BiocCheck")))
     (build-system r-build-system)
@@ -7340,13 +7345,13 @@ checks on R packages that are to be submitted to the Bioconductor repository.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.20.1")
+    (version "0.22.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "18whrw67nxn82xshckl2pjy7d14sa3c27h3n9naqyqwz88lr6dzg"))))
+                "1wkqmpy0d0fab9bjfc7i5wh2zng75pg9rn9c1z1lkki7fpwaw2jb"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -7367,13 +7372,13 @@ S4Vectors package itself.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.16.0")
+    (version "2.18.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "0ljppsk611xi72gc8mbdx1311b63b1ijd401jz5xmxk5frla1nc1"))))
+                "0g06y6xlm2q7p7g7phfc8qj14pqpgbb0mkyjzkfgsrwjmzvpwy6m"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -7419,13 +7424,13 @@ ID and species.  It is used by functions in the GenomeInfoDb package.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.18.2")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "07bm35jcczpyxap0b3gky4b28z38z423sngzsm19d9krjxr76b5p"))))
+                "0zkhms81b3jz30q7ag81a1mq1rgqg4izyfdvcni68gvn8gm7kdyk"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
@@ -7447,13 +7452,13 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "3.24.3")
+    (version "3.26.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "15yimsbsxmxhlsfmgw5j7fd8qn08zz4xqxrir1c6n2dc103y22xg"))))
+                "12889lwcray2cw0skzy1xp1y3siiz6n5cwx8ni86m7r671p6zmb2"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7475,13 +7480,13 @@ CAGE.")
 (define-public r-variantannotation
   (package
     (name "r-variantannotation")
-    (version "1.28.13")
+    (version "1.30.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "VariantAnnotation" version))
               (sha256
                (base32
-                "1a7b0bg579ynpbfh5dk87fdgl62r9cwk4zmrl61m6zil7881p3gh"))))
+                "1sd01yv1hnwc16412ilncrrph4gxsr9ds0nqg1czl69fqaixjn1i"))))
     (properties
      `((upstream-name . "VariantAnnotation")))
     (inputs
@@ -7498,6 +7503,7 @@ CAGE.")
        ("r-genomicranges" ,r-genomicranges)
        ("r-iranges" ,r-iranges)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
+       ("r-rhtslib" ,r-rhtslib)
        ("r-rsamtools" ,r-rsamtools)
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-s4vectors" ,r-s4vectors)
@@ -7513,13 +7519,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.38.3")
+    (version "3.40.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "08va8jggmv61wym955mnb1n31mgikrmjys7dl1kp5hp3yia8jg7l"))))
+                "1d4ig2b7fa9mwja52isxrwmprfdjdk1mlcf2skhdp51l24z6wbk7"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -7532,13 +7538,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-xvector
   (package
     (name "r-xvector")
-    (version "0.22.0")
+    (version "0.24.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "XVector" version))
               (sha256
                (base32
-                "01fph1ydd6g0rl5mcw54spx22glq2kqv7wyw8bqw0plmabzcwwdm"))))
+                "12y09pwy86h1za6cmaxs960r7fs0vjzhl0li8jn59vqq9liza1ap"))))
     (properties
      `((upstream-name . "XVector")))
     (build-system r-build-system)
@@ -7568,13 +7574,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.34.0")
+    (version "1.36.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "0bgh14d15dpf2iy36qinw45r6n45rqkf0ghazrdl3jfva6vbrb29"))))
+                "1285fr8qjd7d0ixpv7d5imi0n6wzc4k6yia1rkmig71qd2gg556k"))))
     (properties
      `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
@@ -7597,13 +7603,13 @@ manipulating genomic intervals and variables defined along a genome.")
 (define-public r-biobase
   (package
     (name "r-biobase")
-    (version "2.42.0")
+    (version "2.44.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biobase" version))
               (sha256
                (base32
-                "10nr6nrkj5vlq8hsgbhbhv669z0dbpz4m3vz9k32rx1czbrrqwin"))))
+                "15yl92niqamx3lmwd11zlk0xniibqnh1gi280iadxicmchi83npc"))))
     (properties
      `((upstream-name . "Biobase")))
     (build-system r-build-system)
@@ -7619,13 +7625,13 @@ on Bioconductor or which replace R functions.")
 (define-public r-annotationdbi
   (package
     (name "r-annotationdbi")
-    (version "1.44.0")
+    (version "1.46.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "AnnotationDbi" version))
               (sha256
                (base32
-                "1954vimkx5yb9irppq8vssq0f3yjkg36w38b9r0rqmijx1ps7x5d"))))
+                "0lfq5668a6sq4kqhxx78hl3jcaqdsaaliiybl9xyya2scdk8c29c"))))
     (properties
      `((upstream-name . "AnnotationDbi")))
     (build-system r-build-system)
@@ -7646,13 +7652,13 @@ annotation data packages using SQLite data storage.")
 (define-public r-biomart
   (package
     (name "r-biomart")
-    (version "2.38.0")
+    (version "2.40.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biomaRt" version))
               (sha256
                (base32
-                "1lshkknp7dmr3p6dd2zbv86cc71h53ggh9ji83jcjym8sgbbspl2"))))
+                "1i457s91bn7n60bzw3zk4h64xgmawlrr6bq4z4cb7jlm04hdq8qm"))))
     (properties
      `((upstream-name . "biomaRt")))
     (build-system r-build-system)
@@ -7679,13 +7685,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.16.6")
+    (version "1.18.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "1iv2xzm6lz371z0llhcxl8hmc5jfw0hjwnf1qc8d7jk9djgcaks2"))))
+                "0v8rhf3hbgb3v32h2pmsv1y6q2x4airmpp50fk7z6ardcn4aza7x"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -7704,13 +7710,13 @@ objects.")
 (define-public r-biostrings
   (package
     (name "r-biostrings")
-    (version "2.50.2")
+    (version "2.52.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biostrings" version))
               (sha256
                (base32
-                "16cqqc8i6gb0jcz0lizfqqxsq7g0yb0ll2s9qzmb45brp07dg8f7"))))
+                "0inrl97hli3qz6cfxcikc4picmbrqc8phdgqi18ynlvxy5ql64h4"))))
     (properties
      `((upstream-name . "Biostrings")))
     (build-system r-build-system)
@@ -7730,13 +7736,13 @@ biological sequences or sets of sequences.")
 (define-public r-rsamtools
   (package
     (name "r-rsamtools")
-    (version "1.34.1")
+    (version "2.0.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Rsamtools" version))
               (sha256
                (base32
-                "02paq7klabdkaf1b8pmmbpmyqsj3yncnfsz62rgka6r4dpsilwk9"))))
+                "1nv5idyjk75mvl4np5sig0xa6qygm1ivj33k041ffyj19q8jf7ij"))))
     (properties
      `((upstream-name . "Rsamtools")))
     (build-system r-build-system)
@@ -7760,6 +7766,7 @@ biological sequences or sets of sequences.")
        ("r-genomeinfodb" ,r-genomeinfodb)
        ("r-genomicranges" ,r-genomicranges)
        ("r-iranges" ,r-iranges)
+       ("r-rhtslib" ,r-rhtslib)
        ("r-s4vectors" ,r-s4vectors)
        ("r-xvector" ,r-xvector)))
     (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
@@ -7774,13 +7781,13 @@ tab-delimited (tabix) files.")
 (define-public r-delayedarray
   (package
     (name "r-delayedarray")
-    (version "0.8.0")
+    (version "0.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "DelayedArray" version))
               (sha256
                (base32
-                "0cl5anqkjwvqx19snjhz0zj8cp8ibckiifl28h821h50g62nvb2f"))))
+                "0l907ggxndn3f29zvsd5pppmp4c31rb22r6zkhvgph7xdxahyy6z"))))
     (properties
      `((upstream-name . "DelayedArray")))
     (build-system r-build-system)
@@ -7789,6 +7796,7 @@ tab-delimited (tabix) files.")
        ("r-biocparallel" ,r-biocparallel)
        ("r-s4vectors" ,r-s4vectors)
        ("r-iranges" ,r-iranges)
+       ("r-matrix" ,r-matrix)
        ("r-matrixstats" ,r-matrixstats)))
     (home-page "https://bioconductor.org/packages/DelayedArray")
     (synopsis "Delayed operations on array-like objects")
@@ -7805,13 +7813,13 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns),
 (define-public r-summarizedexperiment
   (package
     (name "r-summarizedexperiment")
-    (version "1.12.0")
+    (version "1.14.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "SummarizedExperiment" version))
               (sha256
                (base32
-                "07805572xhpj5mfwq6kw1ha21wgalqvhh4ydvafyl1bnf3r20vps"))))
+                "1ypk63pdml89y81pr41i2zq0fimsaxsa5lgpg6xs5cwikyaq0pci"))))
     (properties
      `((upstream-name . "SummarizedExperiment")))
     (build-system r-build-system)
@@ -7836,13 +7844,13 @@ samples.")
 (define-public r-genomicalignments
   (package
     (name "r-genomicalignments")
-    (version "1.18.1")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicAlignments" version))
               (sha256
                (base32
-                "1maslav2r34wjyzh2nlwa862in1ir7i5xk57nw2nlfh5gqy112jd"))))
+                "13zw7bb1adgph9bf9b9y725nr0320b80y70p2yqf3bjb2klfxf55"))))
     (properties
      `((upstream-name . "GenomicAlignments")))
     (build-system r-build-system)
@@ -7869,13 +7877,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.42.2")
+    (version "1.44.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "1c76g6h9lx2nm7dvb2zp9dmrpk3vanx3zaz6q9clggpj7yj5lmjd"))))
+                "161gcks9b12993g9k27gf7wfh8lgd8m8rr7x2slgfqqssk0yrmpd"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -7916,13 +7924,13 @@ as well as query and modify the browser state, such as the current viewport.")
 (define-public r-genomicfeatures
   (package
     (name "r-genomicfeatures")
-    (version "1.34.8")
+    (version "1.36.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "1sxp86hdsg32l2c85jgic65gy92d8kxsm01264hrx6yikdhicjax"))))
+                "17jy7lrpdaafd8g5v6j70xsypi0lqljdqmhv9f2r1xpyg3yjd84p"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -7981,13 +7989,13 @@ information about the latest version of the Gene Ontologies.")
 (define-public r-topgo
   (package
     (name "r-topgo")
-    (version "2.34.0")
+    (version "2.36.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "topGO" version))
               (sha256
                (base32
-                "1j1jcd16j564kr6qz28140fzmnh9xasi84v1c1fi98sqv30zq9bh"))))
+                "09z42jwz5vh289ijz3x68zv5vmgkgcbhlp73vvmna1gld5lh5kz1"))))
     (properties
      `((upstream-name . "topGO")))
     (build-system r-build-system)
@@ -8014,13 +8022,13 @@ dependencies between GO terms can be implemented and applied.")
 (define-public r-bsgenome
   (package
     (name "r-bsgenome")
-    (version "1.50.0")
+    (version "1.52.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BSgenome" version))
               (sha256
                (base32
-                "07z4zxx0khrc86qqvc7vxww8df9fh6pyks9ajxkc9gdqr5nn79j7"))))
+                "0zwx42s73hc1vhn0v82i67mcixdwwc6n6q5h5vpnhpxlm4qwgqzp"))))
     (properties
      `((upstream-name . "BSgenome")))
     (build-system r-build-system)
@@ -8044,14 +8052,14 @@ genome data packages and support for efficient SNP representation.")
 (define-public r-impute
   (package
     (name "r-impute")
-    (version "1.56.0")
+    (version "1.58.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "impute" version))
               (sha256
                (base32
-                "08z0pj1dz5iq967nwj67qyka7ir7m5an2ggv7bsrlz3apzfsla33"))))
-    (inputs
+                "144jb889979cv3il2zxqk724v3sj1wnzjm3lkspxcvk29dbb9q8j"))))
+    (native-inputs
      `(("gfortran" ,gfortran)))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/impute")
@@ -8064,13 +8072,13 @@ microarray data, using nearest neighbor averaging.")
 (define-public r-seqpattern
   (package
     (name "r-seqpattern")
-    (version "1.14.0")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "seqPattern" version))
               (sha256
                (base32
-                "0di83qi83mrlw7i12khsq55d03hlazcywaa9m9pki1sfhafpq733"))))
+                "1ljqscbmrmi5d4lzzvg2d86sqzch26yxw57d33qyid300wm60db2"))))
     (properties
      `((upstream-name . "seqPattern")))
     (build-system r-build-system)
@@ -8091,13 +8099,13 @@ reference point and sorted by a user defined feature.")
 (define-public r-genomation
   (package
     (name "r-genomation")
-    (version "1.14.0")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "genomation" version))
               (sha256
                (base32
-                "0g0v4alfpqlinqinjnyzl3mrjnpbdx9ri34mcaiqbvbvg8ic8wvg"))))
+                "06i711pwq9znd7plh0p25skxnnh5dyl61c33k9gma243wvlzmlkj"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biostrings" ,r-biostrings)
@@ -8165,14 +8173,14 @@ downloaded from Encode.")
 (define-public r-seqlogo
   (package
     (name "r-seqlogo")
-    (version "1.48.0")
+    (version "1.50.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "seqLogo" version))
        (sha256
         (base32
-         "022vr9ydwcivs7rw7kwj73gfk5gc7ckwa1q66vhd4kw9ylh70v68"))))
+         "1z63imr1a24nqijpvxaxlakykcsadfqyxl2b3vlllncxnjjvb52b"))))
     (properties `((upstream-name . "seqLogo")))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/seqLogo")
@@ -8186,14 +8194,14 @@ Stephens (1990).")
 (define-public r-motifrg
   (package
     (name "r-motifrg")
-    (version "1.26.0")
+    (version "1.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "motifRG" version))
        (sha256
         (base32
-         "1wxww6i0jgyapqclcwy0zzf9kqjvrvylr89z7yhg1izi7jnw2fka"))))
+         "02c7fbjwdq7pk96bd2rn07l9r2hqy00s3hfpli5ybmwgvc9h9z4z"))))
     (properties `((upstream-name . "motifRG")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8238,13 +8246,13 @@ two-dimensional genome scans.")
 (define-public r-zlibbioc
   (package
     (name "r-zlibbioc")
-    (version "1.28.0")
+    (version "1.30.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "zlibbioc" version))
               (sha256
                (base32
-                "0bjvzy24kab7ank02cc1qk2ikcz4dllgf66wpsdl0d3zp4gn3l2h"))))
+                "1h0a2ps2rfk9azzps7p23sxj5z1giv8gcx0ypzgyz7fkr4xi9z7k"))))
     (properties
      `((upstream-name . "zlibbioc")))
     (build-system r-build-system)
@@ -8280,14 +8288,14 @@ secondary structure and comparative analysis in R.")
 (define-public r-rhtslib
   (package
     (name "r-rhtslib")
-    (version "1.14.1")
+    (version "1.16.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rhtslib" version))
        (sha256
         (base32
-         "13fv78sk5g0gqfl3ks3rps3zc1k66a4lzxvgn36r7ix43yxk7hnr"))))
+         "178zbrm221rwhbjk7j2v9g5ra44k0xg7c5abhd810m3g7snma8k8"))))
     (properties `((upstream-name . "Rhtslib")))
     (build-system r-build-system)
     ;; Without this a temporary directory ends up in the Rhtslib.so binary,
@@ -8310,14 +8318,14 @@ of other R packages who wish to make use of HTSlib.")
 (define-public r-bamsignals
   (package
     (name "r-bamsignals")
-    (version "1.14.0")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "bamsignals" version))
        (sha256
         (base32
-         "19irfx1y1izf903vq59wxsdbf88g143zy9l89gxqawh7jfxds8w8"))))
+         "15q1q51dwl9qxfkf10yppw4m194ba03nq9plsrbj8fqj00v4729i"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -8340,13 +8348,13 @@ paired-end data.")
 (define-public r-rcas
   (package
     (name "r-rcas")
-    (version "1.8.0")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "RCAS" version))
               (sha256
                (base32
-                "0ss5hcg2m7gjji6dd23zxa5bd5a7knwcnada4qs5q2l4clgk39ad"))))
+                "1h4vf5gzilqbdrd8m9l3zc2m4sca8cir8366a7njgd558k7ld5kl"))))
     (properties `((upstream-name . "RCAS")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8377,7 +8385,8 @@ paired-end data.")
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-rmarkdown" ,r-rmarkdown)
        ("r-s4vectors" ,r-s4vectors)
-       ("r-topgo" ,r-topgo)))
+       ("r-topgo" ,r-topgo)
+       ("pandoc" ,ghc-pandoc)))
     (synopsis "RNA-centric annotation system")
     (description
      "RCAS aims to be a standalone RNA-centric annotation system that provides
@@ -8433,14 +8442,14 @@ library implementing most of the pipeline's features.")
 (define-public r-mutationalpatterns
   (package
     (name "r-mutationalpatterns")
-    (version "1.8.0")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MutationalPatterns" version))
        (sha256
         (base32
-         "0w9lg1zs106h6rqvy8mhikq6q6q9syw6c1prcxr38ssh85rcih12"))))
+         "1k3r06xj1nim1s8as1i7fykfa6fbb4x456kslbzdvbf83ppx34z3"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -8538,13 +8547,13 @@ factors bound at the specific regions.")
 (define-public r-tximport
   (package
     (name "r-tximport")
-    (version "1.10.1")
+    (version "1.12.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "tximport" version))
               (sha256
                (base32
-                "16wp09dm0cpb4mc00nmglfb8ica7qb4a55vm8ajgzyagbpfdd44l"))))
+                "0nl4imr5klwcd0xnp5y0g61d6mcgd50q60zkl86ymfmc0id368jr"))))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/tximport")
     (synopsis "Import and summarize transcript-level estimates for gene-level analysis")
@@ -8560,13 +8569,13 @@ of gene-level counts.")
 (define-public r-rhdf5
   (package
     (name "r-rhdf5")
-    (version "2.26.2")
+    (version "2.28.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rhdf5" version))
               (sha256
                (base32
-                "10zkw3k13wmvyif417gplyf6rwp2gpkjasw97lhwv2f9i32rry9l"))))
+                "0y1w3cs7wg2b3jlkd6wyyz6626xg011nrg36si8gg371iqck9a1i"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-rhdf5lib" ,r-rhdf5lib)))
@@ -8587,13 +8596,13 @@ the available RAM.")
 (define-public r-annotationfilter
   (package
     (name "r-annotationfilter")
-    (version "1.6.0")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "AnnotationFilter" version))
               (sha256
                (base32
-                "0wrr10cxjzmxx46vjzq2nsf6xlqz1sqwx4xm0sk3d77ff8wmph4x"))))
+                "15qh4jwxxqsnb308nxzj99gckfk18rhp8g26q1xwgkr57zc5kcrx"))))
     (properties
      `((upstream-name . "AnnotationFilter")))
     (build-system r-build-system)
@@ -8892,14 +8901,14 @@ common bioinformatics tools.")
 (define-public r-chipseq
   (package
     (name "r-chipseq")
-    (version "1.32.0")
+    (version "1.34.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "chipseq" version))
        (sha256
         (base32
-         "1pp1rm5fs3hlar5x4dl3a3b4gara7qwf81dbvka6r1n78hrf9x1b"))))
+         "1835nhrxcaqpqf1kxrsk1js8bf7x33z1n3bqjvm8404091acqyma"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -8944,14 +8953,14 @@ GenomicRanges Bioconductor package.")
 (define-public r-copywriter
   (package
     (name "r-copywriter")
-    (version "2.14.1")
+    (version "2.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "CopywriteR" version))
        (sha256
         (base32
-         "1hbiw0m9hmx4na9v502pxf8y5wvxzr68r4d3fqr2755gxx86qck6"))))
+         "0kv3k58wyyicq1hhq7bddh0v3b2ksz6fa47skvnp8f193csza9g6"))))
     (properties `((upstream-name . "CopywriteR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8984,13 +8993,13 @@ number detection tools.")
 (define-public r-methylkit
   (package
     (name "r-methylkit")
-    (version "1.8.1")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "methylKit" version))
               (sha256
                (base32
-                "1zcfwy7i10aqgnf7r0c41hakb5aai3s3n9y8pc6a98vimz51ly2z"))))
+                "1z687vpi5kwcqpnd6r74c5y72hcsbqlwg0bk95kksgpi81q710qj"))))
     (properties `((upstream-name . "methylKit")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9004,6 +9013,7 @@ number detection tools.")
        ("r-kernsmooth" ,r-kernsmooth)
        ("r-limma" ,r-limma)
        ("r-mclust" ,r-mclust)
+       ("r-mgcv" ,r-mgcv)
        ("r-qvalue" ,r-qvalue)
        ("r-r-utils" ,r-r-utils)
        ("r-rcpp" ,r-rcpp)
@@ -9030,14 +9040,14 @@ TAB-Seq.")
 (define-public r-sva
   (package
     (name "r-sva")
-    (version "3.30.1")
+    (version "3.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "sva" version))
        (sha256
         (base32
-         "0czja4c5jxa0g3fspi90nyajqmvzb29my4ykv2wi66h43f5dlwhq"))))
+         "100jwi43y4xdqb5lldx1ld58jg9icdjgz6c7ylx95gspipnkbgjp"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-genefilter" ,r-genefilter)
@@ -9114,14 +9124,14 @@ trait.")
 (define-public r-maldiquant
   (package
     (name "r-maldiquant")
-    (version "1.19.2")
+    (version "1.19.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MALDIquant" version))
        (sha256
         (base32
-         "11zbvm1vw8zn2vmymvydgdczvwj961s2knvrn1q4gbziwi5gqvlc"))))
+         "0b7kdz3x4sdq413h1q09l1qhcvdnnwv6fqsqwllks1cd3xy34c57"))))
     (properties `((upstream-name . "MALDIquant")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/MALDIquant")
@@ -9140,14 +9150,14 @@ as allowing spectra with different resolutions.")
 (define-public r-protgenerics
   (package
     (name "r-protgenerics")
-    (version "1.14.0")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ProtGenerics" version))
        (sha256
         (base32
-         "053mmxhzncqgigl2iqjlq56qzimlw2zzw31wpzw19rf7rld1vi3b"))))
+         "12jjwmg58b4xbivxlw4pffq0qfi2c1c5hyrci0sfyphrc99fvx0i"))))
     (properties `((upstream-name . "ProtGenerics")))
     (build-system r-build-system)
     (home-page "https://github.com/lgatto/ProtGenerics")
@@ -9160,14 +9170,14 @@ proteomics packages.")
 (define-public r-mzr
   (package
     (name "r-mzr")
-    (version "2.16.2")
+    (version "2.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "mzR" version))
        (sha256
         (base32
-         "19fn58zl59kd0hsjjc6y975y9187nfls0028a4k3v0s9wfg5b3vn"))
+         "0g5r6yk4gyz0xdwlmrcij4zv7apdgsgygr043095l33hard6nsl5"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -9213,14 +9223,14 @@ previously been used in XCMS.")
 (define-public r-affyio
   (package
     (name "r-affyio")
-    (version "1.52.0")
+    (version "1.54.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "affyio" version))
        (sha256
         (base32
-         "1s4zp1211vf0krxzch9v3q3r6vs8hihqppq18i2fpvwlknfja7c1"))))
+         "1s78hm51fgac3i2j4bbdy0z6g14370154s6km8lldc9zpahx8b6p"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-zlibbioc" ,r-zlibbioc)))
@@ -9237,14 +9247,14 @@ CDF file formats.")
 (define-public r-affy
   (package
     (name "r-affy")
-    (version "1.60.0")
+    (version "1.62.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "affy" version))
        (sha256
         (base32
-         "0x8h4fk2igv7vykqfvf6v9whmx3344v5rf3gyfajd431xkjldz6k"))))
+         "05vz0vf3472s1ivfhc0gc8yz98y4rvvp7cf6kfbxhy1b23im1bgk"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-affyio" ,r-affyio)
@@ -9265,14 +9275,14 @@ analysis.")
 (define-public r-vsn
   (package
     (name "r-vsn")
-    (version "3.50.0")
+    (version "3.52.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "vsn" version))
        (sha256
         (base32
-         "1g6qkpykw99jm2wv2i61dg2ffwk0n8fm4s5pm2q4c024vw5c9b69"))))
+         "1vqmyxg06kgq9m3w6n0jykqm4jgsjw879r4s216wlcq4xc94dh1r"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-affy" ,r-affy)
@@ -9299,14 +9309,14 @@ and specific in detecting differential transcription.")
 (define-public r-mzid
   (package
     (name "r-mzid")
-    (version "1.20.1")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "mzID" version))
        (sha256
         (base32
-         "15yd4bdxprw3kg7zj2k652y3yr3si781iw28jqvnkm0gsc23rd0c"))))
+         "0vnyg7jlmy7ain7gmjwhqyqr664znrvrdlh7zd63563vhb87qarn"))))
     (properties `((upstream-name . "mzID")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9329,14 +9339,14 @@ specific parser.")
 (define-public r-pcamethods
   (package
     (name "r-pcamethods")
-    (version "1.74.0")
+    (version "1.76.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "pcaMethods" version))
        (sha256
         (base32
-         "0ik82s9bsdj4a1mmv0a3k6yisa92mxx7maf3dvip1r8gqlm3dyng"))))
+         "0svf4n7l0afy4wwgs6x8x4dm330r3311l5vmsxw2f0r4axkh3bzk"))))
     (properties `((upstream-name . "pcaMethods")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9359,14 +9369,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.8.3")
+    (version "2.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "1kl1d7byphnfpmbl5fzbgs68dxskhpsdyx7ka51bpfn0nv3pp492"))))
+         "1lqdlyvs2c9g55zf8gnw142ps4jid644fhfvclnax7sjjwrqdjzv"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9402,14 +9412,14 @@ of mass spectrometry based proteomics data.")
 (define-public r-msnid
   (package
     (name "r-msnid")
-    (version "1.16.1")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnID" version))
        (sha256
         (base32
-         "077n6ljcnnl7q4w0qj8v46vm4sjk9vzzfqf7wsc6lz0wmyzqdng3"))))
+         "18mp8zacawhfapfwpq8czbswxix2ykvqhwjga54v0a99zg3k87h3"))))
     (properties `((upstream-name . "MSnID")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9441,13 +9451,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
 (define-public r-seurat
   (package
     (name "r-seurat")
-    (version "3.0.0")
+    (version "3.0.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Seurat" version))
               (sha256
                (base32
-                "183lm2wk0i3g114jbdf7pb4ssizr48qzqv3cknbsiackr8kvpsvc"))))
+                "0mx2fvhdswbcsgqxhfc6d0gr92bkibwpz2bavqdzbbxrzpdpnilc"))))
     (properties `((upstream-name . "Seurat")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9499,14 +9509,14 @@ discovery of differentially expressed genes and markers.")
 (define-public r-aroma-light
   (package
     (name "r-aroma-light")
-    (version "3.12.0")
+    (version "3.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "aroma.light" version))
        (sha256
         (base32
-         "0vfifgpqxjjncbiv6gvlk9jmj14j90r9f30bqk3ks9v1csjnjhrb"))))
+         "0a1prl4jhbqpa85i2vyia1ks9iippzl8np50fvm9wx8kbjxna5l6"))))
     (properties `((upstream-name . "aroma.light")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9526,14 +9536,14 @@ classes.")
 (define-public r-deseq
   (package
     (name "r-deseq")
-    (version "1.34.1")
+    (version "1.36.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DESeq" version))
        (sha256
         (base32
-         "0bpiixczbhlyaiinpbl6xrpmv72k2bq76bxnw06gl35m4pgs94p2"))))
+         "0jppqrikg9qfqcfw5qd3m5c7bag9g23bc0kcpk5zfkk1wv09mnlm"))))
     (properties `((upstream-name . "DESeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9557,14 +9567,14 @@ distribution.")
 (define-public r-edaseq
   (package
     (name "r-edaseq")
-    (version "2.16.3")
+    (version "2.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "EDASeq" version))
        (sha256
         (base32
-         "0559ph606ps2g9bwbl0a2knkcs5w581n9igngpjxvk5p56k24gb5"))))
+         "0mmc9bij17w4mfwcc566zbj5fvqgl8gfqs0qvj6ri4mbcql9jxb3"))))
     (properties `((upstream-name . "EDASeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9596,14 +9606,14 @@ global-scaling and full-quantile normalization.")
 (define-public r-interactivedisplaybase
   (package
     (name "r-interactivedisplaybase")
-    (version "1.20.0")
+    (version "1.22.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "interactiveDisplayBase" version))
        (sha256
         (base32
-         "04xz3dkwan2s5ic1mwkdfnggm0l41mgqfagx160bcsrpkw6z7ark"))))
+         "1kkyv7hkygacmksvld9gs3ycf6wlblqcwi11nny0hq3l0ha265v5"))))
     (properties
      `((upstream-name . "interactiveDisplayBase")))
     (build-system r-build-system)
@@ -9620,23 +9630,26 @@ Shiny-based display methods for Bioconductor objects.")
 (define-public r-annotationhub
   (package
     (name "r-annotationhub")
-    (version "2.14.5")
+    (version "2.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationHub" version))
        (sha256
         (base32
-         "0iyrxaijl4614iz5c1j53227xy2g756p3bx7hcwglcybh0k30nki"))))
+         "1rpzl4x5mrwxrrf1jzm4zni6li6x34fjfyybsdvplb0ixa48zhn4"))))
     (properties `((upstream-name . "AnnotationHub")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biocfilecache" ,r-biocfilecache)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-biocmanager" ,r-biocmanager)
        ("r-curl" ,r-curl)
+       ("r-dplyr" ,r-dplyr)
        ("r-httr" ,r-httr)
        ("r-interactivedisplaybase" ,r-interactivedisplaybase)
+       ("r-rappdirs" ,r-rappdirs)
        ("r-rsqlite" ,r-rsqlite)
        ("r-s4vectors" ,r-s4vectors)
        ("r-yaml" ,r-yaml)))
@@ -9655,14 +9668,14 @@ by the user, helping with quick and reproducible access.")
 (define-public r-fastseg
   (package
     (name "r-fastseg")
-    (version "1.28.0")
+    (version "1.30.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "fastseg" version))
        (sha256
         (base32
-         "1l8mdjpfpgwqdss2ywjkb8b4h55wf8v6kmyxdlvy04ds2hj16sb1"))))
+         "03gggz29nf8kyy9clkifqr0xm8v0yb0kl0gjfb5c0vrjmwkfqvdf"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
@@ -9685,14 +9698,14 @@ microarrays or GRanges for sequencing data.")
 (define-public r-keggrest
   (package
     (name "r-keggrest")
-    (version "1.22.0")
+    (version "1.24.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "KEGGREST" version))
        (sha256
         (base32
-         "0blpd5a7whd2sswfhqd17h58hg06ymaf80gapdr9ja43hnnlj309"))))
+         "1yjrpbm5zfg0h3nb5gg06q2f19ydbhjqwi0jb6q3p8dyrgww9mqp"))))
     (properties `((upstream-name . "KEGGREST")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9709,14 +9722,14 @@ microarrays or GRanges for sequencing data.")
 (define-public r-gage
   (package
     (name "r-gage")
-    (version "2.32.1")
+    (version "2.34.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gage" version))
        (sha256
         (base32
-         "02g796sb1800ff0f1mq9f2m5wwzpf8pnfzajs49i68dhq2hm01a8"))))
+         "08d5yg7n4rx4xsginc8bx0sycpj06pi1k7i44ff757444p20srwq"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -9731,21 +9744,21 @@ data attributes including sample sizes, experimental designs, assay platforms,
 and other types of heterogeneity.  The gage package provides functions for
 basic GAGE analysis, result processing and presentation.  In addition, it
 provides demo microarray data and commonly used gene set data based on KEGG
-pathways and GO terms.  These funtions and data are also useful for gene set
+pathways and GO terms.  These functions and data are also useful for gene set
 analysis using other methods.")
     (license license:gpl2+)))
 
 (define-public r-genomicfiles
   (package
     (name "r-genomicfiles")
-    (version "1.18.0")
+    (version "1.20.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GenomicFiles" version))
        (sha256
         (base32
-         "0qf2yj4lfnnk64fk125n8sqms01shfqiik04nasx2z3k129ykpxp"))))
+         "122g0yhpsm6fyvv38agp57clagl13h324rk06mlgb2xz104a1j4i"))))
     (properties `((upstream-name . "GenomicFiles")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9771,22 +9784,24 @@ provide added flexibility for data combination and manipulation.")
 (define-public r-complexheatmap
   (package
     (name "r-complexheatmap")
-    (version "1.20.0")
+    (version "2.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ComplexHeatmap" version))
        (sha256
         (base32
-         "0s01dzcfj1lmpqfpsbqw7r4858krfzy499lz4cwx4fq3mbyvy2aj"))))
+         "1imnb72r10csl2h12sckic7hcsb8v2z0y3dyw1ax2fpykmsmq776"))))
     (properties
      `((upstream-name . "ComplexHeatmap")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-circlize" ,r-circlize)
+       ("r-clue" ,r-clue)
        ("r-colorspace" ,r-colorspace)
        ("r-getoptlong" ,r-getoptlong)
        ("r-globaloptions" ,r-globaloptions)
+       ("r-png" ,r-png)
        ("r-rcolorbrewer" ,r-rcolorbrewer)))
     (home-page
      "https://github.com/jokergoo/ComplexHeatmap")
@@ -9801,14 +9816,14 @@ self-defined annotation graphics.")
 (define-public r-dirichletmultinomial
   (package
     (name "r-dirichletmultinomial")
-    (version "1.24.1")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DirichletMultinomial" version))
        (sha256
         (base32
-         "0vazfjzqy78p5g7dnv30lbqbj4bhq4zafd2wh6gdwy2il1fd78xa"))))
+         "0qirvhnbv4wd50ln4pqbk4dj6h2935ipf9p4sw1x62qqhwxidqk4"))))
     (properties
      `((upstream-name . "DirichletMultinomial")))
     (build-system r-build-system)
@@ -9830,14 +9845,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
 (define-public r-ensembldb
   (package
     (name "r-ensembldb")
-    (version "2.6.8")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ensembldb" version))
        (sha256
         (base32
-         "0gijx2l2y00h6gfj3gfr7rd4vva6qf2vkfdfy5gdmvqlxy84ka38"))))
+         "09s5g9xm9m8mqvzk6pkp9fyhx3zyb4p8yziz49mhfji5n35nydjr"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -9873,14 +9888,14 @@ chromosome region or transcript models of lincRNA genes.")
 (define-public r-organismdbi
   (package
     (name "r-organismdbi")
-    (version "1.24.0")
+    (version "1.26.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "OrganismDbi" version))
        (sha256
         (base32
-         "11pyv56cy4iy095h40k6k0mpjdlh6gsb4ld3s57nfa9nd4ypx3yi"))))
+         "14azk69pmwlhza0mhsxigsg127w3mgsx9hhrbdcdqmy3vzfbfaqq"))))
     (properties `((upstream-name . "OrganismDbi")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9905,14 +9920,14 @@ the fact that each of these packages implements a select methods.")
 (define-public r-biovizbase
   (package
     (name "r-biovizbase")
-    (version "1.30.1")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "biovizBase" version))
        (sha256
         (base32
-         "0v5gvcx180qn5487i1dph9abadw3ggqwp5yzy41jswzbdc8q6sbm"))))
+         "1lba1801ak0a4vz6f8jffp9d525q27p0dhi2bp4f68mvdwwl2994"))))
     (properties `((upstream-name . "biovizBase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9947,14 +9962,14 @@ effort and encourages consistency.")
 (define-public r-ggbio
   (package
     (name "r-ggbio")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ggbio" version))
        (sha256
         (base32
-         "0wq49qqzkcn8s19xgaxf2s1j1a563d7pbhhvris6fhxfdjsz4934"))))
+         "10s6hnffnrrsx3896adqdc5g55fzd5y6qhnp1mq0c641nw833rwd"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -10034,14 +10049,14 @@ organisms via the @code{g:Profiler} toolkit.")
 (define-public r-gqtlbase
   (package
     (name "r-gqtlbase")
-    (version "1.14.0")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gQTLBase" version))
        (sha256
         (base32
-         "1lbk1m1mkvbk30flk5pf3pcrnm2s0sj5r48kbjgad39dsvd8zgqx"))))
+         "1n2cizb88g2ankngvhxv377gizg80y3fhlx67sgm0z4ilm6a30ql"))))
     (properties `((upstream-name . "gQTLBase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10069,14 +10084,14 @@ and more.")
 (define-public r-snpstats
   (package
     (name "r-snpstats")
-    (version "1.32.0")
+    (version "1.34.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "snpStats" version))
        (sha256
         (base32
-         "1pplx4pf9bqi7v5v1l74yknc1s61carvbqkf327ky7vbvp0bck33"))))
+         "0drfd24a5pkrhzmpidlh717bgh2dm68mpn6vj1vlpkilfbkifl34"))))
     (properties `((upstream-name . "snpStats")))
     (build-system r-build-system)
     (inputs `(("zlib" ,zlib)))
@@ -10128,14 +10143,14 @@ several related annotation packages.")
 (define-public r-erma
   (package
     (name "r-erma")
-    (version "0.14.0")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "erma" version))
        (sha256
         (base32
-         "0hj9iz904rr1y66442lkxjywkw1ydyxxlhmjirawbf09ic5ad4g9"))))
+         "0j7ggp63m5y88cxgi49vcql1s1avzifwvvd2hydj4lj3yrmzib48"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10166,14 +10181,14 @@ by Ernst and Kellis.")
 (define-public r-ldblock
   (package
     (name "r-ldblock")
-    (version "1.12.1")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ldblock" version))
        (sha256
         (base32
-         "01lf74pby7si2g3kgc10qzr6lkcbigqcgqs2j3anc38vzxv0zhwv"))))
+         "0lraxhq9ny3468534klrl64nx0dpaf9cbd5bir6m5qma8j7kfnyd"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -10198,14 +10213,14 @@ defining LD blocks.")
 (define-public r-gqtlstats
   (package
     (name "r-gqtlstats")
-    (version "1.14.1")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gQTLstats" version))
        (sha256
         (base32
-         "1rkbnb3h02fdksc4nacqvmq4jgbj9fz4hm7j51yr2ggcgcykwraa"))))
+         "17xadfn8qh1pwzlpcbds5wrjr9bzhsnmv90wffxmp02hq20qkrh5"))))
     (properties `((upstream-name . "gQTLstats")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10252,14 +10267,14 @@ family of feature/genome hypotheses.")
 (define-public r-gviz
   (package
     (name "r-gviz")
-    (version "1.26.5")
+    (version "1.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Gviz" version))
        (sha256
         (base32
-         "1dpkcaar7qgzg3vgafvkplprhwmhzpb7ph009kr6ajm36hx4z81c"))))
+         "02alz27w8fnnm2ga71g3jg2b94f95ccv6r1fyszj4yb1k2g7rkxk"))))
     (properties `((upstream-name . "Gviz")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10298,36 +10313,27 @@ with your data.")
 (define-public r-gwascat
   (package
     (name "r-gwascat")
-    (version "2.14.0")
+    (version "2.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "gwascat" version))
        (sha256
         (base32
-         "1fnyjydhicq4ayrv0lqjv48h9bd72h40s6l82g1h2ng0icwz38g0"))))
+         "0akb36mrybmxbb1bc9kgxbnj3cdypfylj3yzrmhjwqxml03mg61i"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
-       ("r-annotationhub" ,r-annotationhub)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-biostrings" ,r-biostrings)
        ("r-genomeinfodb" ,r-genomeinfodb)
        ("r-genomicfeatures" ,r-genomicfeatures)
        ("r-genomicranges" ,r-genomicranges)
-       ("r-ggbio" ,r-ggbio)
-       ("r-ggplot2" ,r-ggplot2)
-       ("r-gqtlstats" ,r-gqtlstats)
-       ("r-graph" ,r-graph)
-       ("r-gviz" ,r-gviz)
        ("r-homo-sapiens" ,r-homo-sapiens)
        ("r-iranges" ,r-iranges)
        ("r-rsamtools" ,r-rsamtools)
        ("r-rtracklayer" ,r-rtracklayer)
-       ("r-s4vectors" ,r-s4vectors)
-       ("r-snpstats" ,r-snpstats)
-       ("r-summarizedexperiment" ,r-summarizedexperiment)
-       ("r-variantannotation" ,r-variantannotation)))
+       ("r-s4vectors" ,r-s4vectors)))
     (home-page "https://bioconductor.org/packages/gwascat")
     (synopsis "Tools for data in the EMBL-EBI GWAS catalog")
     (description
@@ -10338,13 +10344,13 @@ EMBL-EBI GWAS catalog.")
 (define-public r-sushi
   (package
     (name "r-sushi")
-    (version "1.20.0")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Sushi" version))
               (sha256
                (base32
-                "0dv5di0hgbvk9cxnqhyf18mdjl50k6bk00a89r6zgp83rbxwr1r8"))))
+                "1hgh3jfcx0bh3fyvp85v7435hvsk3ah1hxx5117ss93v03iwjf1g"))))
     (properties `((upstream-name . "Sushi")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10360,13 +10366,13 @@ visualizations for publication-quality multi-panel figures.")
 (define-public r-fithic
   (package
     (name "r-fithic")
-    (version "1.8.0")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "FitHiC" version))
               (sha256
                (base32
-                "15xd8mz7660q4zr9p74mq1pqps4iz7pxp8f9ifn21gwg94aq1avn"))))
+                "1qrxy4v8vmykrk8y6g3bs5wh5xhbs6pxyydbxy3vnj2mjirnxr6d"))))
     (properties `((upstream-name . "FitHiC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10384,13 +10390,13 @@ assays such as Hi-C.")
 (define-public r-hitc
   (package
     (name "r-hitc")
-    (version "1.26.0")
+    (version "1.28.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "HiTC" version))
               (sha256
                (base32
-                "11f96k1707g6milpjgnrjf3b5r42hsrxhb5d8znkcr3y3mrskdbj"))))
+                "059a1xxv2kb0bb32flymg2s8ylhavnv3j8l4125rfidagcgxgzjq"))))
     (properties `((upstream-name . "HiTC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10413,21 +10419,24 @@ provided.")
 (define-public r-hdf5array
   (package
     (name "r-hdf5array")
-    (version "1.10.1")
+    (version "1.12.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "HDF5Array" version))
        (sha256
         (base32
-         "1qwdsygcadl58qj598hfyvs8hp0hqcl9ghnhknahrlhmb7k2bd2d"))))
+         "0n8zc1x582vwb0zfhrjmnqbnpqky9zbhjc2j836i0a4yisklwdcp"))))
     (properties `((upstream-name . "HDF5Array")))
     (build-system r-build-system)
+    (inputs
+     `(("zlib" ,zlib)))
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
        ("r-delayedarray" ,r-delayedarray)
        ("r-iranges" ,r-iranges)
        ("r-rhdf5" ,r-rhdf5)
+       ("r-rhdf5lib" ,r-rhdf5lib)
        ("r-s4vectors" ,r-s4vectors)))
     (home-page "https://bioconductor.org/packages/HDF5Array")
     (synopsis "HDF5 back end for DelayedArray objects")
@@ -10439,14 +10448,14 @@ block processing.")
 (define-public r-rhdf5lib
   (package
     (name "r-rhdf5lib")
-    (version "1.4.3")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rhdf5lib" version))
        (sha256
         (base32
-         "0hjhjvg2kss71fkmxlbgnyyy1agwzgq57rxkgkm4riw82x2rvw7q"))
+         "1lpmyxlwwcy92hyxqag321ssc5z6yw3a0ws9r058jwgzyjg7i2gm"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -10510,25 +10519,18 @@ packages.")
 (define-public r-beachmat
   (package
     (name "r-beachmat")
-    (version "1.4.0")
+    (version "2.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "beachmat" version))
        (sha256
         (base32
-         "07zgmms0qg8gw7x0js46965bbhpfj2aa1h5ixdz9r332bxv9cdmr"))))
+         "14cz19fw97s8mhm9r2n5li44vckx069k8nqsyy64c3lkfm4vy4zx"))))
     (build-system r-build-system)
-    (inputs
-     `(("hdf5" ,hdf5)
-       ("zlib" ,zlib)))
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
-       ("r-delayedarray" ,r-delayedarray)
-       ("r-hdf5array" ,r-hdf5array)
-       ("r-rcpp" ,r-rcpp)
-       ("r-rhdf5" ,r-rhdf5)
-       ("r-rhdf5lib" ,r-rhdf5lib)))
+       ("r-delayedarray" ,r-delayedarray)))
     (home-page "https://bioconductor.org/packages/beachmat")
     (synopsis "Compiling Bioconductor to handle each matrix type")
     (description "This package provides a consistent C++ class interface for a
@@ -10539,14 +10541,14 @@ matrices.")
 (define-public r-singlecellexperiment
   (package
     (name "r-singlecellexperiment")
-    (version "1.4.1")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "SingleCellExperiment" version))
        (sha256
         (base32
-         "12139kk9cqgzpm6f3cwdsq31gj5lxamz2q939dy9fa0fa54gdaq4"))))
+         "0m3yjnv1njb4gyzcjfk7a0lz2vgggp2wjz382gqrb0qhhwcgfkj5"))))
     (properties
      `((upstream-name . "SingleCellExperiment")))
     (build-system r-build-system)
@@ -10566,28 +10568,27 @@ libraries.")
 (define-public r-scater
   (package
     (name "r-scater")
-    (version "1.10.1")
+    (version "1.12.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "scater" version))
               (sha256
                (base32
-                "0rijhy7g5qmcn927y1wyd63la1fhyar9fv1hccsqd23jd98yc55a"))))
+                "0k4jc0xc2n49saylcjrg7laxq4mchg4nv06nrbc6cp4vzpf33jh5"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
        ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocneighbors" ,r-biocneighbors)
        ("r-biocparallel" ,r-biocparallel)
+       ("r-biocsingular" ,r-biocsingular)
        ("r-delayedarray" ,r-delayedarray)
        ("r-delayedmatrixstats" ,r-delayedmatrixstats)
        ("r-dplyr" ,r-dplyr)
        ("r-ggbeeswarm" ,r-ggbeeswarm)
        ("r-ggplot2" ,r-ggplot2)
        ("r-matrix" ,r-matrix)
-       ("r-plyr" ,r-plyr)
        ("r-rcpp" ,r-rcpp)
-       ("r-reshape2" ,r-reshape2)
-       ("r-rhdf5lib" ,r-rhdf5lib)
        ("r-s4vectors" ,r-s4vectors)
        ("r-singlecellexperiment" ,r-singlecellexperiment)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
@@ -10602,29 +10603,31 @@ quality control.")
 (define-public r-scran
   (package
     (name "r-scran")
-    (version "1.10.2")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "scran" version))
        (sha256
         (base32
-         "07mgilr3gq3lnrm1fjm9zhz4w7970bjhsykln1drqy9gkzj5sn7g"))))
+         "19cyjjzgmhswni6js4bhbj5djp976sl9n648kk7viazgkspql884"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
+       ("r-bh" ,r-bh)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-biocneighbors" ,r-biocneighbors)
        ("r-biocparallel" ,r-biocparallel)
+       ("r-biocsingular" ,r-biocsingular)
        ("r-delayedarray" ,r-delayedarray)
        ("r-delayedmatrixstats" ,r-delayedmatrixstats)
+       ("r-dqrng" ,r-dqrng)
        ("r-dynamictreecut" ,r-dynamictreecut)
        ("r-edger" ,r-edger)
        ("r-igraph" ,r-igraph)
        ("r-limma" ,r-limma)
        ("r-matrix" ,r-matrix)
        ("r-rcpp" ,r-rcpp)
-       ("r-rhdf5lib" ,r-rhdf5lib)
        ("r-s4vectors" ,r-s4vectors)
        ("r-scater" ,r-scater)
        ("r-singlecellexperiment" ,r-singlecellexperiment)
@@ -10641,14 +10644,14 @@ variable and significantly correlated genes.")
 (define-public r-delayedmatrixstats
   (package
     (name "r-delayedmatrixstats")
-    (version "1.4.0")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DelayedMatrixStats" version))
        (sha256
         (base32
-         "03fk2avl1vyjv2wslczkc82qr0zmp1ra8iimd47pbmnnm839ly4w"))))
+         "0632ypndblrgzfk8k98rr8c6m2r0zwzf02pzvlrhcp9bj1pvqbrz"))))
     (properties
      `((upstream-name . "DelayedMatrixStats")))
     (build-system r-build-system)
@@ -11781,80 +11784,19 @@ The following file formats are supported:
 @end enumerate\n")
     (license license:bsd-3)))
 
-(define spdlog-for-salmon
-  (package
-    (name "spdlog")
-    (version "0.14.0")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/COMBINE-lab/spdlog.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q"))))
-    (build-system cmake-build-system)
-    (home-page "https://github.com/COMBINE-lab/spdlog")
-    (synopsis "Very fast C++ logging library")
-    (description "Spdlog is a very fast header-only C++ logging library with
-performance as its primary goal.")
-    (license license:expat)))
-
-;; This is a modified variant of bwa for use with Salmon. It installs a
-;; library to avoid having to build this as part of Salmon.
-(define bwa-for-salmon
-  (package (inherit bwa)
-    (name "bwa")
-    (version "0.7.12.5")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/COMBINE-lab/bwa.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append "bwa-for-salmon-" version "-checkout"))
-              (sha256
-               (base32
-                "1z2qa64y0c5hky10510x137mnzlhz6k8qf27csw4w9j6qihq95gb"))))
-    (build-system gnu-build-system)
-    (arguments
-     '(#:tests? #f ;no "check" target
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (bin (string-append out "/bin"))
-                    (lib (string-append out "/lib"))
-                    (doc (string-append out "/share/doc/bwa"))
-                    (man (string-append out "/share/man/man1"))
-                    (inc (string-append out "/include/bwa")))
-               (install-file "bwa" bin)
-               (install-file "README.md" doc)
-               (install-file "bwa.1" man)
-               (install-file "libbwa.a" lib)
-               (mkdir-p lib)
-               (mkdir-p inc)
-               (for-each (lambda (file)
-                           (install-file file inc))
-                         (find-files "." "\\.h$")))
-             #t))
-         ;; no "configure" script
-         (delete 'configure))))))
-
 (define-public salmon
   (package
     (name "salmon")
-    (version "0.9.1")
+    (version "0.13.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/COMBINE-lab/salmon.git")
                     (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zi1ff4i7y2ykk0vdzysgwzzzv166vg2x77pj1mf4baclavxj87a"))
+                "1i2z4aivicmiixdz9bxalp7vmfzi3k92fxa63iqa8kgvfw5a4aq5"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -11888,7 +11830,7 @@ performance as its primary goal.")
          (add-after 'unpack 'do-not-look-for-boost
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "CMakeLists.txt"
-               (("find_package\\(Boost 1\\.53\\.0") "#"))
+               (("find_package\\(Boost 1\\.59\\.0") "#"))
              #t))
          (add-after 'unpack 'do-not-phone-home
            (lambda _
@@ -11902,66 +11844,51 @@ performance as its primary goal.")
                    (rapmap (assoc-ref inputs "rapmap")))
                (mkdir-p src)
                (mkdir-p include)
-               (for-each (lambda (file)
-                           (install-file file src))
-                         (find-files (string-append rapmap "/src") "\\.(c|cpp)"))
+               (copy-recursively (string-append rapmap "/src") src)
                (copy-recursively (string-append rapmap "/include") include)
                (for-each delete-file '("external/install/include/rapmap/xxhash.h"
                                        "external/install/include/rapmap/FastxParser.hpp"
                                        "external/install/include/rapmap/concurrentqueue.h"
                                        "external/install/include/rapmap/FastxParserThreadUtils.hpp"
                                        "external/install/src/rapmap/FastxParser.cpp"
-                                       "external/install/src/rapmap/xxhash.c")))
+                                       "external/install/src/rapmap/xxhash.c"))
+               (delete-file-recursively "external/install/include/rapmap/spdlog"))
              #t))
          (add-after 'unpack 'use-system-libraries
            (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               ;; Don't prefer static libs
+               (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
+               (("set\\(TBB_LIBRARIES") "message(")
+               ;; Don't download anything
+               (("DOWNLOAD_COMMAND") "DOWNLOAD_COMMAND echo")
+               (("externalproject_add\\(libcereal") "message(")
+               (("externalproject_add\\(libgff") "message(")
+               (("externalproject_add\\(libtbb") "message(")
+               (("externalproject_add\\(libdivsufsort") "message(")
+               (("externalproject_add\\(libstadenio") "message(")
+               (("externalproject_add_step\\(") "message("))
              (substitute* "src/CMakeLists.txt"
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
-                (string-append (assoc-ref inputs "jellyfish")
-                               "/include/jellyfish-" ,(package-version jellyfish)))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
-                (string-append (assoc-ref inputs "jellyfish")
-                               "/lib/libjellyfish-2.0.a"))
+               (("add_dependencies") "#")
+               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
+                (string-append (assoc-ref inputs "libstadenio-for-salmon")
+                               "/lib/libstaden-read.so"))
                (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
                 (string-append (assoc-ref inputs "libdivsufsort")
                                "/lib/libdivsufsort.so"))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
-                (string-append (assoc-ref inputs "libstadenio-for-salmon")
-                               "/lib/libstaden-read.a"))
-               (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libbwa.a")
-                (string-append (assoc-ref inputs "bwa") "/lib/libbwa.a"))
                (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
                 (string-append (assoc-ref inputs "libdivsufsort")
-                               "/lib/libdivsufsort64.so")))
-             (substitute* "CMakeLists.txt"
-               ;; Don't prefer static libs
-               (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
-               (("set\\(TBB_LIBRARIES") "message(")
-               (("find_package\\(Jellyfish.*") "")
-               (("ExternalProject_Add\\(libcereal") "message(")
-               (("ExternalProject_Add\\(libbwa") "message(")
-               (("ExternalProject_Add\\(libjellyfish") "message(")
-               (("ExternalProject_Add\\(libgff") "message(")
-               (("ExternalProject_Add\\(libtbb") "message(")
-               (("ExternalProject_Add\\(libspdlog") "message(")
-               (("ExternalProject_Add\\(libdivsufsort") "message(")
-               (("ExternalProject_Add\\(libstadenio") "message(")
-               (("ExternalProject_Add_Step\\(") "message("))
+                               "/lib/libdivsufsort64.so"))
+               (("lib/libdivsufsort.a") "/lib/libdivsufsort.so"))
 
              ;; Ensure that all headers can be found
              (setenv "CPLUS_INCLUDE_PATH"
                      (string-append (getenv "CPLUS_INCLUDE_PATH")
                                     ":"
-                                    (assoc-ref inputs "bwa")
-                                    "/include/bwa"
-                                    ":"
                                     (assoc-ref inputs "eigen")
                                     "/include/eigen3"))
              (setenv "CPATH"
-                     (string-append (assoc-ref inputs "bwa")
-                                    "/include/bwa"
-                                    ":"
-                                    (assoc-ref inputs "eigen")
+                     (string-append (assoc-ref inputs "eigen")
                                     "/include/eigen3"))
              #t))
          ;; CMAKE_INSTALL_PREFIX does not exist when the tests are
@@ -11974,7 +11901,6 @@ performance as its primary goal.")
              #t)))))
     (inputs
      `(("boost" ,boost)
-       ("bwa" ,bwa-for-salmon)
        ("bzip2" ,bzip2)
        ("cereal" ,cereal)
        ("eigen" ,eigen)
@@ -11986,16 +11912,16 @@ performance as its primary goal.")
                     (file-name (string-append "rapmap-salmon-v" version "-checkout"))
                     (sha256
                      (base32
-                      "1yc12yqsz6f0r8sg1qnk57xg34aqwc9jbqq6gd5ys28xw3plj98p"))))
+                      "1biplxf0csc7a8h1wf219b0vmjkvw6wk2zylhdklb577kgmihdms"))))
        ("jemalloc" ,jemalloc)
-       ("jellyfish" ,jellyfish)
        ("libgff" ,libgff)
        ("tbb" ,tbb)
        ("libdivsufsort" ,libdivsufsort)
        ("libstadenio-for-salmon" ,libstadenio-for-salmon)
-       ("spdlog-for-salmon" ,spdlog-for-salmon)
        ("xz" ,xz)
        ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/COMBINE-lab/salmon")
     (synopsis "Quantification from RNA-seq reads using lightweight alignments")
     (description "Salmon is a program to produce highly-accurate,
@@ -14781,9 +14707,50 @@ proximity within a reference genome.")
     (description "This package provides tools for dealing with @dfn{Unique
 Molecular Identifiers} (UMIs) and @dfn{Random Molecular Tags} (RMTs) in
 genetic sequences.  There are six tools: the @code{extract} and
-@code{whitelist} commands are used to prepare a fastq containg UMIs @code{+/-}
+@code{whitelist} commands are used to prepare a fastq containing UMIs @code{+/-}
 cell barcodes for alignment.  The remaining commands, @code{group},
 @code{dedup}, and @{count}/@code{count_tab}, are used to identify PCR
 duplicates using the UMIs and perform different levels of analysis depending
 on the needs of the user.")
     (license license:expat)))
+
+(define-public ataqv
+  (package
+    (name "ataqv")
+    (version "1.0.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ParkerLab/ataqv.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "031xr6jx1aprh26y5b1lv3gzrlmzg4alfl73vvshymx8cq8asrqi"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "prefix=" (assoc-ref %outputs "out"))
+             (string-append "BOOST_ROOT="
+                            (assoc-ref %build-inputs "boost"))
+             (string-append "HTSLIB_ROOT="
+                            (assoc-ref %build-inputs "htslib")))
+       #:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (inputs
+     `(("boost" ,boost)
+       ("htslib" ,htslib)
+       ("ncurses" ,ncurses)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("lcov" ,lcov)))
+    (home-page "https://github.com/ParkerLab/ataqv")
+    (synopsis "Toolkit for quality control and visualization of ATAC-seq data")
+    (description "This package provides a toolkit for measuring and comparing
+ATAC-seq results.  It was written to make it easier to spot differences that
+might be caused by ATAC-seq library prep or sequencing.  The main program,
+@code{ataqv}, examines aligned reads and reports some basic metrics.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index d96610a791..1e171dcb6a 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -377,17 +377,17 @@ and will take advantage of multiple processor cores where possible.")
 (define-public libtorrent-rasterbar
   (package
     (name "libtorrent-rasterbar")
-    (version "1.1.11")
+    (version "1.1.13")
     (source (origin
               (method url-fetch)
               (uri
                (string-append
-                "https://github.com/arvidn/libtorrent/releases/download/libtorrent_"
+                "https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
                 (string-join (string-split version #\.) "_")
                 "/libtorrent-rasterbar-" version ".tar.gz"))
               (sha256
                (base32
-                "0isqidr11fnhybr0wvk0qxd97jaikmh8fx9h89b84yd2gyxdw8vw"))))
+                "1mza92ljjqvlz9582pmls3n45srqhxvw3q348xihcg4fhlchf11h"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -426,7 +426,7 @@ desktops.")
 (define-public qbittorrent
   (package
     (name "qbittorrent")
-    (version "4.1.5")
+    (version "4.1.6")
     (source
      (origin
        (method git-fetch)
@@ -435,7 +435,7 @@ desktops.")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "09zcygaxfv9g6av0vsvlyzv4v65wvj766xyfx31yz5ig3xan6ak1"))))
+        (base32 "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 34f0037e6a..459d691c45 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
+;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,6 +34,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
@@ -240,21 +242,22 @@ other lower-level build files.")
 (define-public osc
   (package
     (name "osc")
-    (version "0.162.1")
+    (version "0.165.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/openSUSE/" name
-                           "/archive/" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/openSUSE/osc")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0b4kpm96ns4smqyfjysbk2p78d36x44xprpna8zz85q1y5xn57aj"))))
+        (base32
+         "0l6iw8a040l60ixxdms9rxajm38vqfdwgij2bm7ahgv1akza64jk"))))
     (build-system python-build-system)
     (arguments
-     `(#:python ,python-2 ; Module is python2 only.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'install 'fix-filename-and-remove-unused
+         (add-after 'install 'fix-filename
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
                ;; Main osc tool is renamed in spec file, not setup.py, let's
@@ -262,13 +265,11 @@ other lower-level build files.")
                (rename-file
                 (string-append bin "osc-wrapper.py")
                 (string-append bin "osc"))
-               ;; Remove unused and broken script.
-               (delete-file (string-append bin "osc_hotshot.py"))
-             #t))))))
+               #t))))))
     (inputs
-     `(("python2-m2crypto" ,python2-m2crypto)
-       ("python2-pycurl" ,python2-pycurl)
-       ("python2-urlgrabber" ,python2-urlgrabber)))
+     `(("python-m2crypto" ,python-m2crypto)
+       ("python-pycurl" ,python-pycurl)
+       ("rpm" ,rpm))) ; for python-rpm
     (home-page "https://github.com/openSUSE/osc")
     (synopsis "Open Build Service command line tool")
     (description "@command{osc} is a command line interface to the Open Build
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 2629ebb6dd..41946f4169 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -29,6 +29,7 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages bootstrap)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
@@ -287,3 +288,31 @@ Its three main components are:
 @end enumerate\n")
     ;; Like the BSD-3 license but with an extra anti patent clause.
     (license (license:non-copyleft "file://COPYRIGHT"))))
+
+(define-public libfixposix
+  (package
+    (name "libfixposix")
+    (version "0.4.3")
+    (home-page "https://github.com/sionescu/libfixposix")
+    (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
+         "1x4q6yspi5g2s98vq4qszw4z3zjgk9l5zs8471w4d4cs6l97w08j"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("check" ,check)))
+    (synopsis "Thin wrapper over POSIX syscalls")
+    (description
+     "The purpose of libfixposix is to offer replacements for parts of POSIX
+whose behaviour is inconsistent across *NIX flavours.")
+    (license license:boost1.0)))
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 2969228ee9..326805f70d 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -35,11 +35,13 @@
   #:use-module (gnu packages dav)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages time)
   #:use-module (gnu packages xml)
@@ -48,7 +50,7 @@
 (define-public libical
   (package
     (name "libical")
-    (version "3.0.4")
+    (version "3.0.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -56,7 +58,7 @@
                     version "/libical-" version ".tar.gz"))
               (sha256
                (base32
-                "0ifisnh42cw5z53hp9p52l3ggc7k877zlqk0n06gdhrk0bhidckj"))))
+                "1rkq9qkvbv76n6k6kc8pxhwj9vhyigkb6flfcn1rk6wwqk451mbs"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; test suite appears broken
@@ -76,7 +78,8 @@
                  (("\\\"/usr/share/lib/zoneinfo\\\"") "")))
              #t)))))
     (native-inputs
-     `(("perl" ,perl)
+     `(("gtk-doc" ,gtk-doc)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("glib" ,glib)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 2193a94f86..8d9778176f 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -162,8 +162,20 @@ libcdio.")
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))))
+               "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))
+             (patches
+              (search-patches "xorriso-no-partition-table-in-inner-efi.patch"
+                              "xorriso-no-mbr-in-inner-efi.patch"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-frontends
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (out-bin (string-append out "/bin")))
+               (install-file "frontend/grub-mkrescue-sed.sh" out-bin)
+               #t))))))
     (inputs
      `(("acl" ,acl)
        ("readline" ,readline)
@@ -713,16 +725,20 @@ session, and it can create M3U playlists.")
   (package
     (name "ripit")
     (version "3.9.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://www.suwald.com/ripit/ripit-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0ap71x477jy9c4jiqazb3y45hxdxm3jbq24x05g3vjyqzigi4x1b"))))
+    (source
+     (origin
+       (method url-fetch)
+       ;; The original suwald.com domain has expired.
+       (uri (list
+             (string-append "https://web.archive.org/web/20160327050927/"
+                            "http://suwald.com/ripit/ripit-" version ".tar.gz")
+             (string-append "https://ponce.cc/slackware/sources/repo/ripit-"
+                            version ".tar.gz")))
+       (sha256
+        (base32 "0ap71x477jy9c4jiqazb3y45hxdxm3jbq24x05g3vjyqzigi4x1b"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; No test suite.
+     `(#:tests? #f                      ; no test suite
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -744,7 +760,8 @@ session, and it can create M3U playlists.")
        ("vorbis-tools" ,vorbis-tools)
        ("wavpack" ,wavpack)
        ("perl-cddb-get" ,perl-cddb-get)))
-    (home-page "http://www.suwald.com/ripit/about.php")
+    (home-page (string-append "https://web.archive.org/web/20170119092156/"
+                              "http://www.suwald.com/ripit/about.php"))
     (synopsis "Command-line program to extract audio CDs")
     (description "RipIT is used to extract audio from CDs.")
     (license gpl2)))
@@ -867,7 +884,7 @@ CD data, and more.  It's mostly compatible with @code{cdrtools}.")
 (define-public libmirage
   (package
     (name "libmirage")
-    (version "3.2.0")
+    (version "3.2.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -875,7 +892,7 @@ CD data, and more.  It's mostly compatible with @code{cdrtools}.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "1ydph33sfxplp4872dp8ghp574jk5d4qr8hqz61qnznq1b11cnbr"))))
+                "0gwrfia0fyhi0b3p2pfyyvrcfcb0qysfzgpdqsqjqbx4xaqx5wpi"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -896,7 +913,7 @@ the data stored in various image formats.")
 (define-public cdemu-daemon
   (package
     (name "cdemu-daemon")
-    (version "3.2.1")
+    (version "3.2.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -904,7 +921,7 @@ the data stored in various image formats.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "171qqcziqgf6dd9n8xs9hc71krhjiyx9qr767s8znidyjj88hbc4"))))
+                "0himyrhhfjsr4ff5aci7240bpm9x34h20pid412ci8fm16nk929b"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -925,7 +942,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
 (define-public cdemu-client
   (package
     (name "cdemu-client")
-    (version "3.2.0")
+    (version "3.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -933,7 +950,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "1zwz987pb2pakfk9kz8a6xa9hq1ip48cn4ryl9z85dik8k2sizm9"))))
+                "1d8m24qvv62xcwafw5zs4yf39vs64kxl4idqcngd8yyjhrb2ykg5"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index ae3db7b10b..ee8815d522 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -76,7 +76,7 @@
 (define-public nss-certs
   (package
     (name "nss-certs")
-    (version "3.43")
+    (version "3.44")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -87,7 +87,7 @@
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "1jp27w4w9nj5pkzrbc1zqj6pa09h2yy7vhzyx5fvg1q86fvw22zk"))))
+                "1zvabgxlyvz3fnv4w89y4a5qkscjmm88naf929dgvvgfnrchwqm5"))))
     (build-system gnu-build-system)
     (outputs '("out"))
     (native-inputs
@@ -185,7 +185,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
            (uri "https://letsencrypt.org/certs/isrgrootx1.pem")
            (sha256
             (base32
-             "0zhd1ps7sz4w1x52xk3v7ng6d0rcyi7y7rcrplwkmilnq5hzjv1y"))))
+             "0zycy85ff9ga53z1q03df89ka9iihb9p8bjhw056rq2y4rn3b6ac"))))
        ;; "Let’s Encrypt Authority X3", the active Let's Encrypt intermediate
        ;; certificate.
        ("letsencryptauthorityx3.pem"
@@ -194,7 +194,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
            (uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem")
            (sha256
             (base32
-             "0zbamj6c7zqw1j9mbqygc8k1ykgj6xiisp9svmlif5lkbnyjhnkk"))))
+             "1kvac1dhm1d02bhrfj6l1cz1dpldz6ishb78zzvy8245zgvh7pdn"))))
        ;; "Let’s Encrypt Authority X4", the backup Let's Encrypt intermediate
        ;; certificate.  This will be used for disaster recovery and will only be
        ;; used should Let's Encrypt lose the ability to issue with "Let’s
@@ -205,7 +205,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
            (uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem")
            (sha256
             (base32
-             "003dc94c8qwj634h0dq743x7hqv9rdcfaisdksprkmi2jd107xq4"))))))
+             "0giiixknr0mls2ir6qqzb42mq7x9a7vz79gbn7fjszbf87pqhpzm"))))))
     (home-page "https://letsencrypt.org/certificates/")
     (synopsis "Let's Encrypt root and intermediate certificates")
     (description "This package provides a certificate store containing only the
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 9172c2c5e0..ac756736a8 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -430,7 +430,7 @@ test) much simpler.")
      `(("go-github.com-smartystreets-gunit" ,go-github.com-smartystreets-gunit)))
     (synopsis "Assertions for testing with Go")
     (description
-     "The @code{assertions} package provides convinient assertion functions
+     "The @code{assertions} package provides convenient assertion functions
 for writing tests in Go.")
     (home-page "https://github.com/smartystreets/assertions")
     (license license:expat)))
@@ -2058,13 +2058,13 @@ time by mocking the datetime module.")
 (define-public python-flexmock
   (package
     (name "python-flexmock")
-    (version "0.10.3")
+    (version "0.10.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "flexmock" version))
               (sha256
                (base32
-                "031c624pdqm7cc0xh4yz5k69gqxn2bbrjz13s17684q5shn0ik21"))))
+                "0b6qw3grhgx58kxlkj7mdma7xdvlj02zabvcf7w2qifnfjwwwcsh"))))
     (build-system python-build-system)
     (home-page "https://flexmock.readthedocs.org")
     (synopsis "Testing library for Python")
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 41cc10a8bb..005b21ad7b 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -223,8 +223,8 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %chromium-version "74.0.3729.131")
-(define %ungoogled-revision "9e33022f3ac7de2a12e3c7a7923799c9bbbf8194")
+(define %chromium-version "74.0.3729.169")
+(define %ungoogled-revision "d2beaeff47a6e97b8909163147ad6b4058238f36")
 (define %debian-revision "debian/74.0.3729.108-1")
 (define package-revision "0")
 
@@ -246,7 +246,7 @@ from forcing GEXP-PROMISE."
                                %chromium-version ".tar.xz"))
            (sha256
             (base32
-             "11m9mlzrqzmz7rhl0ff7lry2s4yjrdkfi36qfv48m1cg5y2cfy6i"))))
+             "1d0c3asfhqh6wlzngajcl0v2wn573m1jd1zqci9bcm3z048043q7"))))
         (ungoogled-source
          (origin
            (method git-fetch)
@@ -256,7 +256,7 @@ from forcing GEXP-PROMISE."
                                      (string-take %ungoogled-revision 7)))
            (sha256
             (base32
-             "08whx582p3a2nivkj7kwin09a8acybr00z6344smb9xjlxy9rkp4"))))
+             "04schaaqhnkrgh0p1p0wyjd5aybpxmj3kfnyipwy5nh7d39afymc"))))
         (debian-source
          (origin
            (method git-fetch)
diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm
index 8d6669cd22..3608d67bed 100644
--- a/gnu/packages/cluster.scm
+++ b/gnu/packages/cluster.scm
@@ -24,7 +24,7 @@
   #:use-module (guix packages)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls))
 
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 179b3fec50..e49654a6d5 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -41,7 +41,7 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages ncurses)
-  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-1))
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 09cca5d52e..c5dfa4aa7a 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -212,16 +212,16 @@ COCOMO model or user-provided parameters.")
 (define-public cloc
   (package
     (name "cloc")
-    (version "1.80")
+    (version "1.82")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/AlDanial/cloc/releases/download/v" version
-             "/cloc-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/AlDanial/cloc.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32
-         "0rqxnaskg5b736asyzfda1113zvpkajyqjf49vl9wgzf1r9m6bq8"))))
+        (base32 "0fsz07z0slfg58512fmnlj8pnxkc360bgf7fclg60v9clvcjbjsw"))))
     (build-system gnu-build-system)
     (inputs
      `(("coreutils" ,coreutils)
@@ -541,7 +541,7 @@ independent targets.")
 (define-public uncrustify
   (package
     (name "uncrustify")
-    (version "0.68.1")
+    (version "0.69.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -550,7 +550,7 @@ independent targets.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0gf6vjcfy8pl7idvwsd500ffj9hri62q0n79kpb6cnfprrqpbgf4"))))
+                "0sqrg13kp8fwymq40976bq380bzw40g4ss7ihlbq45d0f90ifa1k"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("unzip" ,unzip)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index c7a1645fd1..8f59087ff4 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2484,4 +2484,7 @@ and binaries, plus debugging symbols in the @code{debug} output), and Binutils."
 (define-public gcc-toolchain-8
   (make-gcc-toolchain gcc-8))
 
+(define-public gcc-toolchain-9
+  (make-gcc-toolchain gcc-9))
+
 ;;; commencement.scm ends here
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index bdf1576400..6c48af4fc9 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -25,6 +25,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ocaml)
   #:use-module (gnu packages perl)
@@ -42,7 +43,7 @@
 (define-public coq
   (package
     (name "coq")
-    (version "8.8.2")
+    (version "8.9.0")
     (source
      (origin
        (method git-fetch)
@@ -51,7 +52,7 @@
              (commit (string-append "V" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "03v8b57mz3ivsijwxy51avzwiyhla5ijaf98a5a2q29yabdq8dkp"))))
+        (base32 "01ad7az6f95w16xya7979lk32agy22lf4bqgqf5qpnarpkpxhbw8"))))
     (native-search-paths
      (list (search-path-specification
             (variable "COQPATH")
@@ -62,6 +63,8 @@
        ("python" ,python-2)
        ("camlp5" ,camlp5)
        ("ocaml-num" ,ocaml-num)))
+    (native-inputs
+     `(("ocaml-ounit" ,ocaml-ounit)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -231,14 +234,14 @@ inside Coq.")
 (define-public coq-gappa
   (package
     (name "coq-gappa")
-    (version "1.3.2")
+    (version "1.3.4")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
+              (uri (string-append "https://gforge.inria.fr/frs/download.php/file/37918/gappa-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
+                "1wdg07dk4lbq7dr80ywzna0lclwgi8bddzc6yfx19z1zn9yljzxh"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("ocaml" ,ocaml)
@@ -253,7 +256,8 @@ inside Coq.")
     (arguments
      `(#:configure-flags
        (list (string-append "--libdir=" (assoc-ref %outputs "out")
-                            "/lib/coq/user-contrib/Gappa"))
+                            "/lib/coq/user-contrib/Gappa")
+             "CXXFLAGS=-std=c++11")
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'fix-remake
@@ -281,7 +285,7 @@ assistant.")
 (define-public coq-mathcomp
   (package
     (name "coq-mathcomp")
-    (version "1.7.0")
+    (version "1.8.0")
     (source
      (origin
        (method git-fetch)
@@ -290,7 +294,7 @@ assistant.")
              (commit (string-append "mathcomp-" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1cdzi67jj440xkdpxm10aly80zpn56vjzj2ygb67iq3xpljlv95h"))))
+        (base32 "1sdrw3b6lc8crz02lp90a863rvyzhc9vcfsrdvc9m311yiaad4xv"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("ocaml" ,ocaml)
@@ -372,7 +376,7 @@ theorems between the two libraries.")
 (define-public coq-bignums
   (package
     (name "coq-bignums")
-    (version "8.8.0")
+    (version "8.9.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/coq/bignums/archive/V"
@@ -380,7 +384,7 @@ theorems between the two libraries.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
+                "0pmk9smw7a14wrfkvjlvmpxim4bsv6xnm5xkrlld2faqy74a044g"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("ocaml" ,ocaml)
@@ -450,7 +454,7 @@ Coq proof assistant.")
   ;; Latest commit on that branch, where work on supporting coq 8.6 and
   ;; more recent versions of coq happen.
   (let ((branch "coq86-devel")
-        (commit "d0d73557979796b3d4be7aac72135581c33f26f7"))
+        (commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
     (package
       (name "coq-autosubst")
       (version (git-version "1" branch commit))
@@ -461,7 +465,7 @@ Coq proof assistant.")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
-                 (base32 "1852xb5cwkjw3dlc0lp2sakwa40bjzw37qmwz4bn3vqazg1hnh6r"))))
+                 (base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
       (build-system gnu-build-system)
       (arguments
        `(#:tests? #f
@@ -495,16 +499,16 @@ uses Ltac to synthesize the substitution operation.")
 (define-public coq-equations
   (package
     (name "coq-equations")
-    (version "1.1")
+    (version "1.2-beta2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/mattam82/Coq-Equations.git")
-                    (commit (string-append "v" version "-8.8"))))
+                    (commit (string-append "v" version "-8.9"))))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "129rxsdsf88vjcw0xhm74yax1hmnk6f8n9ksg0hcyyjq1ijddiwa"))))
+                "0y2zwv7jxs1crprj5qvg46h0v9wyfn99ln40yskq91y9h1lj5h3j"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("ocaml"  ,ocaml)
@@ -532,3 +536,59 @@ compiles everything down to eliminators for inductive types, equality
 and accessibility, providing a definitional extension to the Coq
 kernel.")
     (license license:lgpl2.1)))
+
+(define-public coq-stdpp
+  (package
+    (name "coq-stdpp")
+    (version "1.2.0")
+    (synopsis "Alternative Coq standard library std++")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.mpi-sws.org/iris/stdpp.git")
+                    (commit (string-append "coq-stdpp-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "11m7kqxsbxygk41v2wsi3npdzwin9fcnzc1gn0gq0rd57wnqk83i"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("coq" ,coq)))
+    (arguments
+     `(#:tests? #f ;; the tests are being run automaticlly as part of `make all`
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
+             (invoke "make"
+                     (string-append "COQLIB=" (assoc-ref outputs "out")
+                                    "/lib/coq/")
+                     "install"))))))
+    (description "This project contains an extended \"Standard Library\" for
+Coq called coq-std++.  The key features are:
+@itemize
+@item Great number of definitions and lemmas for common data structures such
+as lists, finite maps, finite sets, and finite multisets.
+
+@item Type classes for common notations (like ∅, ∪, and Haskell-style monad
+notations) so that these can be overloaded for different data structures.
+
+@item It uses type classes to keep track of common properties of types, like
+it having decidable equality or being countable or finite.
+
+@item Most data structures are represented in canonical ways so that Leibniz
+equality can be used as much as possible (for example, for maps we have m1 =
+m2 iff ∀ i, m1 !! i = m2 !! i).  On top of that, the library provides setoid
+instances for most types and operations.
+
+@item Various tactics for common tasks, like an ssreflect inspired done tactic
+for finishing trivial goals, a simple breadth-first solver naive_solver, an
+equality simplifier simplify_eq, a solver solve_proper for proving
+compatibility of functions with respect to relations, and a solver set_solver
+for goals involving set operations.
+
+@item The library is dependency- and axiom-free.
+@end itemize")
+    (home-page "https://gitlab.mpi-sws.org/iris/stdpp")
+    (license license:bsd-3)))
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index e0af0dd1a9..9c060c70da 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
 ;;;
@@ -243,7 +243,7 @@ intuitive syntax and trivial integration.")
 (define-public xtl
   (package
     (name "xtl")
-    (version "0.4.14")
+    (version "0.6.4")
     (source (origin
               (method git-fetch)
               (uri
@@ -252,7 +252,7 @@ intuitive syntax and trivial integration.")
                 (commit version)))
               (sha256
                (base32
-                "0wwnd9adc1wav2299id17k5fbp0ib5gxkbihlk6jlh3v4i5nz11x"))
+                "0rwdw43fq7c581m6frzsd06h71sf7abk7danwa3cp6wd6cgkwdbk"))
               (file-name (git-file-name name version))))
     (native-inputs
      `(("googletest" ,googletest)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 3942c2fb0c..199dfbdbe4 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -165,14 +165,14 @@ read a protected key.")
 (define-public r-vegan
   (package
     (name "r-vegan")
-    (version "2.5-4")
+    (version "2.5-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vegan" version))
        (sha256
         (base32
-         "1q4khii0xbjwmkida0b35q8rmwhg325qizjwz6slkjhz250a85ji"))))
+         "0wb90ng02gi13854bjq0b8a2vrknyhb0s0l1v3z38c4zy9k54sw7"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -242,14 +242,14 @@ single step.")
 (define-public r-rvest
   (package
     (name "r-rvest")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rvest" version))
        (sha256
         (base32
-         "0vsm38w83zf0djcrc5ymb1ysg88hmgq2w937ql7pqgvk5px8f2mi"))))
+         "0ji5lk8g1gbv4d9c4jg1fg6rgsqrrwkm05j1id7drdw9kqdifgj1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-httr" ,r-httr)
@@ -292,14 +292,14 @@ package is a port of the Python package @code{cssselect}.")
 (define-public r-reprex
   (package
     (name "r-reprex")
-    (version "0.2.1")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reprex" version))
        (sha256
         (base32
-         "1ws5gds453xgfili87r35rz1wn2i7jbqissq98csbiddpkgls8sx"))))
+         "0v7vxzs8alwz8y1cjicpimp5yimf1g9gb8x5wy3zhvrz6kk2lg10"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-callr" ,r-callr)
@@ -339,7 +339,7 @@ such as copy/paste from an R session.")
     (synopsis "Call R from R")
     (description
      "It is sometimes useful to perform a computation in a separate R process,
-without affecting the current R process at all.  This packages does exactly
+without affecting the current R process at all.  This package does exactly
 that.")
     (license license:expat)))
 
@@ -1068,15 +1068,15 @@ embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.")
 (define-public r-amap
   (package
     (name "r-amap")
-    (version "0.8-16")
+    (version "0.8-17")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "amap" version))
               (sha256
                (base32
-                "1qnl2x98x64iaipkx5126rsddq2sx5ml43h75xyiyn30yvbmlxyk"))))
+                "1il94bkhl8192vawq4gr2gwyhqhid27jr2312rhvr72ssg8p713b"))))
     (build-system r-build-system)
-    (inputs
+    (native-inputs
      `(("gfortran" ,gfortran)))
     (home-page "http://mulcyber.toulouse.inra.fr/projects/amap/")
     (synopsis "Another multidimensional analysis package")
@@ -1561,21 +1561,19 @@ rows, dropping names) to see if the modified versions are identical.")
 (define-public r-dendextend
   (package
     (name "r-dendextend")
-    (version "1.10.0")
+    (version "1.12.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dendextend" version))
        (sha256
         (base32
-         "091jznl549d44w1h8kk1vwddzhijkyh0wpgkykd494fnc8rzpw48"))))
+         "0mgsc9qkr5p6hss3wychdjvk263ay48yx543wawj72l7q7cgx1xl"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-fpc" ,r-fpc)
-       ("r-ggplot2" ,r-ggplot2)
+     `(("r-ggplot2" ,r-ggplot2)
        ("r-magrittr" ,r-magrittr)
-       ("r-viridis" ,r-viridis)
-       ("r-whisker" ,r-whisker)))
+       ("r-viridis" ,r-viridis)))
     (home-page "https://cran.r-project.org/web/packages/dendextend")
     (synopsis "Extending 'dendrogram' functionality in R")
     (description
@@ -1727,14 +1725,14 @@ quantities.")
 (define-public r-progress
   (package
     (name "r-progress")
-    (version "1.2.0")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "progress" version))
        (sha256
         (base32
-         "1rhwm0bdw30z3rvl0bn56xprjl3zrdy7150w4gl4bkvn2d6h9fav"))))
+         "0dgzb362641aqm8xd88iqa8jmpdm43xs0aba0d5kk6fvapnxi95l"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-crayon" ,r-crayon)
@@ -2360,14 +2358,14 @@ the Kaplan-Meier and Aalen-Johansen methods.")
 (define-public r-dimred
   (package
     (name "r-dimred")
-    (version "0.2.2")
+    (version "0.2.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dimRed" version))
        (sha256
         (base32
-         "0ssy2qriiy6zdawriqcbl67qiq68ipml3frq7aqlq70r2fqyyw48"))))
+         "110d6y83ib1nfpxzmvkvb3fn3brskwkdbsk4dqrdrswrd4znxrg6"))))
     (properties `((upstream-name . "dimRed")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2549,14 +2547,14 @@ multivariate and 5 functional classification problems are included.")
 (define-public r-gower
   (package
     (name "r-gower")
-    (version "0.2.0")
+    (version "0.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gower" version))
        (sha256
         (base32
-         "0x16k0nixgbayh3g4didacn0gmnl5fdfxa0l323phphmimyj49zl"))))
+         "007ivwn1nagpi26qq8iih1c2l61c53glvv60n90hi341ry8vwgxg"))))
     (build-system r-build-system)
     (home-page "https://github.com/markvanderloo/gower")
     (synopsis "Gower's distance")
@@ -2773,14 +2771,14 @@ for certain use cases.")
 (define-public r-ggrepel
   (package
     (name "r-ggrepel")
-    (version "0.8.0")
+    (version "0.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggrepel" version))
        (sha256
         (base32
-         "1m3p84d6nh9mzzvxb82vgig3ngcvkz86rjwzl9a66ckdf5p611k3"))))
+         "10vjrcmx8yknfbx93d9a4y3z8gafri0fhimw6hcq733dmdvkml6m"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
@@ -2967,14 +2965,14 @@ analysis of multiply imputed data sets.")
 (define-public r-mice
   (package
     (name "r-mice")
-    (version "3.4.0")
+    (version "3.5.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mice" version))
        (sha256
         (base32
-         "0rdamj1j9z3kxmi27pc79v6mhh8rgxaxz4xz70ybf8kqh2x66cgm"))))
+         "0icydc312sbvzbp0r0mhs2r77a2ly2xvz5w5amirz3wdkvgyrk2g"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-broom" ,r-broom)
@@ -3330,7 +3328,7 @@ normalizations, minimum variance matching, and so on.")
     (propagated-inputs `(("r-r-utils" ,r-r-utils)))
     (home-page "http://www.rforge.net/SDMTools/")
     (synopsis "Species distribution modelling tools")
-    (description "This packages provides a set of tools for post processing
+    (description "This package provides a set of tools for post processing
 the outcomes of species distribution modeling exercises.  It includes novel
 methods for comparing models and tracking changes in distributions through
 time.  It further includes methods for visualizing outcomes, selecting
@@ -3469,14 +3467,14 @@ constants, and control debugging of packages via environment variables.")
 (define-public r-processx
   (package
     (name "r-processx")
-    (version "3.3.0")
+    (version "3.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "processx" version))
        (sha256
         (base32
-         "0ipdcl4080z92jdnd1w4hm4w484spxcrp6j5x9p76ksb401qdca1"))))
+         "1bhbfacx2z2d97pz5bch45nvbvywhx2zp049czlfbdivkzgxn8v1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ps" ,r-ps)
@@ -3617,14 +3615,14 @@ iVAT).")
 (define-public r-xfun
   (package
     (name "r-xfun")
-    (version "0.6")
+    (version "0.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xfun" version))
        (sha256
         (base32
-         "123wmnykmlq9prqx1g9ij9vyqx25pib2jnqjrwy39rfmzbsypbx3"))))
+         "1gllyyjhkvswcwa15h1f3kb1l1drs2ifpxy4jjanmmhaj7wcmvy9"))))
     (build-system r-build-system)
     (home-page "https://github.com/yihui/xfun")
     (synopsis "Miscellaneous functions")
@@ -3653,24 +3651,84 @@ international text (Unicode).  Input, validate, normalize, encode, format, and
 display.")
     (license license:asl2.0)))
 
+(define-public r-zeallot
+  (package
+    (name "r-zeallot")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "zeallot" version))
+       (sha256
+        (base32
+         "1sd1igcfnv27pa3bqxlbyxchi562h7grnjg1l7wxx3bwr49i57s3"))))
+    (build-system r-build-system)
+    (home-page "https://github.com/nteetor/zeallot")
+    (synopsis "Multiple, unpacking, and destructuring assignment")
+    (description
+     "This package provides a @code{%<-%} operator to perform multiple,
+unpacking, and destructuring assignment in R.  The operator unpacks the
+right-hand side of an assignment into multiple values and assigns these values
+to variables on the left-hand side of the assignment.")
+    (license license:expat)))
+
+(define-public r-vctrs
+  (package
+    (name "r-vctrs")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "vctrs" version))
+       (sha256
+        (base32
+         "13w1r8zpalirpfaz5sykpn0mj4jmhxi2qkdcfq081ixlfjyzwa6c"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-backports" ,r-backports)
+       ("r-digest" ,r-digest)
+       ("r-glue" ,r-glue)
+       ("r-rlang" ,r-rlang)
+       ("r-zeallot" ,r-zeallot)))
+    (home-page "https://github.com/r-lib/vctrs")
+    (synopsis "Vector helpers")
+    (description
+     "There are three main goals to the @code{vctrs} package:
+
+@enumerate
+@item To propose @code{vec_size()} and @code{vec_type()} as alternatives to
+  @code{length()} and @code{class()}.  These definitions are paired with a
+  framework for type-coercion and size-recycling.
+@item To define type- and size-stability as desirable function properties, use
+  them to analyse existing base function, and to propose better alternatives.
+  This work has been particularly motivated by thinking about the ideal
+  properties of @code{c()}, @code{ifelse()}, and @code{rbind()}.
+@item To provide a new @code{vctr} base class that makes it easy to create new
+  S3 vectors.  @code{vctrs} provides methods for many base generics in terms of
+  a few new @code{vctrs} generics, making implementation considerably simpler
+  and more robust.
+@end enumerate\n")
+    (license license:gpl3)))
+
 (define-public r-pillar
   (package
     (name "r-pillar")
-    (version "1.3.1")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pillar" version))
        (sha256
         (base32
-         "1xnbb9sr5wn9dmp6m7cr4z7i6pmjvyabnfcx6x7i7mvdjmgvaf5k"))))
+         "1c8rwwh677vc92f4k6qj4mxl3acran1iqdv5dj6r1dyv7fvmcvfx"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cli" ,r-cli)
        ("r-crayon" ,r-crayon)
        ("r-fansi" ,r-fansi)
        ("r-rlang" ,r-rlang)
-       ("r-utf8" ,r-utf8)))
+       ("r-utf8" ,r-utf8)
+       ("r-vctrs" ,r-vctrs)))
     (home-page "https://github.com/r-lib/pillar")
     (synopsis "Coloured formatting for columns")
     (description
@@ -3701,14 +3759,14 @@ terminals.")
 (define-public r-tinytex
   (package
     (name "r-tinytex")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tinytex" version))
        (sha256
         (base32
-         "03ggxbd4y1ipcmjw5ixa6g6wg4ydargnln7g08bdrdi96zyyq1fh"))))
+         "1bbphyrbk2rnyi0jhw4hj2w4l84kyhb0km901qd5qnnl0cy6dzvb"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-xfun" ,r-xfun)))
@@ -4288,23 +4346,21 @@ exponentiation.")
 (define-public r-heatmaply
   (package
     (name "r-heatmaply")
-    (version "0.15.2")
+    (version "0.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "heatmaply" version))
        (sha256
         (base32
-         "0h8s5djzj4mrmaswlcaap6jbwxrkbzc43bbqik3qf8vrqz335w04"))))
+         "1qhxk48qh61qjxdlhl0qffdh3yh8iiwccid5ssngdv433q0cmyc1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
        ("r-colorspace" ,r-colorspace)
        ("r-dendextend" ,r-dendextend)
        ("r-ggplot2" ,r-ggplot2)
-       ("r-gplots" ,r-gplots)
        ("r-htmlwidgets" ,r-htmlwidgets)
-       ("r-knitr" ,r-knitr) ; needed for vignettes
        ("r-magrittr" ,r-magrittr)
        ("r-plotly" ,r-plotly)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
@@ -4427,6 +4483,33 @@ files.")
 environment within Shiny.")
     (license license:expat)))
 
+(define-public r-base64url
+  (package
+    (name "r-base64url")
+    (version "1.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "base64url" version))
+       (sha256
+        (base32
+         "0n1c2b68vza1dh7sk38v6biiwm72c4jpl79kpdg1bsb0hq9qy18x"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-backports" ,r-backports)))
+    (home-page "https://github.com/mllg/base64url")
+    (synopsis "Fast and URL-safe base64 encoder and decoder")
+    (description
+     "This package provides a URL-safe base64 encoder and decoder.  In
+contrast to RFC3548, the 62nd character (@code{+}) is replaced with @code{-},
+the 63rd character (@code{/}) is replaced with @code{_}.  Furthermore, the
+encoder does not fill the string with trailing @code{=}.  The resulting
+encoded strings comply to the regular expression pattern @code{[A-Za-z0-9_-]}
+and thus are safe to use in URLs or for file names.  The package also comes
+with a simple base32 encoder/decoder suited for case insensitive file
+systems.")
+    (license license:gpl3)))
+
 (define-public r-radiant-data
   (package
     (name "r-radiant-data")
@@ -4818,15 +4901,17 @@ and Eclat.")
 (define-public r-parsedate
   (package
     (name "r-parsedate")
-    (version "1.1.3")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parsedate" version))
        (sha256
         (base32
-         "0mg7hbm3903iwvmpn51gjpaaq03rsp72hjb1g8h5g84r81iha002"))))
+         "0gb3w6hmwxayhijpf36p5dk4h6bbdps57x3cgikwvvxkgi83rarr"))))
     (build-system r-build-system)
+    (propagated-inputs
+     `(("r-rematch2" ,r-rematch2)))
     (home-page "https://github.com/gaborcsardi/parsedate")
     (synopsis
      "Recognize and parse dates in various formats")
@@ -4890,14 +4975,14 @@ misclassification probabilities of different models.")
 (define-public r-zip
   (package
     (name "r-zip")
-    (version "2.0.1")
+    (version "2.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "zip" version))
        (sha256
         (base32
-         "0cchbzp2s2qz7r4n9qdwgfgik5xzr0dzxmj25r8435i85k86ysi1"))))
+         "1xvgs7mhxi0sdp5ix4nisqm9lf8f75b7ip7b1hqpq9bzh0x6z8ix"))))
     (build-system r-build-system)
     (home-page "https://github.com/gaborcsardi/zip")
     (synopsis "Cross-platform Zip compression")
@@ -5774,14 +5859,14 @@ intervals.")
 (define-public r-snakecase
   (package
     (name "r-snakecase")
-    (version "0.9.2")
+    (version "0.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "snakecase" version))
        (sha256
         (base32
-         "1g6xai53dl24ws0mwhqrkcv583ziaq505cv3z8v5dhjgy98kilyj"))))
+         "0325zkpyqa15lx7biq2cbimr2773332bp4jvcvnl00bjx41ia2fm"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-stringi" ,r-stringi)
@@ -5820,14 +5905,14 @@ other add-on packages.")
 (define-public r-insight
   (package
     (name "r-insight")
-    (version "0.2.0")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "insight" version))
        (sha256
         (base32
-         "0fn9cd5qxqlpjv3d05mk66k5z5ll60x5la51mby5h7k4l6bqmsiz"))))
+         "1r288hc01cpyrk3nias30fw783z2vw20qr1k67vr65anh7mwm7vb"))))
     (build-system r-build-system)
     (home-page "https://easystats.github.io/insight/")
     (synopsis "Easy access to model information for various model objects")
@@ -5952,14 +6037,14 @@ functions.")
 (define-public r-flextable
   (package
     (name "r-flextable")
-    (version "0.5.2")
+    (version "0.5.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "flextable" version))
        (sha256
         (base32
-         "0sabdvkdlx5i1nr7nz68cappwsibzsjxpmiz3yp948ckbfmkdb27"))))
+         "0h6ylgz1mn61d2kh1bym8hfl3r7nf4z092lmjsaav3h1ki3avrnl"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-base64enc" ,r-base64enc)
@@ -6648,14 +6733,14 @@ used to teach mathematics, statistics, computation and modeling.")
 (define-public r-raster
   (package
     (name "r-raster")
-    (version "2.8-19")
+    (version "2.9-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "raster" version))
        (sha256
         (base32
-         "1lmhf7p7is8ai7lv7zsj2rdzf83j7ccl4x7a9vwxxa824zy4bkf4"))))
+         "0ljrymsp4zzaxdj1l0mw0a6hi88m5h0h920ixfzrg0szbyxqd0yk"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-rcpp" ,r-rcpp)
@@ -7885,14 +7970,14 @@ effects models and Bayesian models.")
 (define-public r-ggeffects
   (package
     (name "r-ggeffects")
-    (version "0.9.0")
+    (version "0.10.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggeffects" version))
        (sha256
         (base32
-         "1bbr44yk1j8pz4kcbw1cqrzcnbih9n6rsgf96a6py5094qcal2qd"))))
+         "0gmqzjk8k8q6j4q6asv9f3b1fv4qrw5w8xa48ha3y98shzm5np9k"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-dplyr" ,r-dplyr)
@@ -8012,14 +8097,14 @@ back to file after modifications.")
 (define-public r-fs
   (package
     (name "r-fs")
-    (version "1.2.7")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fs" version))
        (sha256
         (base32
-         "03aq2ill03ladsa4438nrz213ks2mqhxsrb9fjsp62bhk36v8k1a"))))
+         "1g26rgx13dzigp2vrlld6h28q33lwbax97zvwdrq2pc3iz54v4yn"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-rcpp" ,r-rcpp)))
@@ -8158,14 +8243,14 @@ directories or URLs with their associated programs.")
 (define-public r-rcmdcheck
   (package
     (name "r-rcmdcheck")
-    (version "1.3.2")
+    (version "1.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "rcmdcheck" version))
        (sha256
         (base32
-         "0ys1nd7690mhwzslyzg8fq1wxr28nz8g6av5iykkrshb8lkxg7ly"))))
+         "1d4kzgfqy72r6b7bn1j4znyksrycgypx1jjvpv9lrmvn37mpkdhs"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-callr" ,r-callr)
@@ -8533,14 +8618,14 @@ address a bug.")
 (define-public r-rcppannoy
   (package
     (name "r-rcppannoy")
-    (version "0.0.11")
+    (version "0.0.12")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RcppAnnoy" version))
        (sha256
         (base32
-         "1ik50ancfgcvh03n4jsqwjk8lf056rbgd70q4l4didmvh5kcyjd1"))))
+         "1b0fmip9c4i0my1yjrvqy8jxfiiqcggq2kms135q0b53njxnqwwg"))))
     (properties `((upstream-name . "RcppAnnoy")))
     (build-system r-build-system)
     (propagated-inputs
@@ -8557,6 +8642,28 @@ This package provides an R interface.")
     ;; GPLv2+.
     (license (list license:gpl2+ license:asl2.0))))
 
+(define-public r-rcpphnsw
+  (package
+    (name "r-rcpphnsw")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "RcppHNSW" version))
+       (sha256
+        (base32
+         "158a069n42pbnjrlmvqsr6bm2cfp9hxpnk3nhp3dwi9qjlq4r9bm"))))
+    (properties `((upstream-name . "RcppHNSW")))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-rcpp" ,r-rcpp)))
+    (home-page "https://cran.r-project.org/web/packages/RcppHNSW/")
+    (synopsis "Rcpp bindings for hnswlib, a library for approximate nearest neighbors")
+    (description
+     "Hnswlib is a C++ library for approximate nearest neighbors.  This
+package provides a minimal R interface by relying on the Rcpp package.")
+    ;; hnswlib is released under Version 2.0 of the Apache License.
+    (license (list license:gpl3 license:asl2.0))))
+
 (define-public r-ncdf4
   (package
     (name "r-ncdf4")
@@ -8824,14 +8931,14 @@ circular variables).")
 (define-public r-ouch
   (package
     (name "r-ouch")
-    (version "2.11-1")
+    (version "2.14-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ouch" version))
        (sha256
         (base32
-         "0xkwwi62vdahlcg3k32zb1nfwsx87zdssk79mvcxgfsw9bw4gahx"))))
+         "0ddf9bw5lhj8vb0ja78jf99i0smq4rgmm842k4a4ygap41vdyn2b"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-subplex" ,r-subplex)))
     (home-page "http://kingaa.github.io/ouch/")
@@ -9357,7 +9464,7 @@ diagnostics for controlling type-1 errors are also provided.")
     (home-page "https://cran.r-project.org/web/packages/flare")
     (synopsis "Family of Lasso regression implementations")
     (description
-     "This packages provides implementations of a family of Lasso variants
+     "This package provides implementations of a family of Lasso variants
 including Dantzig Selector, LAD Lasso, SQRT Lasso, Lq Lasso for estimating
 high dimensional sparse linear models.")
     (license license:gpl2)))
@@ -9554,14 +9661,14 @@ handling.")
 (define-public r-grimport
   (package
     (name "r-grimport")
-    (version "0.9-1.1")
+    (version "0.9-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "grImport" version))
        (sha256
         (base32
-         "19d05ygpiv47lfzhfih35pdfll0axbrgd6p86l59mmg2d0j0s8bd"))))
+         "0n3y6dzy8s0ifvyrgwbly6cl14lmgd54dyi74s5i984apszpsp16"))))
     (properties `((upstream-name . "grImport")))
     (build-system r-build-system)
     (inputs
@@ -9575,6 +9682,37 @@ handling.")
 PostScript pictures in R plots.")
     (license license:gpl2+)))
 
+(define-public r-grimport2
+  (package
+    (name "r-grimport2")
+    (version "0.1-5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "grImport2" version))
+       (sha256
+        (base32
+         "0dyb3nrrvxnkk9q5b136bdivcz1jj3ajx1kscm3k0kkpqjif0pls"))))
+    (properties `((upstream-name . "grImport2")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-base64enc" ,r-base64enc)
+       ("r-jpeg" ,r-jpeg)
+       ("r-png" ,r-png)
+       ("r-xml" ,r-xml)))
+    (home-page "https://cran.r-project.org/web/packages/grImport2/")
+    (synopsis "Import SVG graphics")
+    (description
+     "This package provides functions for importing external vector images and
+drawing them as part of R plots.  This package is different from the
+@code{grImport} package because, where that package imports PostScript format
+images, this package imports SVG format images.  Furthermore, this package
+imports a specific subset of SVG, so external images must be preprocessed
+using a package like @code{rsvg} to produce SVG that this package can import.
+SVG features that are not supported by R graphics, such as gradient fills, can
+be imported and then exported via the @code{gridSVG} package.")
+    (license license:gpl2+)))
+
 (define-public r-kohonen
   (package
     (name "r-kohonen")
@@ -9791,14 +9929,14 @@ and manipulating sets of ontological terms.")
 (define-public r-bigrquery
   (package
     (name "r-bigrquery")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bigrquery" version))
        (sha256
         (base32
-         "0h2nzyn1w0padpl61l467j7vlkc2wair7sh6p26p94z4zfsnv0i1"))))
+         "1if39xkr231xmjq10fx2g7bgg4jgfd3wzx1p9g3pq4hbf2s6x0is"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -10343,14 +10481,14 @@ Differences with other sparse matrix packages are:
 (define-public r-fields
   (package
     (name "r-fields")
-    (version "9.7")
+    (version "9.8-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "fields" version))
        (sha256
         (base32
-         "0hsr6r0zyv8zqkfyd9fmjk6v901m2r8pmswvsmps6w5zvpi0p5kw"))))
+         "1zb44bm9mwbnld2q915nxxji3hqa025cmlaar7da35lyqlrjl30v"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-maps" ,r-maps)
@@ -10822,14 +10960,14 @@ them in distributed compute environments.")
 (define-public r-future
   (package
     (name "r-future")
-    (version "1.12.0")
+    (version "1.13.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "future" version))
        (sha256
         (base32
-         "12hq7hsfydlscwrb37ns9a8561bzpsp82nn7jrcyj0ydk610nipm"))))
+         "0h8ng2a6vg4axd5f75xcb3ip9d95zi22fa048dq2bzlnncwlznjz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-digest" ,r-digest)
@@ -10951,7 +11089,7 @@ using @code{S3}.")
     (build-system r-build-system)
     (propagated-inputs `(("r-mass" ,r-mass)))
     (home-page "https://cran.r-project.org/web/packages/capushe/index.html")
-    (synopsis "Calibrating penalities using slope heuristics")
+    (synopsis "Calibrating penalties using slope heuristics")
     (description
      "This package provides tools for the calibration of penalized criteria
 for model selection.  The calibration methods available are based on the slope
@@ -11244,14 +11382,14 @@ such software by imputing dropout events.")
 (define-public r-gamlss-dist
   (package
     (name "r-gamlss-dist")
-    (version "5.1-3")
+    (version "5.1-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gamlss.dist" version))
        (sha256
         (base32
-         "0154pm1f3g77krj0gxh9icz207pshdrxihb6gjv1k5aph8y69zc7"))))
+         "0zi87lgigr83l35zqq1y1g4cdq6ssjamripzz7yis74aznh6qg1l"))))
     (properties `((upstream-name . "gamlss.dist")))
     (build-system r-build-system)
     (propagated-inputs `(("r-mass" ,r-mass)))
@@ -11671,14 +11809,14 @@ compatible with @code{rzmq} are also provided.")
 (define-public r-repr
   (package
     (name "r-repr")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "repr" version))
        (sha256
         (base32
-         "0j8z4sl67fgnbywkhgg0bns68mbgf9iqnw4qiym2rjy1b08fpclq"))))
+         "0jy43g34r38fqprcdys0p9pliahrj5l64a9bbkzy206qgz0j5ppc"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-base64enc" ,r-base64enc)
@@ -11718,14 +11856,14 @@ running IRkernel session.")
 (define-public r-irkernel
   (package
     (name "r-irkernel")
-    (version "1.0.0")
+    (version "1.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "IRkernel" version))
        (sha256
         (base32
-         "0i5gpis2g30zi96h9r9awbw4724xd6p4sv8y7shyfzgc4qccpizp"))))
+         "1gij59b068qp7sbn9d0b9ghmnhfks15a9anj7bp26acv0yvdsg3s"))))
     (properties `((upstream-name . "IRkernel")))
     (build-system r-build-system)
     (arguments
@@ -12160,14 +12298,14 @@ utilities for sequence data management under the ACNUC system.")
 (define-public r-units
   (package
     (name "r-units")
-    (version "0.6-2")
+    (version "0.6-3")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "units" version))
         (sha256
           (base32
-            "0w7iwp8c66d5gj4rsb8c87vb0ja39hym6fmfnqaqwb3is1snfa2y"))))
+            "0kx640h60s3zzkdr302asap7diap6vri6d41scnx507yvkcqiph3"))))
     (build-system r-build-system)
     (inputs
      `(("udunits" ,udunits)))
@@ -12757,13 +12895,13 @@ SELECT or UPDATE queries to an end-point.")
 (define-public r-bookdown
   (package
     (name "r-bookdown")
-    (version "0.9")
+    (version "0.10")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "bookdown" version))
               (sha256
                (base32
-                "0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32"))))
+                "0xk57p9iyj7rqrwb89q3pm8p29ca615fj1h9blf5yb3zhga4bjk3"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-htmltools" ,r-htmltools)
@@ -13182,14 +13320,14 @@ yeast.")
 (define-public r-gridgraphics
   (package
     (name "r-gridgraphics")
-    (version "0.3-0")
+    (version "0.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gridGraphics" version))
        (sha256
         (base32
-         "1p94flvq5h3x817pl1m0aj3sim87x6zdbpv9xrgdnqw3rxfzwgqs"))))
+         "1kr3p54bkv2q7agxrva30y9bkwkiq1k2cfl5z1kvyjv6f5xi4w5p"))))
     (properties `((upstream-name . "gridGraphics")))
     (build-system r-build-system)
     (home-page "https://github.com/pmur002/gridgraphics")
@@ -13718,14 +13856,14 @@ in-memory raw vectors.")
 (define-public r-ggcorrplot
   (package
     (name "r-ggcorrplot")
-    (version "0.1.2")
+    (version "0.1.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggcorrplot" version))
        (sha256
         (base32
-         "12sxvd9kjgszpbk35m7fj1wv7x40bp79c0g0by1xax70r3495h93"))))
+         "0hi9lz121ya1l2lbm7rqlxg6fs6bvxck396dngnidrhl5fvqb41b"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
@@ -14002,14 +14140,14 @@ batch correction, and data correction.")
 (define-public r-styler
   (package
     (name "r-styler")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "styler" version))
        (sha256
         (base32
-         "1z24mi88snbz1avjw9phq0lzmigddvycc56s83nxzr9w9z85mh05"))))
+         "1k660lpjvd64gnf6bndcb1cq3qxsvik928kcn6271zmkhja5rgyb"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-backports" ,r-backports)
@@ -14028,3 +14166,356 @@ batch correction, and data correction.")
      "This is a package for pretty-printing R code without changing the user's
 formatting intent.")
     (license license:gpl3)))
+
+(define-public r-scrime
+  (package
+    (name "r-scrime")
+    (version "1.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "scrime" version))
+       (sha256
+        (base32
+         "0y2mh9fsffjf3i15bafpasa17z99c1s75r8g6h4hgcwfgpjx75sx"))))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/scrime/")
+    (synopsis "Analysis of high-dimensional categorical data such as SNP data")
+    (description
+     "This package provides tools for the analysis of high-dimensional data
+developed/implemented at the group \"Statistical Complexity Reduction In
+Molecular Epidemiology\" (SCRIME).  The main focus is on SNP data, but most of
+the functions can also be applied to other types of categorical data.")
+    (license license:gpl2)))
+
+(define-public r-blme
+  (package
+    (name "r-blme")
+    (version "1.0-4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "blme" version))
+       (sha256
+        (base32
+         "1ca2b0248k0fj3lczn9shfjplz1sl4ay4v6djldizp2ch2vwdgy2"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-lme4" ,r-lme4)))
+    (home-page "https://github.com/vdorie/blme")
+    (synopsis "Bayesian linear mixed-effects models")
+    (description
+     "This package provides tools for maximum a posteriori estimation for
+linear and generalized linear mixed-effects models in a Bayesian setting.  It
+extends the lme4 package.")
+    (license license:gpl2+)))
+
+(define-public r-batchtools
+  (package
+    (name "r-batchtools")
+    (version "0.9.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "batchtools" version))
+       (sha256
+        (base32
+         "02mj21ypcjv5fs7ajf63p6bq0cyvihdl55hlpqx6kmsfjin1cr0v"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-backports" ,r-backports)
+       ("r-base64url" ,r-base64url)
+       ("r-brew" ,r-brew)
+       ("r-checkmate" ,r-checkmate)
+       ("r-data-table" ,r-data-table)
+       ("r-digest" ,r-digest)
+       ("r-fs" ,r-fs)
+       ("r-progress" ,r-progress)
+       ("r-r6" ,r-r6)
+       ("r-rappdirs" ,r-rappdirs)
+       ("r-stringi" ,r-stringi)
+       ("r-withr" ,r-withr)))
+    (home-page "https://github.com/mllg/batchtools")
+    (synopsis "Tools for computation on batch systems")
+    (description
+     "As a successor of the packages BatchJobs and BatchExperiments, this
+package provides a parallel implementation of the Map function for high
+performance computing systems managed by various schedulers.  A multicore and
+socket mode allow the parallelization on a local machines, and multiple
+machines can be hooked up via SSH to create a makeshift cluster.  Moreover,
+the package provides an abstraction mechanism to define large-scale computer
+experiments in a well-organized and reproducible way.")
+    (license license:lgpl3)))
+
+(define-public r-clue
+  (package
+    (name "r-clue")
+    (version "0.3-57")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "clue" version))
+       (sha256
+        (base32
+         "05rdcahawxlxci3fjxihjvvh33wqpxw50sx015165ab4nh3rsdkf"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-cluster" ,r-cluster)))
+    (home-page "https://cran.r-project.org/web/packages/clue/")
+    (synopsis "Tools for analyzing cluster ensembles")
+    (description "Cluster ensembles are collections of individual solutions to
+a given clustering problem which are useful or necessary to consider in a wide
+range of applications.  This R package provides an extensible computational
+environment for creating and analyzing cluster ensembles, with basic data
+structures for representing partitions and hierarchies, and facilities for
+computing on them, including methods for measuring proximity and obtaining
+consensus and secondary clusterings.")
+    (license license:gpl2)))
+
+(define-public r-sitmo
+  (package
+    (name "r-sitmo")
+    (version "2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "sitmo" version))
+       (sha256
+        (base32
+         "0apdhwy3kxs39agsbvx5vn3xsgb22bf3jrwmr2cmqk9kmxbx740c"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-rcpp" ,r-rcpp)))
+    (home-page "https://github.com/coatless/sitmo/")
+    (synopsis "Parallel pseudo random number generator header files")
+    (description
+     "This package provides two high quality and fast PPRNGs that may be used
+in an OpenMP parallel environment.  In addition, there is a generator for one
+dimensional low-discrepancy sequence.")
+    (license license:expat)))
+
+(define-public r-dqrng
+  (package
+    (name "r-dqrng")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "dqrng" version))
+       (sha256
+        (base32
+         "0rp8q5zijlvaqmpnkwr314w9w40sj4fz7sqsdgsffcfvn42w2jg1"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-rcpp" ,r-rcpp)
+       ("r-sitmo" ,r-sitmo)))
+    (home-page "https://www.daqana.org/dqrng")
+    (synopsis "Fast pseudo random number generators")
+    (description
+     "Several fast random number generators are provided as C++ header-only
+libraries: the PCG family as well as Xoroshiro128+ and Xoshiro256+.
+Additionally, fast functions for generating random numbers according to a
+uniform, normal and exponential distribution are included.  The latter two use
+the Ziggurat algorithm originally proposed by Marsaglia and Tsang.  These
+functions are exported to R and as a C++ interface and are enabled for use
+with the default 64 bit generator from the PCG family, Xoroshiro128+ and
+Xoshiro256+ as well as the 64 bit version of the 20 rounds Threefry
+engine (Salmon et al., 2011) as provided by the package @code{sitmo}.")
+    ;; This package includes code under CC0 and Apache 2.0 or Expat, but as a
+    ;; whole is distributed under the terms of the AGPL 3.
+    (license license:agpl3)))
+
+(define-public r-dalex
+  (package
+    (name "r-dalex")
+    (version "0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "DALEX" version))
+       (sha256
+        (base32
+         "1mr8lqq8s4aacmh7xdhmkmv8vsjqjczlqlaw27xnsljgj2kgq87a"))))
+    (properties `((upstream-name . "DALEX")))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-ggplot2" ,r-ggplot2)))
+    (home-page "https://pbiecek.github.io/DALEX/")
+    (synopsis "Descriptive machine learning explanations")
+    (description
+     "Machine Learning models are widely used and have various applications in
+classification or regression.  Models created with boosting, bagging, stacking
+or similar techniques are often used due to their high performance, but such
+black-box models usually lack interpretability.  The DALEX package contains
+various explainers that help to understand the link between input variables
+and model output.")
+    ;; Any version of the GPL
+    (license license:gpl3+)))
+
+(define-public r-enrichr
+  (package
+    (name "r-enrichr")
+    (version "1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "enrichR" version))
+       (sha256
+        (base32
+         "0lfdr45sdyqhvgz8q4qdbk12mpv86d6id665kq6aaslgr8jggfmn"))))
+    (properties `((upstream-name . "enrichR")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-httr" ,r-httr)
+       ("r-rjson" ,r-rjson)))
+    (home-page "https://cran.r-project.org/web/packages/enrichR/")
+    (synopsis "R Interface to Enrichr database for analyzing gene sets")
+    (description
+     "This package provides an R interface to all Enrichr databases, a
+web-based tool for analyzing gene sets and returns any enrichment of common
+annotated biological functions.")
+    (license license:gpl2+)))
+
+(define-public r-plot3d
+  (package
+    (name "r-plot3d")
+    (version "1.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "plot3D" version))
+       (sha256
+        (base32
+         "0chn70fqwyca8lbnjnpbcj08ni0dfbax2gjmzhk2c4w72c04mzpn"))))
+    (properties `((upstream-name . "plot3D")))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-misc3d" ,r-misc3d)))
+    (home-page "https://cran.r-project.org/web/packages/plot3D")
+    (synopsis "Plot multi-dimensional data")
+    (description
+     "This package provides functions for viewing 2D and 3D data, including
+perspective plots, slice plots, surface plots, scatter plots, etc.  It
+includes data sets from oceanography.")
+    (license license:gpl3+)))
+
+(define-public r-ggfortify
+  (package
+    (name "r-ggfortify")
+    (version "0.4.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ggfortify" version))
+       (sha256
+        (base32
+         "1clyha9f9ygma64xbgi78lxsp1203f2ashqhhdpm71nr6w91bm88"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-dplyr" ,r-dplyr)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-gridextra" ,r-gridextra)
+       ("r-scales" ,r-scales)
+       ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)
+       ("r-tidyr" ,r-tidyr)))
+    (home-page "https://github.com/sinhrks/ggfortify")
+    (synopsis "Data visualization tools for statistical analysis results")
+    (description
+     "This package provides unified plotting tools for statistics commonly
+used, such as GLM, time series, PCA families, clustering and survival
+analysis.  The package offers a single plotting interface for these analysis
+results and plots in a unified style using the @code{ggplot2} package.")
+    (license license:gpl2)))
+
+(define-public r-refmanager
+  (package
+    (name "r-refmanager")
+    (version "1.2.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "RefManageR" version))
+       (sha256
+        (base32
+         "1hfxa1qacfryk36mpaqdhdgws5jwxiyy489ikd3wa18bp1wz8dkp"))))
+    (properties `((upstream-name . "RefManageR")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bibtex" ,r-bibtex)
+       ("r-httr" ,r-httr)
+       ("r-jsonlite" ,r-jsonlite)
+       ("r-lubridate" ,r-lubridate)
+       ("r-plyr" ,r-plyr)
+       ("r-stringr" ,r-stringr)
+       ("r-xml2" ,r-xml2)))
+    (home-page "https://github.com/ropensci/RefManageR/")
+    (synopsis "Straightforward BibTeX and BibLaTeX bibliography management")
+    (description
+     "This package provides tools for importing and working with bibliographic
+references.  It greatly enhances the @code{bibentry} class by providing a
+class @code{BibEntry} which stores BibTeX and BibLaTeX references, supports
+UTF-8 encoding, and can be easily searched by any field, by date ranges, and
+by various formats for name lists (author by last names, translator by full
+names, etc.).  Entries can be updated, combined, sorted, printed in a number
+of styles, and exported.  BibTeX and BibLaTeX @code{.bib} files can be read
+into R and converted to @code{BibEntry} objects.")
+    ;; Any of these licenses may be picked.
+    (license (list license:gpl2 license:gpl3 license:bsd-3))))
+
+(define-public r-citr
+  (package
+    (name "r-citr")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "citr" version))
+       (sha256
+        (base32
+         "0pik6s6xk5768s3kkppw2192dj455py53gsn6k2b7xgg96ircy0g"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-assertthat" ,r-assertthat)
+       ("r-bibtex" ,r-bibtex)
+       ("r-curl" ,r-curl)
+       ("r-httr" ,r-httr)
+       ("r-miniui" ,r-miniui)
+       ("r-refmanager" ,r-refmanager)
+       ("r-rstudioapi" ,r-rstudioapi)
+       ("r-shiny" ,r-shiny)
+       ("r-shinyjs" ,r-shinyjs)
+       ("r-yaml" ,r-yaml)))
+    (home-page "https://github.com/crsh/citr")
+    (synopsis "RStudio add-in to insert Markdown citations")
+    (description
+     "This package provides functions and an RStudio add-in that search a
+BibTeX or BibLaTeX file to create and insert formatted Markdown citations into
+the current document.")
+    (license license:expat)))
+
+(define-public r-xgboost
+  (package
+    (name "r-xgboost")
+    (version "0.82.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "xgboost" version))
+       (sha256
+        (base32
+         "0plhx63wcm4syslzmjfv6bdgaqn96fnav048hrj0vxk4dzgfp8sq"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-data-table" ,r-data-table)
+       ("r-magrittr" ,r-magrittr)
+       ("r-matrix" ,r-matrix)
+       ("r-stringi" ,r-stringi)))
+    (home-page "https://github.com/dmlc/xgboost")
+    (synopsis "Extreme gradient boosting")
+    (description
+     "This package provides an R interface to Extreme Gradient Boosting, which
+is an efficient implementation of the gradient boosting framework from Chen
+and Guestrin (2016).  The package includes efficient linear model solver and
+tree learning algorithms.  The package can automatically do parallel
+computation on a single machine.  It supports various objective functions,
+including regression, classification and ranking.  The package is made to be
+extensible, so that users are also allowed to define their own objectives
+easily.")
+    (license license:asl2.0)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 6a092727c1..9fcf3bd780 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -215,9 +215,10 @@ target that libc."
               (patches
                (append
                 (origin-patches (package-source xgcc))
-                (cons (if (version>=? (package-version xgcc) "6.0")
-                          (search-patch "gcc-6-cross-environment-variables.patch")
-                          (search-patch "gcc-cross-environment-variables.patch"))
+                (cons (cond
+                       ((version>=? (package-version xgcc) "8.0") (search-patch "gcc-8-cross-environment-variables.patch"))
+                       ((version>=? (package-version xgcc) "6.0") (search-patch "gcc-6-cross-environment-variables.patch"))
+                       (else  (search-patch "gcc-cross-environment-variables.patch")))
                       (cross-gcc-patches target))))
               (modules '((guix build utils)))
               (snippet
@@ -431,14 +432,15 @@ target that libc."
 
 (define* (cross-libc target
                      #:optional
+                     (libc glibc)
                      (xgcc (cross-gcc target))
                      (xbinutils (cross-binutils target))
                      (xheaders (cross-kernel-headers target)))
-  "Return a libc cross-built for TARGET, a GNU triplet.  Use XGCC and
-XBINUTILS and the cross tool chain."
-  (if (cross-newlib? target)
-      (native-libc target)
-      (let ((libc glibc))
+  "Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
+and the cross tool chain."
+  (if (cross-newlib? target libc)
+      (native-libc target libc)
+      (let ((libc libc))
         (package (inherit libc)
           (name (string-append "glibc-cross-" target))
           (arguments
@@ -492,13 +494,17 @@ XBINUTILS and the cross tool chain."
                            ,@(package-inputs libc)     ;FIXME: static-bash
                            ,@(package-native-inputs libc)))))))
 
-(define (native-libc target)
+(define* (native-libc target
+                     #:optional
+                     (libc glibc))
   (if (target-mingw? target)
       mingw-w64
-      glibc))
+      libc))
 
-(define (cross-newlib? target)
-  (not (eq? (native-libc target) glibc)))
+(define* (cross-newlib? target
+                       #:optional
+                       (libc glibc))
+  (not (eq? (native-libc target libc) libc)))
 
 
 ;;; Concrete cross tool chains are instantiated like this:
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 19870d9542..39b6446c67 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -426,7 +426,7 @@ user's graphical desktop.")
      `(("openssl" ,openssl)))
     (home-page "https://www.tarsnap.com/scrypt.html")
     (synopsis "Memory-hard encryption tool based on scrypt")
-    (description "This packages provides a simple password-based encryption
+    (description "This package provides a simple password-based encryption
 utility as a demonstration of the @code{scrypt} key derivation function.
 @code{Scrypt} is designed to be far more resistant against hardware brute-force
 attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 748f67ba1e..b48da35e8e 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -57,7 +57,7 @@
 (define-public cups-filters
   (package
     (name "cups-filters")
-    (version "1.22.3")
+    (version "1.23.0")
     (source(origin
               (method url-fetch)
               (uri
@@ -65,7 +65,7 @@
                               "cups-filters-" version ".tar.xz"))
               (sha256
                (base32
-                "11vilv80l3q7hz8vyhclvjcnlgk93r7p9dvg634186iddjzls0j3"))
+                "1lyzxf03kdfvkbb6p7hxlarbb35lq5bh094g49v3bz9z4z9065p2"))
               (modules '((guix build utils)))
               (snippet
                ;; install backends, banners and filters to cups-filters output
@@ -646,7 +646,7 @@ printer/driver specific, but spooler-independent PPD file.")
               (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
               (sha256
                (base32
-                "00k22vmghxls7rk2hrbz9v17wi5z8vdk3fmsp2lrfghfcad8nhpx"))))
+                "0djzp3ddslmzyxkjhzkhkg6qqqm02whjfnfvh5glprkshcskzlg9"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 9a13815e3d..338d26d2e3 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -51,6 +51,7 @@
 (define-public curl
   (package
    (name "curl")
+   (replacement curl-7.65.0)
    (version "7.64.1")
    (source (origin
             (method url-fetch)
@@ -143,6 +144,19 @@ tunneling, and so on.")
                                   "See COPYING in the distribution."))
    (home-page "https://curl.haxx.se/")))
 
+(define-public curl-7.65.0
+  (package
+    (inherit curl)
+    (version "7.65.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://curl.haxx.se/download/curl-"
+                            version ".tar.xz"))
+        (sha256
+         (base32
+          "1kb6p510m0n0y1c8fjxbcs6dyaqgm8i54pjvj29zc14lj9ix4rkp"))))))
+
 (define-public kurly
   (package
     (name "kurly")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e77209d391..42cc205047 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
 ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
+;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,6 +67,7 @@
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages dbm)
   #:use-module (gnu packages emacs)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
@@ -92,6 +94,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages terminals)
@@ -103,6 +106,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix bzr-download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
@@ -240,7 +244,7 @@ ElasticSearch server")
 (define-public leveldb
   (package
     (name "leveldb")
-    (version "1.21")
+    (version "1.22")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -249,7 +253,7 @@ ElasticSearch server")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "00v0w6883z7a6204894j59nd5v6dazn3c8hvh3sbczv4wiabppw2"))))
+                "0qrnhiyq7r4wa1a4wi82zgns35smj94mcjsc7kfs1k6ia9ys79z7"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
@@ -265,14 +269,14 @@ mapping from string keys to string values.")
 (define-public memcached
   (package
     (name "memcached")
-    (version "1.5.13")
+    (version "1.5.14")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
              "https://memcached.org/files/memcached-" version ".tar.gz"))
        (sha256
-        (base32 "0qsdkjrns4f02lmabq8c7mzl5n4382q2p6a0dvmsjdcpjisagqb1"))))
+        (base32 "1agj198rm5kc64z8qxck65kdzvw30pdfxalygipnryw0lwlxynww"))))
     (build-system gnu-build-system)
     (inputs
      `(("libevent" ,libevent)
@@ -284,6 +288,128 @@ and generic API, and was originally intended for use with dynamic web
 applications.")
     (license license:bsd-3)))
 
+(define-public libmemcached
+  (package
+    (name "libmemcached")
+    (version "1.0.18")
+    ;; We build from the sources since we want to build the extra HTML
+    ;; documentation which is not included with the release.
+    (source (origin
+              (method bzr-fetch)
+              (uri (bzr-reference
+                    (url "lp:libmemcached/1.0")
+                    (revision (string-append "tag:" version))))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "1842s4dxdh21gdr46q4dgxigidcs6dkqnbnqjwb9l8r0bqx5nb10"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("memcached" ,memcached)
+       ("libtool" ,libtool)
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("bison" ,bison)
+       ("flex" ,flex)
+       ("perl" ,perl)
+       ("python-sphinx" ,python-sphinx))) ;to build the HTML doc.
+    (inputs
+     `(("libevent" ,libevent)
+       ("cyrus-sasl" ,cyrus-sasl)))
+    (outputs '("out" "doc"))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'bootstrap 'fix-configure.ac
+           ;; Move the AC_CONFIG_AUX_DIR macro use under AC_INIT, otherwise we
+           ;; get the error ``configure: error: cannot find install-sh,
+           ;; install.sh, or shtool in "." "./.." "./../.."`` (see:
+           ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19539 and
+           ;; https://bugs.launchpad.net/libmemcached/+bug/1803922).
+           (lambda _
+             (delete-file "bootstrap.sh") ;not useful in the context of Guix
+             (substitute* "configure.ac"
+               (("^AC_CONFIG_AUX_DIR\\(\\[build-aux\\]\\).*") "")
+               (("(^AC_INIT.*)" anchor)
+                (string-append anchor "AC_CONFIG_AUX_DIR([build-aux])\n")))
+             #t))
+         (add-before 'bootstrap 'disable-failing-tests
+           ;; See: https://bugs.launchpad.net/libmemcached/+bug/1803926
+           (lambda _
+             ;; Mark some heavily failing test suites as expected to fail.
+             (substitute* "Makefile.am"
+               (("(XFAIL_TESTS =[^\n]*)" xfail_tests)
+                (string-append xfail_tests " tests/testudp"
+                               " tests/libmemcached-1.0/testapp"
+                               " tests/libmemcached-1.0/testsocket")))
+             ;; Disable two tests of the unittest test suite.
+             (substitute* "libtest/unittest.cc"
+               ((".*echo_fubar_BINARY \\},.*") "")
+               ((".*application_doesnotexist_BINARY \\},.*") ""))
+             #t))
+         (add-after 'disable-dns-tests 'build-and-install-html-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((html (string-append (assoc-ref outputs "doc")
+                                        "/share/doc/libmemcached/html/")))
+               (invoke "make" "install-html")
+               ;; Cleanup useless files.
+               (for-each delete-file-recursively
+                         (map (lambda (x) (string-append html x))
+                              '("_sources" ".doctrees" ".buildinfo"))))
+             #t)))))
+    (home-page "https://libmemcached.org/")
+    (synopsis "C++ library for memcached")
+    (description "libMemcached is a library to use memcached in C/C++
+applications.  It comes with a complete reference guide and documentation of
+the API, and provides features such as:
+@itemize
+@item Asynchronous and synchronous transport support
+@item Consistent hashing and distribution
+@item Tunable hashing algorithm to match keys
+@item Access to large object support
+@item Local replication
+@end itemize")
+    (license license:bsd-3)))
+
+(define-public python-pylibmc
+  (package
+    (name "python-pylibmc")
+    (version "1.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pylibmc" version))
+       (sha256
+        (base32
+         "1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'start-memcached-daemon
+           ;; The test suite requires a memcached server.
+           (lambda _
+             (invoke "memcached" "-d"))))))
+    (native-inputs
+     `(("memcached" ,memcached)
+       ("python-nose" ,python-nose)))
+    (inputs
+     `(("libmemcached" ,libmemcached)
+       ("zlib" ,zlib)
+       ("cyrus-sasl" ,cyrus-sasl)))
+    (home-page
+     "http://sendapatch.se/projects/pylibmc/")
+    (synopsis
+     "Python client for memcached")
+    (description
+     "@code{pylibmc} is a client in Python for memcached.  It is a wrapper
+around TangentOrg’s libmemcached library, and can be used as a drop-in
+replacement for the code@{python-memcached} library.")
+    (license license:bsd-3)))
+
+(define-public python2-pylibmc
+  (package-with-python2 python-pylibmc))
+
 (define-public mongodb
   (package
     (name "mongodb")
@@ -484,7 +610,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.38")
+    (version "10.1.40")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.org/f/"
@@ -492,7 +618,7 @@ Language.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0zq77w3ff9q781fn8cv46vy1v4ggb8vjarjvk51k653x4gyg9wfa"))
+                "19375bnq0yg52kqh6cy00s5rglcxdrs5bb2hy7dqv2xqa9z7lxci"))
               (patches (search-patches "mariadb-client-test-32bit.patch"))
               (modules '((guix build utils)))
               (snippet
@@ -674,14 +800,14 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "10.7")
+    (version "10.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "1piyfcrcqscjhnnwn91kdvr764s7d0qz4lgygf9bl6qc71ji1vdz"))
+                "0pfdmy4w95b49w9rkn8dwvzmi2brpqfvbxd04y0k0s0xvymc565i"))
               (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -721,14 +847,14 @@ pictures, sounds, or video.")
   (package
     (inherit postgresql)
     (name "postgresql")
-    (version "9.6.12")
+    (version "9.6.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "114xay230xia2fagisxahs5fc2mza8hmmkr6ibd7nxllp938931f"))))))
+                "197964wb5pc5fx81a6mh9hlcrr9sgr3nqlpmljv6asi9aq0d5gpc"))))))
 
 (define-public python-pymysql
   (package
@@ -1376,7 +1502,7 @@ columns, primary keys, unique constraints and relationships.")
        #:tests? #f))
     (propagated-inputs
      `(("perl-dbi" ,perl-dbi)
-       ("mysql" ,mysql)))
+       ("mysql" ,mariadb)))
     (home-page "https://metacpan.org/release/DBD-mysql")
     (synopsis "DBI MySQL interface")
     (description "This package provides a MySQL driver for the Perl5
@@ -2492,12 +2618,11 @@ database).")
          "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz"))))
     (build-system python-build-system)
     (native-inputs
-     `(("mariadb" ,mariadb)
-       ("nose" ,python-nose)
+     `(("nose" ,python-nose)
        ("mock" ,python-mock)
        ("py.test" ,python-pytest)))
     (inputs
-     `(("mysql" ,mysql)
+     `(("mysql" ,mariadb)
        ("libz" ,zlib)
        ("openssl" ,openssl)))
     (home-page "https://github.com/PyMySQL/mysqlclient-python")
@@ -2635,7 +2760,7 @@ is designed to have a low barrier to entry.")
     (home-page "https://github.com/benjolitz/trollius-redis")
     (synopsis "Port of asyncio-redis to trollius")
     (description "@code{trollius-redis} is a Redis client for Python
-  trollius.  It is an asynchronious IO (PEP 3156) implementation of the
+  trollius.  It is an asynchronous IO (PEP 3156) implementation of the
   Redis protocol.")
     (license license:bsd-2)))
 
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index 27fe882043..4fd1ac2e2f 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -124,14 +124,14 @@ in between these sequences may be different in both content and length.")
 (define-public liburcu
   (package
     (name "liburcu")
-    (version "0.10.2")
+    (version "0.11.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.lttng.org/files/urcu/"
                                   "userspace-rcu-" version ".tar.bz2"))
               (sha256
                (base32
-                "1k31faqz9plx5dwxq8g1fnczxda1is4s1x4ph0gjrq3gmy6qixmk"))))
+                "1rxk5vbkbmqlsnjnvkjz0pkx2076mqnq6jzblpmz8rk29x66kx8s"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("perl" ,perl)))                 ; for tests
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 0bb446bc3c..3b040028a1 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -26,7 +26,8 @@
   #:use-module (gnu packages check)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
-  #:use-module (gnu packages python-xyz))
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx))
 
 (define-public radicale
   (package
diff --git a/gnu/packages/dc.scm b/gnu/packages/dc.scm
index 2ef118339f..af7687916e 100644
--- a/gnu/packages/dc.scm
+++ b/gnu/packages/dc.scm
@@ -33,14 +33,14 @@
 (define-public ncdc
   (package
     (name "ncdc")
-    (version "1.21")
+    (version "1.22")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://dev.yorhel.nl/download/ncdc-" version
                            ".tar.gz"))
        (sha256 (base32
-                "10hrk7pcvfl9cj6d0kr4qf3l068ikqhccbg7lf25pr2kln9lz412"))))
+                "0n9sn4rh4zhmzjknsvyp4bfh925abz93ln43gl8a1v63rs2yyhgx"))))
     (build-system gnu-build-system)
     (inputs
      `(("bzip2" ,bzip2)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index b035951e26..e199e859ff 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -313,7 +313,7 @@ down the road.")
       (home-page "https://github.com/losalamos/stress-make")
       (synopsis "Expose race conditions in Makefiles")
       (description
-       "Stress Make is a customized GNU Make that explicitely manages the order
+       "Stress Make is a customized GNU Make that explicitly manages the order
 in which concurrent jobs are run to provoke erroneous behavior into becoming
 manifest.  It can run jobs in the order in which they're launched, in backwards
 order, or in random order.  The thought is that if code builds correctly with
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index ee038ac8f5..881ac93680 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -218,7 +218,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
 (define-public grammalecte
   (package
     (name "grammalecte")
-    (version "1.0.1")
+    (version "1.1")
     (source
      (origin
        (method url-fetch/zipbomb)
@@ -226,7 +226,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
                            "Grammalecte-fr-v" version ".zip"))
        (sha256
         (base32
-         "0p005mqgmckkbif3syv3d90rr1zsm5n5vvac5b29nn8g4v8jjpfs"))))
+         "031d6cn1wn7ps3j38vx6s8z2gjp9nqgiypqm3bfbhxqcammyhian"))))
     (build-system python-build-system)
     (home-page "https://grammalecte.net")
     (synopsis  "French spelling and grammar checker")
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index c8d2af88ca..491f7ce881 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -57,6 +57,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages vim)
@@ -609,7 +610,7 @@ passphrases.")
 (define-public ndctl
   (package
     (name "ndctl")
-    (version "64.1")
+    (version "65")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -618,7 +619,7 @@ passphrases.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1la82fqbdwjkw6il498nkdfgqc4aszv481xf2p9p07jfvankx24v"))))
+                "0d8hzfvyxs2q8kgkwgdizlml41kin4mhx3vpdsjk34pfi7mqy69y"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("asciidoc" ,asciidoc)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 15e7971b4f..29d8ae4eb9 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -240,7 +240,8 @@ GTK+, lets you select a desktop session and log in to it.")
                                       "slim-reset.patch"
                                       "slim-login.patch"
                                       "slim-session.patch"
-                                      "slim-sigusr1.patch"))))
+                                      "slim-sigusr1.patch"
+                                      "slim-display.patch"))))
     (build-system cmake-build-system)
     (inputs `(("linux-pam" ,linux-pam)
 	      ("libpng" ,libpng)
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 8ea9dca16a..2ef50bd0f7 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
+;;; Copyright © 2019 Sam <smbaines8@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
@@ -33,6 +35,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages time))
 
 (define-public python-django
@@ -119,6 +122,46 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
          ;; required.
          ,@(package-native-inputs base))))))
 
+(define-public python-django-extensions
+  (package
+    (name "python-django-extensions")
+    (version "2.1.6")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Fetch from the git repository, so that the tests can be run.
+       (uri (git-reference
+             (url "https://github.com/django-extensions/django-extensions.git")
+             (commit version)))
+       (file-name (string-append name "-" version))
+       (sha256
+        (base32
+         "0p4qrdinrv6indczlc8dcnm528i5fzmcn9xk1ja7ycfkyk5x6j5w"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f)) ;TODO collected 378 items / 3 errors / 1 skipped
+    (propagated-inputs
+     `(("python-six" ,python-six)
+       ("python-vobject" ,python-vobject)
+       ("python-werkzeug" ,python-werkzeug)
+       ("python-dateutil" ,python-dateutil)
+       ("python-django" ,python-django)))
+    (native-inputs
+     `(("python-mock" ,python-mock)
+       ("python-factory-boy" ,python-factory-boy)
+       ("python-tox" ,python-tox)
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-django" ,python-pytest-django)
+       ("python-shortuuid" , python-shortuuid)))
+    (home-page
+     "https://github.com/django-extensions/django-extensions")
+    (synopsis "Custom management extensions for Django")
+    (description
+     "Django-extensions extends Django providing, for example, management
+commands, additional database fields and admin extensions.")
+    (license license:expat)))
+
 (define-public python-django-simple-math-captcha
   (package
     (name "python-django-simple-math-captcha")
@@ -147,6 +190,38 @@ with arguments to the field constructor.")
 (define-public python2-django-simple-math-captcha
   (package-with-python2 python-django-simple-math-captcha))
 
+(define-public python-django-taggit
+  (package
+    (name "python-django-taggit")
+    (version "1.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "django-taggit" version))
+       (sha256
+        (base32
+         "044fzcpmns90kaxdi49qczlam4xsi8rl73rpfwvxx1gkcqzidgq1"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (invoke "python3" "-m" "django" "test" "--settings=tests.settings"))))))
+    (propagated-inputs
+     `(("python-django" ,python-django)
+       ("python-isort" ,python-isort)))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)
+       ("python-mock" ,python-mock)))
+    (home-page
+     "https://github.com/jazzband/django-taggit")
+    (synopsis
+     "Reusable Django application for simple tagging")
+    (description
+     "Django-taggit is a reusable Django application for simple tagging.")
+    (license license:bsd-3)))
+
 (define-public python-pytest-django
   (package
     (name "python-pytest-django")
@@ -675,13 +750,13 @@ support, and optional data-URI image and font embedding.")
 (define-public python-django-rq
   (package
     (name "python-django-rq")
-    (version "1.3.0")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "django-rq" version))
               (sha256
                (base32
-                "0xh6qa7i779vh58lwwv6yk0wx8bi38mvmpz79grnl2cl8531r928"))))
+                "1ips1ikv5qhgwb58ssn496vgqg9qv6jinwmwbrg9l3s75fskd1l5"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index ec10254c97..291139ef1b 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -108,7 +108,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 (define-public isc-bind
   (package
     (name "bind")
-    (version "9.12.4-P1")
+    (version "9.14.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -116,9 +116,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
                     "/bind-" version ".tar.gz"))
               (sha256
                (base32
-                "1if7zc5gzrfd28csc63v9bjwrc0rgvm1x9yx058946hc5gp5lyp2"))
-              (patches
-               (search-patches "bind-fix-unused-pk11-ecc-constants.patch"))))
+                "033zqajnj5ys45g899132xkhh9f0hsh76ffv7302wl166xbjfh0f"))))
     (build-system gnu-build-system)
     (outputs `("out" "utils"))
     (inputs
@@ -163,7 +161,11 @@ and BOOTP/TFTP for network booting of diskless machines.")
          ;;          (system "bin/tests/system/ifconfig.sh up")))
          (replace 'check
            (lambda _
-             (invoke "make" "force-test"))))))
+             ;; XXX Even ‘make force-test’ tries to create network interfaces
+             ;; and fails.  The only working target is the (trivial) fuzz test.
+             (with-directory-excursion "fuzz"
+               (invoke "make" "check"))
+             #t)))))
     (synopsis "An implementation of the Domain Name System")
     (description "BIND is an implementation of the @dfn{Domain Name System}
 (DNS) protocols for the Internet.  It is a reference implementation of those
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 39e7e8108b..eb76b85676 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages networking)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
@@ -227,6 +228,66 @@ network attachments.")
     (home-page "http://containerd.io/")
     (license license:asl2.0)))
 
+;;; Private package that shouldn't be used directly; its purposes is to be
+;;; used as a template for the various packages it contains.  It doesn't build
+;;; anyway, as it needs many dependencies that aren't being satisfied.
+(define docker-libnetwork
+  ;; There are no recent release for libnetwork, so choose the last commit of
+  ;; the branch that Docker uses, as can be seen in the Docker source file
+  ;; 'hack/dockerfile/install/proxy.installer'.
+  (let ((commit "4725f2163fb214a6312f3beae5991f838ec36326")
+        (version "18.09")
+        (revision "1"))
+    (package
+      (name "docker-libnetwork")
+      (version (git-version version "1" commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/docker/libnetwork.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1zpnxki8qfzha6ljahpwd3vkzmjhsvkmf73w6crm4ilxxw5vnpfb"))
+                ;; Delete bundled ("vendored") free software source code.
+                (modules '((guix build utils)))
+                (snippet '(begin
+                            (delete-file-recursively "vendor")
+                            #t))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/docker/libnetwork/"))
+      (home-page "https://github.com/docker/libnetwork/")
+      (synopsis "Networking for containers")
+      (description "Libnetwork provides a native Go implementation for
+connecting containers.  The goal of @code{libnetwork} is to deliver a robust
+container network model that provides a consistent programming interface and
+the required network abstractions for applications.")
+      (license license:asl2.0))))
+
+(define-public docker-libnetwork-cmd-proxy
+  (package
+    (inherit docker-libnetwork)
+    (name "docker-libnetwork-cmd-proxy")
+    (arguments
+     `(#:import-path "github.com/docker/libnetwork/cmd/proxy"
+       #:unpack-path "github.com/docker/libnetwork"
+       #:install-source? #f))
+    (native-inputs
+     `(("go-sctp" ,go-sctp)
+       ;; For tests.
+       ("logrus" ,go-github-com-sirupsen-logrus)
+       ("go-netlink" ,go-netlink)
+       ("go-netns" ,go-netns)
+       ("go-golang-org-x-crypto-ssh-terminal"
+        ,go-golang-org-x-crypto-ssh-terminal)
+       ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
+    (synopsis "Docker user-space proxy")
+    (description "A proxy running in the user space.  It is used by the
+built-in registry server of Docker.")
+    (license license:asl2.0)))
+
 ;; TODO: Patch out modprobes for ip_vs, nf_conntrack,
 ;; brige, nf_conntrack_netlink, aufs.
 (define-public docker
@@ -235,17 +296,17 @@ network attachments.")
     (version %docker-version)
     (source
      (origin
-      (method git-fetch)
-      (uri (git-reference
-            (url "https://github.com/docker/engine.git")
-            (commit (string-append "v" version))))
-      (file-name (git-file-name name version))
-      (sha256
-       (base32 "0cirpd9l2qazp2jyanwzvrkx2m98nksjdvn43ff38p89w6133ipb"))
-      (patches
-       (search-patches "docker-engine-test-noinstall.patch"
-                       "docker-fix-tests.patch"
-                       "docker-use-fewer-modprobes.patch"))))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/docker/engine.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0cirpd9l2qazp2jyanwzvrkx2m98nksjdvn43ff38p89w6133ipb"))
+       (patches
+        (search-patches "docker-engine-test-noinstall.patch"
+                        "docker-fix-tests.patch"
+                        "docker-use-fewer-modprobes.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules
@@ -262,132 +323,139 @@ network attachments.")
          (add-after 'unpack 'patch-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "builder/builder-next/executor_unix.go"
-              (("CommandCandidates:.*runc.*")
-               (string-append "CommandCandidates: []string{\""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"},\n")))
+               (("CommandCandidates:.*runc.*")
+                (string-append "CommandCandidates: []string{\""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"},\n")))
              (substitute* "vendor/github.com/containerd/go-runc/runc.go"
-              (("DefaultCommand = .*")
-               (string-append "DefaultCommand = \""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"\n")))
+               (("DefaultCommand = .*")
+                (string-append "DefaultCommand = \""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"\n")))
              (substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go"
-              (("defaultRuntime[ \t]*=.*")
-               (string-append "defaultRuntime = \""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"\n"))
-              (("defaultShim[ \t]*=.*")
-               (string-append "defaultShim = \""
-                              (assoc-ref inputs "containerd")
-                              "/bin/containerd-shim\"\n")))
+               (("defaultRuntime[ \t]*=.*")
+                (string-append "defaultRuntime = \""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"\n"))
+               (("defaultShim[ \t]*=.*")
+                (string-append "defaultShim = \""
+                               (assoc-ref inputs "containerd")
+                               "/bin/containerd-shim\"\n")))
              (substitute* "daemon/daemon_unix.go"
-              (("DefaultShimBinary = .*")
-               (string-append "DefaultShimBinary = \""
-                              (assoc-ref inputs "containerd")
-                              "/bin/containerd-shim\"\n"))
-              (("DefaultRuntimeBinary = .*")
-               (string-append "DefaultRuntimeBinary = \""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"\n"))
-              (("DefaultRuntimeName = .*")
-               (string-append "DefaultRuntimeName = \""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"\n")))
+               (("DefaultShimBinary = .*")
+                (string-append "DefaultShimBinary = \""
+                               (assoc-ref inputs "containerd")
+                               "/bin/containerd-shim\"\n"))
+               (("DefaultRuntimeBinary = .*")
+                (string-append "DefaultRuntimeBinary = \""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"\n"))
+               (("DefaultRuntimeName = .*")
+                (string-append "DefaultRuntimeName = \""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"\n")))
              (substitute* "daemon/config/config.go"
-              (("StockRuntimeName = .*")
-               (string-append "StockRuntimeName = \""
-                              (assoc-ref inputs "runc")
-                              "/sbin/runc\"\n")))
+               (("StockRuntimeName = .*")
+                (string-append "StockRuntimeName = \""
+                               (assoc-ref inputs "runc")
+                               "/sbin/runc\"\n")))
              (substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go"
-              (("var defaultCommandCandidates = .*")
-               (string-append "var defaultCommandCandidates = []string{\""
-                              (assoc-ref inputs "runc") "/sbin/runc\"}")))
+               (("var defaultCommandCandidates = .*")
+                (string-append "var defaultCommandCandidates = []string{\""
+                               (assoc-ref inputs "runc") "/sbin/runc\"}")))
+             (substitute* "vendor/github.com/docker/libnetwork/portmapper/proxy.go"
+               (("var userlandProxyCommandName = .*")
+                (string-append "var userlandProxyCommandName = \""
+                               (assoc-ref inputs "docker-proxy")
+                               "/bin/proxy\"\n")))
+             (substitute* "pkg/archive/archive.go"
+               (("string\\{\"xz")
+                (string-append "string{\"" (assoc-ref inputs "xz") "/bin/xz")))
              (let ((source-files (filter (lambda (name)
-                                    (not (string-contains name "test")))
-                                  (find-files "." "\\.go$"))))
-               (let-syntax ((substitute-LookPath
-                             (lambda (x)
-                               (syntax-case x ()
-                                 ((substitute-LookPath source-text package
-                                                       relative-path)
-                                  #`(substitute* source-files
-                                     ((#,(string-append "exec\\.LookPath\\(\""
-                                                        (syntax->datum
-                                                         #'source-text)
-                                                        "\")"))
-                                      (string-append "\""
-                                                     (assoc-ref inputs package)
-                                                     relative-path
-                                                     "\", error(nil)")))))))
-                            (substitute-Command
-                             (lambda (x)
-                               (syntax-case x ()
-                                 ((substitute-LookPath source-text package
-                                                       relative-path)
-                                  #`(substitute* source-files
-                                     ((#,(string-append "exec\\.Command\\(\""
-                                                        (syntax->datum
-                                                         #'source-text)
-                                                        "\"")) ; )
-                                      (string-append "exec.Command(\""
-                                                     (assoc-ref inputs package)
-                                                     relative-path
-                                                     "\"")))))))) ; )
-                 (substitute-LookPath "ps" "procps" "/bin/ps")
-                 (substitute-LookPath "mkfs.xfs" "xfsprogs" "/bin/mkfs.xfs")
-                 (substitute-LookPath "lvmdiskscan" "lvm2" "/sbin/lvmdiskscan")
-                 (substitute-LookPath "pvdisplay" "lvm2" "/sbin/pvdisplay")
-                 (substitute-LookPath "blkid" "util-linux" "/sbin/blkid")
-                 (substitute-LookPath "unpigz" "pigz" "/bin/unpigz")
-                 (substitute-LookPath "iptables" "iptables" "/sbin/iptables")
-                 (substitute-LookPath "iptables-legacy" "iptables" "/sbin/iptables")
-                 (substitute-LookPath "ip" "iproute2" "/sbin/ip")
-                 (substitute-Command "modprobe" "kmod" "/bin/modprobe")
-                 (substitute-Command "pvcreate" "lvm2" "/sbin/pvcreate")
-                 (substitute-Command "vgcreate" "lvm2" "/sbin/vgcreate")
-                 (substitute-Command "lvcreate" "lvm2" "/sbin/lvcreate")
-                 (substitute-Command "lvconvert" "lvm2" "/sbin/lvconvert")
-                 (substitute-Command "lvchange" "lvm2" "/sbin/lvchange")
-                 (substitute-Command "mkfs.xfs" "xfsprogs" "/sbin/mkfs.xfs")
-                 (substitute-Command "xfs_growfs" "xfsprogs" "/sbin/xfs_growfs")
-                 (substitute-Command "mkfs.ext4" "e2fsprogs" "/sbin/mkfs.ext4")
-                 (substitute-Command "tune2fs" "e2fsprogs" "/sbin/tune2fs")
-                 (substitute-Command "blkid" "util-linux" "/sbin/blkid")
-                 (substitute-Command "resize2fs" "e2fsprogs" "/sbin/resize2fs")
-; docker-mountfrom ??
-; docker
-; docker-untar ??
-; docker-applyLayer ??
-; /usr/bin/uname
-; grep
-; apparmor_parser
-                 (substitute-Command "ps" "procps" "/bin/ps")
-                 (substitute-Command "losetup" "util-linux" "/sbin/losetup")
-                 (substitute-Command "uname" "coreutils" "/bin/uname")
-                 (substitute-Command "dbus-launch" "dbus" "/bin/dbus-launch")
-                 (substitute-Command "git" "git" "/bin/git"))
+                                           (not (string-contains name "test")))
+                                         (find-files "." "\\.go$"))))
+               (let-syntax ((substitute-LookPath*
+                             (syntax-rules ()
+                               ((_ (source-text package relative-path) ...)
+                                (substitute* source-files
+                                  (((string-append "\\<exec\\.LookPath\\(\""
+                                                   source-text
+                                                   "\")"))
+                                   (string-append "\""
+                                                  (assoc-ref inputs package)
+                                                  "/" relative-path
+                                                  "\", error(nil)")) ...))))
+                            (substitute-Command*
+                             (syntax-rules ()
+                               ((_ (source-text package relative-path) ...)
+                                (substitute* source-files
+                                  (((string-append "\\<(re)?exec\\.Command\\(\""
+                                                   source-text
+                                                   "\"") _ re?)
+                                   (string-append (if re? re? "")
+                                                  "exec.Command(\""
+                                                  (assoc-ref inputs package)
+                                                  "/" relative-path
+                                                  "\"")) ...)))))
+                 (substitute-LookPath*
+                  ("ps" "procps" "bin/ps")
+                  ("mkfs.xfs" "xfsprogs" "bin/mkfs.xfs")
+                  ("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
+                  ("pvdisplay" "lvm2" "sbin/pvdisplay")
+                  ("blkid" "util-linux" "sbin/blkid")
+                  ("unpigz" "pigz" "bin/unpigz")
+                  ("iptables" "iptables" "sbin/iptables")
+                  ("iptables-legacy" "iptables" "sbin/iptables")
+                  ("ip" "iproute2" "sbin/ip"))
+
+                 (substitute-Command*
+                  ("modprobe" "kmod" "bin/modprobe")
+                  ("pvcreate" "lvm2" "sbin/pvcreate")
+                  ("vgcreate" "lvm2" "sbin/vgcreate")
+                  ("lvcreate" "lvm2" "sbin/lvcreate")
+                  ("lvconvert" "lvm2" "sbin/lvconvert")
+                  ("lvchange" "lvm2" "sbin/lvchange")
+                  ("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
+                  ("xfs_growfs" "xfsprogs" "sbin/xfs_growfs")
+                  ("mkfs.ext4" "e2fsprogs" "sbin/mkfs.ext4")
+                  ("tune2fs" "e2fsprogs" "sbin/tune2fs")
+                  ("blkid" "util-linux" "sbin/blkid")
+                  ("resize2fs" "e2fsprogs" "sbin/resize2fs")
+                  ("ps" "procps" "bin/ps")
+                  ("losetup" "util-linux" "sbin/losetup")
+                  ("uname" "coreutils" "bin/uname")
+                  ("dbus-launch" "dbus" "bin/dbus-launch")
+                  ("git" "git" "bin/git")))
+               ;; docker-mountfrom ??
+               ;; docker
+               ;; docker-untar ??
+               ;; docker-applyLayer ??
+               ;; /usr/bin/uname
+               ;; grep
+               ;; apparmor_parser
+
                ;; Make compilation fail when, in future versions, Docker
                ;; invokes other programs we don't know about and thus don't
                ;; substitute.
                (substitute* source-files
-                ;; Search for Java in PATH.
-                (("\\<exec\\.Command\\(\"java\"") ; )
-                 "xxec.Command(\"java\"") ; )
-                ;; Search for AUFS in PATH (mainline Linux doesn't support it).
-                (("\\<exec\\.Command\\(\"auplink\"") ; )
-                 "xxec.Command(\"auplink\"") ; )
-                ;; Fail on other unsubstituted commands.
-                (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
-                  _ executable) ; )
-                 (string-append "exec.Guix_doesnt_want_Command(\""
-                                executable "\"")) ;)
-                (("\\<xxec\\.Command")
-                 "exec.Command")
-                ;; Search for ZFS in PATH.
-                (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
-                ;; Fail on other unsubstituted LookPaths.
-                (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"") ; ))
-                (("\\<LooxPath") "LookPath")))
+                 ;; Search for Java in PATH.
+                 (("\\<exec\\.Command\\(\"java\"")
+                  "xxec.Command(\"java\"")
+                 ;; Search for AUFS in PATH (mainline Linux doesn't support it).
+                 (("\\<exec\\.Command\\(\"auplink\"")
+                  "xxec.Command(\"auplink\"")
+                 ;; Fail on other unsubstituted commands.
+                 (("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
+                   _ executable)
+                  (string-append "exec.Guix_doesnt_want_Command(\""
+                                 executable "\""))
+                 (("\\<xxec\\.Command")
+                  "exec.Command")
+                 ;; Search for ZFS in PATH.
+                 (("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
+                 ;; Fail on other unsubstituted LookPaths.
+                 (("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
+                 (("\\<LooxPath") "LookPath")))
              #t))
          (add-after 'patch-paths 'delete-failing-tests
            (lambda _
@@ -434,7 +502,7 @@ network attachments.")
              ;; But go needs to have the uncanonicalized directory name, so
              ;; store that.
              (setenv "PWD" (string-append (getcwd)
-                            "/.gopath/src/github.com/docker/docker"))
+                                          "/.gopath/src/github.com/docker/docker"))
              (with-directory-excursion ".gopath/src/github.com/docker/docker"
                (invoke "hack/test/unit"))
              (setenv "PWD" #f)
@@ -448,9 +516,10 @@ network attachments.")
                #t))))))
     (inputs
      `(("btrfs-progs" ,btrfs-progs)
-       ("containerd" ,containerd) ; for containerd-shim
+       ("containerd" ,containerd)       ; for containerd-shim
        ("coreutils" ,coreutils)
        ("dbus" ,dbus)
+       ("docker-proxy" ,docker-libnetwork-cmd-proxy)
        ("e2fsprogs" ,e2fsprogs)
        ("git" ,git)
        ("iproute2" ,iproute)
@@ -462,9 +531,10 @@ network attachments.")
        ("runc" ,runc)
        ("util-linux" ,util-linux)
        ("lvm2" ,lvm2)
-       ("xfsprogs" ,xfsprogs)))
+       ("xfsprogs" ,xfsprogs)
+       ("xz" ,xz)))
     (native-inputs
-     `(("eudev" ,eudev) ; TODO: Should be propagated by lvm2 (.pc -> .pc)
+     `(("eudev" ,eudev)      ; TODO: Should be propagated by lvm2 (.pc -> .pc)
        ("go" ,go)
        ("pkg-config" ,pkg-config)))
     (synopsis "Docker container component library, and daemon")
@@ -538,7 +608,7 @@ provisioning etc.")
 (define-public cqfd
   (package
     (name "cqfd")
-    (version "5.0.1")
+    (version "5.1.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -547,7 +617,7 @@ provisioning etc.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1z4v16lbpbwd5ykawizdclpryp2k006lbk2mv427a4b3nvcd9wik"))))
+                "1xhydz01f2rrnw7rmnaxh3f3q1ariq7j2ig0i0w1p3wn10l3q0nv"))))
     (build-system gnu-build-system)
     (arguments
      ;; The test suite requires a docker daemon and connectivity.
@@ -569,6 +639,6 @@ provisioning etc.")
     (home-page "https://github.com/savoirfairelinux/cqfd")
     (synopsis "Convenience wrapper for Docker")
     (description "cqfd is a Bash script that provides a quick and convenient
-way to run commands in the ecurrent directory, but within a Docker container
+way to run commands in the current directory, but within a Docker container
 defined in a per-project configuration file.")
     (license license:gpl3+)))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 99e49bc172..cf424f285d 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
@@ -42,6 +42,7 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages javascript)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -78,7 +79,7 @@
 (define-public calibre
   (package
     (name "calibre")
-    (version "3.35.0")
+    (version "3.42.0")
     (source
       (origin
         (method url-fetch)
@@ -87,40 +88,40 @@
                             version ".tar.xz"))
         (sha256
          (base32
-          "1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z"))
-        ;; Remove non-free or doubtful code, see
+          "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm"))
+        ;; Unbundle python2-odfpy. 
         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
         (modules '((guix build utils)))
         (snippet
           '(begin
-            (delete-file-recursively "src/calibre/ebooks/markdown")
-            (delete-file "src/odf/thumbnail.py")
-            (delete-file-recursively "resources/fonts/liberation")
-            (substitute* (find-files "." "\\.py")
-              (("calibre\\.ebooks\\.markdown") "markdown"))
-            #t))
-        (patches (search-patches "calibre-use-packaged-feedparser.patch"
-                                 "calibre-no-updates-dialog.patch"))))
+             (delete-file-recursively "src/odf")
+             (delete-file "resources/viewer.js")
+             (delete-file "resources/viewer.html")
+             (delete-file "resources/mozilla-ca-certs.pem")
+             (delete-file "resources/calibre-portable.bat")
+             (delete-file "resources/calibre-portable.sh")
+             #t))
+        (patches (search-patches "calibre-no-updates-dialog.patch"
+                                 "calibre-remove-test-bs4.patch" ; TODO: fix test.
+                                 "calibre-remove-test-sqlite.patch" ; TODO: fix test.
+                                 "calibre-remove-test-unrar.patch"))))
     (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("font-liberation" ,font-liberation)
        ("qtbase" ,qtbase) ; for qmake
-       ;; xdg-utils is supposed to be used for desktop integration, but it
-       ;; also creates lots of messages
-       ;; mkdir: cannot create directory '/homeless-shelter': Permission denied
        ("python2-flake8" ,python2-flake8)
        ("xdg-utils" ,xdg-utils)))
     ;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled.
     (inputs
      `(("chmlib" ,chmlib)
        ("fontconfig" ,fontconfig)
+       ("font-liberation" ,font-liberation)
        ("glib" ,glib)
        ("icu4c" ,icu4c)
+       ("js-mathjax" ,js-mathjax)
        ("libmtp" ,libmtp)
        ("libpng" ,libpng)
        ("libusb" ,libusb)
-       ("libxrender" ,libxrender)
        ("openssl" ,openssl)
        ("optipng" ,optipng)
        ("podofo" ,podofo)
@@ -129,32 +130,31 @@
        ("python2-apsw" ,python2-apsw)
        ("python2-chardet" ,python2-chardet)
        ("python2-cssselect" ,python2-cssselect)
-       ("python2-cssutils" ,python2-cssutils)
+       ("python2-css-parser" ,python2-css-parser)
        ("python2-dateutil" ,python2-dateutil)
        ("python2-dbus" ,python2-dbus)
        ("python2-dnspython" ,python2-dnspython)
        ("python2-dukpy" ,python2-dukpy)
        ("python2-feedparser" ,python2-feedparser)
+       ("python2-html2text" ,python2-html2text)
        ("python2-html5-parser" ,python2-html5-parser)
+       ("python2-html5lib" ,python2-html5lib)
        ("python2-lxml" ,python2-lxml)
        ("python2-markdown" ,python2-markdown)
        ("python2-mechanize" ,python2-mechanize)
        ;; python2-msgpack is needed for the network content server to work.
        ("python2-msgpack" ,python2-msgpack)
        ("python2-netifaces" ,python2-netifaces)
+       ("python2-odfpy" ,python2-odfpy)
        ("python2-pillow" ,python2-pillow)
+       ("python2-psutil" ,python2-psutil)
        ("python2-pygments" ,python2-pygments)
        ("python2-pyqt" ,python2-pyqt)
        ("python2-sip" ,python2-sip)
        ("python2-regex" ,python2-regex)
-       ;; python2-unrardll is needed for decompressing RAR files.
-       ;; A program called 'pdf2html' is needed for reading PDF books
-       ;; in the web interface.
        ("sqlite" ,sqlite)))
     (arguments
      `(#:python ,python-2
-       #:test-target "check"
-       #:tests? #f ; FIXME: enable once flake8 is packaged
        ;; Calibre is using setuptools by itself, but the setup.py is not
        ;; compatible with the shim wrapper (taken from pip) we are using.
        #:use-setuptools? #f
@@ -173,33 +173,57 @@
                 "href=\"favicon.ico\""))
              #t))
          (add-before 'build 'configure
-          (lambda* (#:key inputs #:allow-other-keys)
+          (lambda* (#:key inputs outputs #:allow-other-keys)
             (let ((podofo (assoc-ref inputs "podofo"))
-                  (pyqt (assoc-ref inputs "python2-pyqt")))
+                  (pyqt (assoc-ref inputs "python2-pyqt"))
+                  (out (assoc-ref outputs "out")))
               (substitute* "setup/build_environment.py"
                 (("sys.prefix") (string-append "'" pyqt "'")))
               (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
                 (("PDFTOHTML = 'pdftohtml'")
                  (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
-                  "/bin/pdftohtml\"")))
+                                "/bin/pdftohtml\"")))
+
+              ;; Calibre thinks we are installing desktop files into a home
+              ;; directory, but here we butcher the script in to installing
+              ;; to calibres /share directory.
+              (setenv "XDG_DATA_HOME" (string-append out "/share"))
+              (substitute* "src/calibre/linux.py"
+                (("'~/.local/share'") "''"))
+
               (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
               (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
+              ;; This informs the tests we are a continuous integration
+              ;; environment and thus have no networking.
+              (setenv "CI" "true")
+              ;; The Qt test complains about being unable to load all image plugins, and I
+              ;; notice the available plugins list it shows lacks 'svg'. Adding qtsvg doesn't
+              ;; fix it, so I'm not sure how to fix it.  TODO: Fix test and remove this.
+              (setenv "SKIP_QT_BUILD_TEST" "true")
               #t)))
-         (add-after 'install 'install-font-liberation
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (for-each (lambda (file)
-                         (install-file file (string-append
-                                             (assoc-ref outputs "out")
-                                             "/share/calibre/fonts/liberation")))
-                       (find-files (string-append
-                                    (assoc-ref inputs "font-liberation")
-                                    "/share/fonts/truetype")))
-             #t))
-         (add-after 'install-font-liberation 'install-mimetypes
+         (add-after 'build 'build-extra
+           (lambda* (#:key inputs #:allow-other-keys)
+             (invoke "python2" "setup.py" "mathjax""--system-mathjax"
+                     "--path-to-mathjax" (string-append
+                                          (assoc-ref inputs "js-mathjax")
+                                          "/share/javascript/mathjax"))
+             (invoke "python2" "setup.py" "rapydscript")))
+         (add-after 'install 'install-man-pages
            (lambda* (#:key outputs #:allow-other-keys)
-             (install-file "resources/calibre-mimetypes.xml"
-                           (string-append (assoc-ref outputs "out")
-                                          "/share/mime/packages"))
+             (copy-recursively
+              "man-pages"
+              (string-append (assoc-ref outputs "out") "/share/man"))
+             #t))
+         ;; The font TTF files are used in some miscellaneous tests, so we
+         ;; unbundle them here to avoid patching the tests.
+         (add-after 'install 'unbundle-font-liberation
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((font-dest (string-append (assoc-ref outputs "out")
+                                             "/share/calibre/fonts/liberation"))
+                   (font-src (string-append (assoc-ref inputs "font-liberation")
+                                            "/share/fonts/truetype")))
+               (delete-file-recursively font-dest)
+               (symlink font-src font-dest))
              #t)))))
     (home-page "http://calibre-ebook.com/")
     (synopsis "E-book library management software")
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 4b93cd1023..869789552e 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -309,14 +309,14 @@ to open the application in a web browser, for offline usage.")
 (define-public toutenclic
   (package
     (name "toutenclic")
-    (version "6.13")
+    (version "7.00")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://www.bipede.fr/downloads/logiciels/"
-                           "ToutEnClic-" version ".tar.xz"))
+                           "ToutEnClic-" version "-src.zip"))
        (sha256
-        (base32 "1pjprdzc4bn7ckbg4469691ph6yjjr8f022hb4gi4lacs4h71wnd"))))
+        (base32 "0xg24p925rl5bfqsq3jb2lrkidb0f3kbmay5iyxxmjsn3ra0blyh"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
@@ -328,17 +328,20 @@ to open the application in a web browser, for offline usage.")
              (let* ((out (assoc-ref outputs "out"))
                     (share (string-append out "/share/toutenclic"))
                     (pixmaps (string-append out "/share/pixmaps"))
+                    (doc (string-append out "share/doc/" ,name "-" ,version))
                     (bin (string-append out "/bin"))
-                    (executable "toutenclic.py"))
+                    (executable "toutenclic"))
                ;; Install icon.
                (install-file "toutenclic.png" pixmaps)
                ;; Move files into "share/" directory.
-               (mkdir-p share)
-               (copy-recursively "." share)
+               (for-each (lambda (f) (install-file f share))
+                         (find-files "." "\\.py$"))
+               ;; Install documentation.
+               (install-file "ToutEnClic.pdf" doc)
                ;; Create executable in "bin/".
                (mkdir-p bin)
                (with-directory-excursion bin
-                 (symlink (string-append share "/" executable)
+                 (symlink (string-append share "/" executable ".py")
                           executable)))
              #t))
          (add-after 'install 'create-desktop-file
@@ -353,8 +356,8 @@ to open the application in a web browser, for offline usage.")
                            "[Desktop Entry]~@
                             Name=ToutEnClic~@
                             Comment=For schooling without difference~@
-                            Exec=~a/bin/toutenclic.py~@
-                            TryExec=~@*~a/bin/toutenclic.py~@
+                            Exec=~a/bin/toutenclic~@
+                            TryExec=~@*~a/bin/toutenclic~@
                             Terminal=false~@
                             Icon=toutenclic~@
                             Type=Application~%"
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 99f49eb7a7..09be3a75a3 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -34,7 +34,7 @@
   #:use-module (gnu packages m4)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages xml))
 
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
index 9763c7a22b..2a1d99452f 100644
--- a/gnu/packages/elixir.scm
+++ b/gnu/packages/elixir.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 nee <nee.git@cock.li>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 ng0 <ng0@n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -33,7 +33,7 @@
 (define-public elixir
   (package
     (name "elixir")
-    (version "1.8.1")
+    (version "1.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/elixir-lang/elixir"
@@ -41,7 +41,7 @@
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "08lq5p82pnicd49gsj6r2zsbg35wrk6098nrrjb28fcrm5p6736y"))
+                "0ddqxw24zdqlg7glzk22m7qjal8f18divzp364a6gi1bv6rg16yg"))
 	      (patches (search-patches "elixir-path-length.patch"))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index f2e815c630..beb35c8122 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -45,6 +45,8 @@
 ;;; Copyright © 2019 Dimakakos Dimos <bendersteed@teknik.io>
 ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
 ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com>
+;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
+;;; Copyright © 2019 LaFreniere, Joseph <joseph@lafreniere.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -123,6 +125,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sqlite)
@@ -774,7 +777,7 @@ in certain cases.  It also enables recursion for anonymous functions.")
 (define-public emacs-xr
   (package
     (name "emacs-xr")
-    (version "1.10")
+    (version "1.11")
     (source
      (origin
        (method url-fetch)
@@ -782,7 +785,7 @@ in certain cases.  It also enables recursion for anonymous functions.")
              "https://elpa.gnu.org/packages/xr-" version ".tar"))
        (sha256
         (base32
-         "16p68rj5h609pnbp7y0jiiq1zkbksh4qqi1q8yby3ldj5x9sfpwc"))))
+         "0xwfs2mkmgf63sfp5jwmw0ybc8pa0rlxh5aqwb348ddgmclv322f"))))
     (build-system emacs-build-system)
     (home-page "http://elpa.gnu.org/packages/xr.html")
     (synopsis "Convert string regexp to rx notation")
@@ -804,7 +807,7 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
 (define-public emacs-relint
   (package
     (name "emacs-relint")
-    (version "1.6")
+    (version "1.7")
     (source
      (origin
        (method url-fetch)
@@ -812,7 +815,7 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
              "https://elpa.gnu.org/packages/relint-" version ".el"))
        (sha256
         (base32
-         "17nyy3zqpqgs22lrrpdm0k56xnhj5l3y2y3lnmhcqw63xksgbsyk"))))
+         "0h9nc84yv5lmbaa8any6i3bqcn6xn1gy6cv6kqaywn0nnqrm17i1"))))
     (build-system emacs-build-system)
     (propagated-inputs `(("emacs-xr" ,emacs-xr)))
     (home-page "https://github.com/mattiase/relint")
@@ -970,14 +973,14 @@ regexp-like arguments to @code{skip-chars-forward} and
 (define-public emacs-emms
   (package
     (name "emacs-emms")
-    (version "5.1")
+    (version "5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/emms/emms-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
+                "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1329,7 +1332,7 @@ as a library for other Emacs packages.")
 (define-public emacs-auctex
   (package
     (name "emacs-auctex")
-    (version "12.1.0")
+    (version "12.1.2")
     (source
      (origin
        (method url-fetch)
@@ -1339,7 +1342,7 @@ as a library for other Emacs packages.")
              ".tar"))
        (sha256
         (base32
-         "0iy5x61xqkxaph2hq64sg50l1c6yp6qhzppwadayxkdz00b46sas"))))
+         "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n"))))
     (build-system emacs-build-system)
     ;; We use 'emacs' because AUCTeX requires dbus at compile time
     ;; ('emacs-minimal' does not provide dbus).
@@ -1753,7 +1756,7 @@ and stored in memory.")
 (define-public emacs-dash
   (package
     (name "emacs-dash")
-    (version "2.15.0")
+    (version "2.16.0")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1762,7 +1765,7 @@ and stored in memory.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"))))
+                "150k48llqz2mb66vbznpyj47r6g16amfl7hbg8q46djq8mp7zc2v"))))
     (build-system emacs-build-system)
     (arguments
      `(#:tests? #t
@@ -2644,7 +2647,7 @@ completing keywords and smart indentation.")
     (description
      "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to
 verify the spec associated with the current buffer, or entire project, as well
-as moving between the spec files, and coresponding code files.
+as moving between the spec files, and corresponding code files.
 
 Also included are keybindings for spec files and Dired buffers, as well as
 snippets for yasnippet.")
@@ -2719,6 +2722,183 @@ the speedbar window.")
      "This package provides commands to quickly switch between shell buffers.")
     (license license:gpl3+)))
 
+(define-public emacs-names
+  (let ((commit "d8baba5360e5253938a25d3e005455b6d2d86971")
+        (version "20151201.0")
+        (revision "8"))
+    (package
+      (name "emacs-names")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Malabarba/names")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "11wyha2q8y7bzqq3jrzix8n97ywvsibvddrahqcps1a1yqk4hzfz"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/Malabarba/names/")
+      (synopsis "Namespace implementation for Emacs Lisp")
+      (description
+       "This package provides a macro that writes your namespaces for you.")
+      (license license:gpl3+))))
+
+(define-public emacs-evil-textobj-syntax
+  (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3")
+        (version "0")
+        (revision "1"))
+    (package
+      (name "emacs-evil-textobj-syntax")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/laishulu/evil-textobj-syntax/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "031p5i3274dazp7rz6m5y38shfgszm1clmkcf58qfqlvy978ammc"))))
+      (build-system emacs-build-system)
+      (propagated-inputs `(("emacs-evil" ,emacs-evil)
+                           ("emacs-names" ,emacs-names)))
+      (home-page "https://github.com/laishulu/evil-textobj-syntax/")
+      (synopsis "Text objects based on syntax highlighting")
+      (description
+       "This package provides text objects for @code{evil-mode} with
+boundaries defined by syntax highlighting.")
+      (license license:gpl3+))))
+
+(define-public emacs-flycheck-flow
+  (let ((commit "9e8e52cfc98af6a23fd906f9cb5d5d470d8cf82d")
+        (version "1.1")
+        (revision "1"))
+    (package
+      (name "emacs-flycheck-flow")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/lbolla/emacs-flycheck-flow")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "14qldlisbmxzammr500gyha2hiv2xgyzfc6mysqii06kbcqn1ik1"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-flycheck" ,emacs-flycheck)))
+      (home-page "https://github.com/lbolla/emacs-flycheck-flow")
+      (synopsis "Flow support for @code{flycheck-mode}")
+      (description
+       "This package allows @code{flycheck-mode} to provide syntax-checking
+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
+respective @code{*Help*} buffers.")
+      (license license:gpl3+))))
+
+(define-public emacs-docker-compose-mode
+  (package
+    (name "emacs-docker-compose-mode")
+    (version "1.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/meqif/docker-compose-mode")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1fbcxwfvm33xcdj3cs26d9i1zyrryyjjkv7sc3mfxd45nq8d3ivj"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-f" ,emacs-f)))
+    (home-page "https://github.com/meqif/docker-compose-mode/")
+    (synopsis "Major mode for editing @file{docker-compose} files")
+    (description
+     "This is a major mode for @file{docker-compose} files that provides
+completion of relevant keywords.")
+    (license license:expat)))
+
+(define-public emacs-sudo-edit
+  (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d")
+        (version "0.1.0")
+        (revision "6"))
+    (package
+      (name "emacs-sudo-edit")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/nflath/sudo-edit")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1qv58x5j5a3v1s2ylhck1ykbfclq0mbi0gsvaql3nyv8cxazqlwl"))))
+      (build-system emacs-build-system)
+      (home-page "https://github.com/nflath/sudo-edit/")
+      (synopsis "Open files as another user")
+      (description
+       "This package allows editing files as another user, including the root
+user.")
+      (license license:gpl3+))))
+
+(define-public emacs-miniedit
+  (package
+    (name "emacs-miniedit")
+    (version "2.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emacsmirror/miniedit")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1850z96gly0jnr50472idqz1drzqarr0n23bbasslrc501xkg0bq"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/emacsmirror/miniedit/")
+    (synopsis "Enhanced editing for minibuffer fields")
+    (description
+     "This package provides a function that can be called from the
+minibuffer to enable editing the minibuffer input in another buffer with
+@code{text-mode} enabled.")
+    (license license:gpl2+)))
+
 (define-public emacs-ob-ipython
   (package
     (name "emacs-ob-ipython")
@@ -2744,14 +2924,14 @@ source code using IPython.")
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
-    (version "0.17")
+    (version "0.18")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
                                   version ".tar"))
               (sha256
                (base32
-                "0zclh2nxj5p10n214sxyxy3ca07l5s9p5spk0xp1smr6nzn0w7gb"))))
+                "00kich80zdg7v3v613f9prqddkpwpm1nf9sj10f0n6wh15rzwv07"))))
     (build-system emacs-build-system)
     (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
     (propagated-inputs
@@ -3928,16 +4108,16 @@ regardless of @code{highlight-symbol-idle-delay}.
 (define-public emacs-hl-todo
   (package
     (name "emacs-hl-todo")
-    (version "1.9.0")
+    (version "3.0.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://raw.githubusercontent.com/tarsius/hl-todo/"
-                    version "/hl-todo.el"))
-              (file-name (string-append "hl-todo-" version ".el"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/tarsius/hl-todo")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0728givzh7xv5i88ac9if8byj1p8bilrj1fnizca10s0rv100hdr"))))
+                "07xcc04ivpl5sbgb55qz84mz6wa500h0awzw1zq1ba5mfjjq8hls"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/tarsius/hl-todo")
     (synopsis "Emacs mode to highlight TODO and similar keywords")
@@ -4901,7 +5081,7 @@ If you want to mark a folder manually as a project just create an empty
 (define-public emacs-elfeed
   (package
     (name "emacs-elfeed")
-    (version "3.0.0")
+    (version "3.1.0")
     (source
      (origin
        (method git-fetch)
@@ -4910,7 +5090,7 @@ If you want to mark a folder manually as a project just create an empty
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "01x4ww63lvn04c7f3ab5vx2s20xqisvv8213qwswz7vr9nxja5yi"))))
+        (base32 "1bzpl6lc7kq9bph4bfz1fn19207blrnhjr2g7yinhn0nnnjmxi8i"))))
     (build-system emacs-build-system)
     (arguments
      `(#:tests? #t
@@ -5557,7 +5737,7 @@ contains the following improvements over it:
 @item Use ASDF to loads contribs on demand.
 @end enumerate
 
-SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
+SLY tracks SLIME's bugfixes and all its familiar features (debugger, inspector,
 xref, etc...) are still available, but with better integration.")
       (license license:gpl3+))))
 
@@ -5581,7 +5761,7 @@ xref, etc...) are still available, but with better integration.")
       (synopsis "Major mode for lua")
       (description
        "This Emacs package provides a mode for @uref{https://www.lua.org/,
-Lua programing language}.")
+Lua programming language}.")
       (license license:gpl2+))))
 
 (define-public emacs-ebuild-mode
@@ -5632,8 +5812,8 @@ extensions.")
     (license license:gpl3+)))
 
 (define-public emacs-evil-collection
-  (let ((commit "baa9c6880779d416a91bf5bde3589673a7403612")
-        (revision "8"))
+  (let ((commit "0748c695dfa89b79eb316da5060360de8c0f04da")
+        (revision "9"))
     (package
       (name "emacs-evil-collection")
       (version (git-version "0.0.1" revision commit))
@@ -5645,7 +5825,7 @@ extensions.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "09v97nk7qawphfijzqxzi2y63ydmfq7hsgpljjxwkykrc5h0kdlj"))))
+                  "17w8nh3q7ffc7776f3qzixk0c0g6vys3xybgw16ky1f416585kvb"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-evil" ,emacs-evil)))
@@ -5866,7 +6046,7 @@ pasting into and from @code{tmux} paste buffers.")
 (define-public emacs-evil-nerd-commenter
   (package
     (name "emacs-evil-nerd-commenter")
-    (version "3.3.6")
+    (version "3.3.7")
     (source
      (origin
        (method git-fetch)
@@ -5876,7 +6056,7 @@ pasting into and from @code{tmux} paste buffers.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0074i9lvfs5hkbf63g1xh3n7dbmkax30bppkx2cd394c7zlsvzzk"))))
+         "1r8shfdddys9vqvrxf7s6z83ydqx9xhqs9sa7klbsajryqcp50b7"))))
     (build-system emacs-build-system)
     (propagated-inputs `(("emacs-evil" ,emacs-evil)))
     (home-page "https://github.com/redguardtoo/evil-nerd-commenter")
@@ -6881,34 +7061,32 @@ abbreviation of the mode line displays (lighters) of minor modes.")
     (license license:gpl2+)))
 
 (define-public emacs-use-package
-  (let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
-        (revision "1"))
-    (package
-     (name "emacs-use-package")
-     (version (git-version "2.3" revision commit))
-     (source (origin
+  (package
+    (name "emacs-use-package")
+    (version "2.4")
+    (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/jwiegley/use-package")
-                    (commit commit)))
+                    (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
-     (build-system emacs-build-system)
-     (propagated-inputs
-      `(("emacs-diminish" ,emacs-diminish)))
-     (arguments
-      `(#:tests? #t
-        #:test-command '("emacs" "--batch"
-                         "-l" "use-package-tests.el"
-                         "-f" "ert-run-tests-batch-and-exit")))
-     (home-page "https://github.com/jwiegley/use-package")
-     (synopsis "Declaration for simplifying your .emacs")
-     (description "The use-package macro allows you to isolate package
+                "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-diminish" ,emacs-diminish)))
+    (arguments
+     `(#:tests? #t
+       #:test-command '("emacs" "--batch"
+                        "-l" "use-package-tests.el"
+                        "-f" "ert-run-tests-batch-and-exit")))
+    (home-page "https://github.com/jwiegley/use-package")
+    (synopsis "Declaration for simplifying your .emacs")
+    (description "The use-package macro allows you to isolate package
 configuration in your @file{.emacs} file in a way that is both
 performance-oriented and tidy.")
-     (license license:gpl2+))))
+    (license license:gpl2+)))
 
 (define-public emacs-strace-mode
   (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
@@ -7537,9 +7715,9 @@ pressed simultaneously or a single key quickly pressed twice.")
     (propagated-inputs
      `(("emacs-evil" ,emacs-evil)))
     (home-page "https://github.com/timcharper/evil-surround")
-    (synopsis "Easily modify surrounding parantheses and quotes")
+    (synopsis "Easily modify surrounding parentheses and quotes")
     (description "@code{emacs-evil-surround} allows easy deletion, change and
-addition of surrounding pairs, such as parantheses and quotes, in evil mode.")
+addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
     (license license:gpl3+)))
 
 (define-public emacs-evil-commentary
@@ -8188,7 +8366,7 @@ key.  Optionally, a mouse pop-up can be added by binding
              version ".tar"))
        (sha256
         (base32
-         "02r1qqsxi6qk7q4cj6a6pygbj856dcw9vcmhfh0ib92j41v77q6y"))))
+         "16hl2s22l3wc9drnwzw6hn7xrm49ml9lii0s6k218dgahdgsncmf"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-prop-menu" ,emacs-prop-menu)))
@@ -8392,8 +8570,8 @@ through them using @key{C-c C-SPC}.")
     (license license:gpl3+)))
 
 (define-public emacs-slack
-  (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
-        (revision "5"))
+  (let ((commit "10fbb81f567b44647ad125a48ecd72df106fb624")
+        (revision "6"))
     (package
       (name "emacs-slack")
       (version (git-version "0.0.2" revision commit))
@@ -8405,8 +8583,14 @@ through them using @key{C-c C-SPC}.")
                 (file-name (git-file-name name commit))
                 (sha256
                  (base32
-                  "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
+                  "01ln9rbalgpxw6rbr4czhy6bd8wrrpyf0qgn2chcq3zmmrn4sy1z"))))
       (build-system emacs-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           ;; HOME needs to exist for source compilation.
+           (add-before 'build 'set-HOME
+             (lambda _ (setenv "HOME" "/tmp") #t)))))
       (propagated-inputs
        `(("emacs-alert" ,emacs-alert)
          ("emacs-emojify" ,emacs-emojify)
@@ -8758,7 +8942,7 @@ supports multiple backends such as @code{vlc}, @code{mpg123},
     (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes")
     (synopsis "Groovy related modes for Emacs")
     (description
-     "This package provides @code{groovy-mode} for syntax highlighing in
+     "This package provides @code{groovy-mode} for syntax highlighting in
 Groovy source files, REPL integration with run-groovy and Grails project
 navigation with the grails mode.")
     (license license:gpl3+)))
@@ -11463,7 +11647,7 @@ bookmarks and history.")
 (define-public emacs-irfc
   (package
     (name "emacs-irfc")
-    (version "20130824.507")
+    (version "20130824.507-1")
     (source
      (origin
        (method url-fetch)
@@ -11471,7 +11655,7 @@ bookmarks and history.")
        (file-name (string-append "irfc-" version ".el"))
        (sha256
         (base32
-         "197ybqwbj8qjh2p9pkf5mvqnrkpcgmv8c5s2gvl6msyrabk0mnca"))))
+         "0rbfrza56kvspvgrwg0b5bj30d0qncqdsmfxn3y5caq4ifcj77hv"))))
     (build-system emacs-build-system)
     (home-page "https://www.emacswiki.org/emacs/download/irfc.el")
     (synopsis "Interface for IETF RFC document")
@@ -11616,15 +11800,14 @@ modes of SLIME.")
 (define-public emacs-sml-mode
   (package
     (name "emacs-sml-mode")
-    (version "6.8")
+    (version "6.9")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://elpa.gnu.org/packages/sml-mode-"
                            version ".el"))
        (sha256
-        (base32
-         "105fcrz5qp95f2n3fdm3awr6z58sbrjihjss6qnrg4lz2ggbc328"))))
+        (base32 "1bdg9ywpvj85hxqah9w1raxlcrhkyx67nw22jwd1bd5j0fhmgqij"))))
     (build-system emacs-build-system)
     (home-page "http://elpa.gnu.org/packages/sml-mode.html")
     (synopsis "Major mode for editing (Standard) ML")
@@ -11766,7 +11949,7 @@ It provides auto-completion for HTTP methods and headers in
        `(("emacs-dash" ,emacs-dash)))
       (home-page "https://github.com/nicferrier/emacs-noflet")
       (synopsis "Locally override functions")
-      (description "@code{emacs-noflet} let's you locally override functions,
+      (description "@code{emacs-noflet} lets you locally override functions,
 in the manner of @command{flet}, but with access to the original function
 through the symbol: @command{this-fn}.")
       (license license:gpl3+))))
@@ -11961,30 +12144,29 @@ autosuggestions with:
     (license license:gpl3+)))
 
 (define-public emacs-desktop-environment
-  (let ((commit "a9eba14f2b5b8070f78dca839ca8259736e346a6"))
-    (package
-      (name "emacs-desktop-environment")
-      (version (git-version "0.2.0" "1" commit))
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
-               (commit commit)))
-         (file-name (git-file-name name version))
-         (sha256
-          (base32
-           "0x73x5hy7w55jrzy3xvqhk90rrsznmxjqvsvwhh21qznv5w269xz"))))
-      (build-system emacs-build-system)
-      (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
-      (synopsis "Control your GNU/Linux desktop environment from Emacs")
-      (description
-       "This package helps you control your GNU/Linux desktop from Emacs.
+  (package
+    (name "emacs-desktop-environment")
+    (version "0.2.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.petton.fr/DamienCassou/desktop-environment")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0n5sa94dwhnkfp3x42pggsbr5db38m85hl8ddb3qs7yfdi9bjm52"))))
+    (build-system emacs-build-system)
+    (home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
+    (synopsis "Control your GNU/Linux desktop environment from Emacs")
+    (description
+     "This package helps you control your GNU/Linux desktop from Emacs.
 With @code{desktop-environment}, you can control the brightness and volume as
 well as take screenshots and lock your screen.  The package depends on the
 availability of shell commands to do the hard work for us.  These commands can
 be changed by customizing the appropriate variables.")
-      (license license:gpl3+))))
+    (license license:gpl3+)))
 
 (define-public emacs-org-caldav
   (package
@@ -12299,7 +12481,7 @@ the GIF result.")
     (home-page "https://github.com/atykhonov/google-translate")
     (synopsis "Emacs interface to Google Translate")
     (description
-     "This packages provides an Emacs interface to the Google Translate
+     "This package provides an Emacs interface to the Google Translate
 on-line service.")
     (license license:gpl3+)))
 
@@ -12930,6 +13112,32 @@ recursive size is not obtained.  Once this mode is enabled, every new Dired
 buffer displays recursive dir sizes.")
     (license license:gpl3+)))
 
+(define-public emacs-dired-rsync
+  (package
+    (name "emacs-dired-rsync")
+    (version "0.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/stsquad/dired-rsync.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0jzbn0izxqgz719gb6fpr60zbcb6w1ama13ngpvrig82nlhs37fv"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-s" ,emacs-s)
+       ("emacs-dash" ,emacs-dash)))
+    (home-page "https://github.com/stsquad/dired-rsync/")
+    (synopsis "Support for rsync from Emacs dired buffers")
+    (description "This package adds a single command @code{dired-rsync} which
+allows the user to copy marked files in a dired buffer via @code{rsync}.  This
+is useful, especially for large files, because the copy happens in the
+background and doesn’t lock up Emacs.  It is also more efficient than using
+tramps own encoding methods for moving data between systems.")
+    (license license:gpl3+)))
+
 (define-public emacs-pcre2el
   ;; Last release is very old so we get the latest commit.
   (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d"))
@@ -14235,7 +14443,7 @@ the standard @code{Dockerfile} file format.")
        ("emacs-spinner" ,emacs-spinner)))
     (home-page "https://github.com/emacs-lsp/lsp-mode")
     (synopsis "Emacs client and library for the Language Server Protocol")
-    (description "@code{LSP-mode} is a client and library implmentation for
+    (description "@code{LSP-mode} is a client and library implementation for
 the Language Server Protocol.  This mode aims to provide an IDE-like
 experience by providing optional integration with other popular Emacs packages
 like @code{company}, @code{flycheck}, and @code{projectile}.")
@@ -15334,3 +15542,77 @@ numbers within that region will be incremented/decremented (unlike in Vim).
 
 It is a fork of https://github.com/cofi/evil-numbers, which is unmaintained.")
       (license license:gpl3+))))
+
+(define-public emacs-rotate-text
+  (package
+    (name "emacs-rotate-text")
+    (version "0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nschum/rotate-text.el.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1cgxv4aibkvv6lnssynn0438a615fz3zq8hg9sb0lhfgsr99pxln"))))
+    (build-system emacs-build-system)
+    (home-page "http://nschum.de/src/emacs/rotate-text/")
+    (synopsis "Cycle through words, symbols and patterns in Emacs")
+    (description "@code{rotate-text} allows you rotate to commonly
+interchanged text with a single keystroke.  For example, you can toggle
+between \"frame-width\" and \"frame-height\", between \"public\",
+\"protected\" and \"private\" and between \"variable1\", \"variable2\" through
+\"variableN\".")
+    (license license:gpl2+)))
+
+(define-public emacs-ediprolog
+  (package
+    (name "emacs-ediprolog")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://elpa.gnu.org/packages/ediprolog-"
+             version
+             ".el"))
+       (sha256
+        (base32
+         "039ffvp7c810mjyargmgw1i87g0z8qs8qicq826sd9aiz9hprfaz"))))
+    (build-system emacs-build-system)
+    (home-page "http://elpa.gnu.org/packages/ediprolog.html")
+    (synopsis "Emacs Does Interactive Prolog")
+    (description "This package provides a major mode that let the user
+interact with SWI-Prolog in all buffers.  For instance, one can consult Prolog
+programs and evaluate embedded queries.  This mode is focused on the command
+@code{ediprolog-dwim} (Do What I Mean) which is supposed to, depending on the
+context, carry out the appropriate action.")
+    (license license:gpl3+)))
+
+(define-public emacs-evil-cleverparens
+  (let ((commit "8c45879d49bfa6d4e414b6c1df700a4a51cbb869")
+        (revision "1"))
+    (package
+      (name "emacs-evil-cleverparens")
+      (version (git-version "2017-07-17" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/luxbock/evil-cleverparens.git")
+                      (commit commit)))
+                (sha256 (base32 "0lhnybpnk4n2yhlcnj9zxn0vi5hpjfaqfhvyfy7ckzz74g8v7iyw"))
+                (file-name (git-file-name name version))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-evil" ,emacs-evil)
+         ("emacs-paredit" ,emacs-paredit)
+         ("emacs-smartparens" ,emacs-smartparens)))
+      (home-page "https://github.com/luxbock/evil-cleverparens")
+      (synopsis "Emacs modal editing optimized for editing Lisp")
+      (description "@code{evil-cleverparens} remaps Evil keybindings to allow
+modal editing with screwing up the structure of Lisp code.  Alternatives for
+verb commands which would are normally destructive (such as deletion) are
+provided.  Those alternative commands are and bound by default to their
+corresponding Evil keys.")
+      (license license:expat))))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 7c60cc6021..e18db26821 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
@@ -115,7 +115,8 @@
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:tests? #f  ; no check target
-       #:configure-flags (list "--with-modules")
+       #:configure-flags (list "--with-modules"
+                               "--disable-build-details")
        #:phases
        (modify-phases %standard-phases
          (add-before 'configure 'fix-/bin/pwd
@@ -202,11 +203,12 @@ languages.")
     (synopsis "The extensible text editor (used only for byte-compilation)")
     (build-system gnu-build-system)
     (arguments
-     `(,@(substitute-keyword-arguments (package-arguments emacs)
-           ((#:phases phases)
-            `(modify-phases ,phases
-               (delete 'install-site-start))))
-        #:configure-flags (list "--with-gnutls=no")))
+     (substitute-keyword-arguments (package-arguments emacs)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (delete 'install-site-start)))
+       ((#:configure-flags flags ''())
+        `(list "--with-gnutls=no" "--disable-build-details"))))
     (inputs
      `(("ncurses" ,ncurses)))
     (native-inputs
@@ -220,9 +222,9 @@ languages.")
 editor (with xwidgets support)")
     (build-system gnu-build-system)
     (arguments
-     `(#:configure-flags
-       '("--with-xwidgets")
-       ,@(package-arguments emacs)))
+     (substitute-keyword-arguments (package-arguments emacs)
+       ((#:configure-flags flags ''())
+        `(cons "--with-xwidgets" ,flags))))
     (inputs
      `(("webkitgtk" ,webkitgtk)
        ("libxcomposite" ,libxcomposite)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index bb5addd4a2..5b9fee3c09 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -65,9 +65,9 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
@@ -1049,7 +1049,7 @@ emulation community.  It provides highly accurate emulation.")
 (define-public retroarch
   (package
     (name "retroarch")
-    (version "1.7.6")
+    (version "1.7.7")
     (source
      (origin
        (method git-fetch)
@@ -1058,7 +1058,7 @@ emulation community.  It provides highly accurate emulation.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "122c6cqax92qk2mhm9ywnwhw3qkv8f1ybma9gal5w6i2gsmp0s0s"))))
+        (base32 "026720z0vpiwr4da7l2x2yinns09fmg6yxsib203xwnixj399azi"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 78a9930802..9b0f00c7be 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -779,7 +779,7 @@ language.")
                "-DKICAD_SCRIPTING=ON"
                "-DKICAD_SCRIPTING_MODULES=ON"
                "-DKICAD_SCRIPTING_WXPYTHON=ON"
-               ;; Has to be set explicitely, as we don't have the wxPython
+               ;; Has to be set explicitly, as we don't have the wxPython
                ;; headers in the wxwidgets store item, but in wxPython.
                (string-append "-DCMAKE_CXX_FLAGS=-I"
                               (assoc-ref %build-inputs "wxpython")
@@ -851,18 +851,18 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
     (package
       (name "kicad-library")
       (version version)
-      (source (origin
-                (method url-fetch)
-                (uri (string-append
-                      "http://downloads.kicad-pcb.org/libraries/kicad-library-"
-                      version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv"))))
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append
+               "https://kicad-downloads.s3.cern.ch/libraries/kicad-library-"
+               version ".tar.gz"))
+         (sha256
+          (base32 "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv"))))
       (build-system cmake-build-system)
       (arguments
        `(#:out-of-source? #t
-         #:tests? #f ; no tests
+         #:tests? #f                    ; no tests
          #:phases
          (modify-phases %standard-phases
            (add-after 'install 'install-footprints ; from footprints tarball
@@ -882,14 +882,14 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
                       (fp-lib-table (string-append template-dir "/fp-lib-table")))
                  (delete-file fp-lib-table)
                  (copy-file (string-append fp-lib-table ".for-pretty")
-                              fp-lib-table))
+                            fp-lib-table))
                #t)))))
       (native-search-paths
        (list (search-path-specification
-              (variable "KISYSMOD") ; footprint path
+              (variable "KISYSMOD")     ; footprint path
               (files '("share/kicad/modules")))
              (search-path-specification
-              (variable "KISYS3DMOD") ; 3D model path
+              (variable "KISYS3DMOD")   ; 3D model path
               (files '("share/kicad/modules/packages3d")))))
       ;; Kicad distributes footprints in a separate tarball.
       (native-inputs
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 790be1a59e..11fcf0b7b0 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
 ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
@@ -65,18 +65,17 @@
 (define-public efl
   (package
     (name "efl")
-    (version "1.21.1")
+    (version "1.22.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://download.enlightenment.org/rel/libs/efl/efl-"
                     version ".tar.xz"))
-              (patches (search-patches "efl-mesa-compat.patch"))
               (sha256
                (base32
-                "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4"))))
-    (outputs '("out"       ; 49 MB
-               "include")) ; 17 MB
+                "1l0wdgzxqm2y919277b1p9d37xzg808zwxxaw0nn44arh8gqk68n"))))
+    (outputs '("out"       ; 53 MB
+               "include")) ; 21 MB
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -91,6 +90,7 @@
        ("libjpeg" ,libjpeg)
        ("libraw" ,libraw)
        ("librsvg" ,librsvg)
+       ("libsndfile" ,libsndfile)
        ("libspectre" ,libspectre)
        ("libtiff" ,libtiff)
        ("libwebp" ,libwebp)
@@ -113,6 +113,7 @@
        ("openjpeg" ,openjpeg-1)
        ("poppler" ,poppler)
        ("printproto" ,printproto)
+       ("pulseaudio" ,pulseaudio)
        ("wayland-protocols" ,wayland-protocols)
        ("xinput" ,xinput)
        ("xpr" ,xpr)
@@ -131,11 +132,9 @@
        ("luajit" ,luajit) ; elua.pc, evas.pc, evas-cxx.pc
        ("libinput" ,libinput-minimal) ; elput.pc
        ("libpng" ,libpng) ; evas.pc, evas-cxx.pc
-       ("libsndfile" ,libsndfile) ; ecore-audio.pc, ecore-audio-cxx.pc
        ("libxkbcommon" ,libxkbcommon) ; ecore-wl2.pc, elementary.pc, elput.pc
        ("mesa" ,mesa) ; ecore-drm2.pc
        ("openssl" ,openssl) ; ecore-con.pc, eet.pc, eet-cxx.pc, emile.pc
-       ("pulseaudio" ,pulseaudio) ; ecore-audio.pc, ecore-audio-cxx.pc
        ("util-linux" ,util-linux) ; mount: eeze.pc
        ("wayland" ,wayland) ; ecore-wl2.pc, elementary.pc
        ("zlib" ,zlib))) ; eet.pc, eet-cxx.pc, emile.pc
@@ -204,7 +203,10 @@ removable devices or support for multimedia.")
                   #t))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dtests=true")
+     `(#:configure-flags (list "-Dtests=true"
+                               (string-append "-Dedje-cc="
+                                              (assoc-ref %build-inputs "efl")
+                                              "/bin/edje_cc"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-home-directory
@@ -287,6 +289,7 @@ Libraries with some extra bells and whistles.")
        (modify-phases %standard-phases
          (add-before 'configure 'set-system-actions
            (lambda* (#:key inputs #:allow-other-keys)
+            (setenv "HOME" "/tmp")
              (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
                    (setxkbmap (assoc-ref inputs "setxkbmap"))
                    (utils     (assoc-ref inputs "util-linux"))
@@ -347,15 +350,25 @@ embedded systems.")
 (define-public python-efl
   (package
     (name "python-efl")
-    (version "1.21.0")
+    (version "1.22.0")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "http://download.enlightenment.org/rel/bindings/"
+        (uri (string-append "https://download.enlightenment.org/rel/bindings/"
                             "python/python-efl-" version ".tar.xz"))
         (sha256
          (base32
-          "08x2cv8hnf004c3711250wrax21ffj5y8951pvk77h98als4pq47"))))
+          "1qhy63c3fs2bxkx2np5z14hyxbr12ii030crsjnhpbyw3mic0s63"))
+        (modules '((guix build utils)))
+        ;; Remove files generated by Cython
+        (snippet
+          '(begin
+             (copy-file "efl/dbus_mainloop/e_dbus.c" "efl/dbus_mainloop/e_dbus.q")
+             (for-each delete-file (find-files "efl" ".*\\.c$"))
+             (delete-file "efl/eo/efl.eo_api.h")
+             (copy-file "efl/dbus_mainloop/e_dbus.q" "efl/dbus_mainloop/e_dbus.c")
+             (delete-file "efl/dbus_mainloop/e_dbus.q")
+             #t))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -471,7 +484,7 @@ and in creating applications based on the Enlightenment Foundation Library suite
                                   "apps/ephoto/ephoto-" version ".tar.xz")))
         (sha256
          (base32
-          "04kli43sfsy6s660g13pjc0kjmgdcmq8m4qh02vvpcwv60mf9mgz"))))
+          "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm
index 5422170dfe..33e43a9e55 100644
--- a/gnu/packages/fabric-management.scm
+++ b/gnu/packages/fabric-management.scm
@@ -136,7 +136,7 @@ running the opensm daemon.")
                (rename-file perlin perlout)
                #t))))))
     (home-page "https://github.com/linux-rdma/infiniband-diags")
-    (synopsis "Infiniband diagnotic tools")
+    (synopsis "Infiniband diagnostic tools")
     (description "This is a set of command-line utilities to help configure,
 debug, and maintain Infiniband (IB) fabrics.
 
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 9a210b474f..e1a1e8ab6f 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -63,6 +63,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
@@ -344,7 +345,7 @@ do so.")
 (define-public electrum
   (package
     (name "electrum")
-    (version "3.3.4")
+    (version "3.3.5")
     (source
      (origin
        (method url-fetch)
@@ -352,8 +353,7 @@ do so.")
                            version "/Electrum-"
                            version ".tar.gz"))
        (sha256
-        (base32
-         "0h128wklz5qwx5zqzbd48x46kxjxs12wcna9lhak70y5pj2hw8rg"))
+        (base32 "1csj0n96zlajnrs39wsazfj5lmy7v7n77cdz56lr8nkmchh6k9z1"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -934,7 +934,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
 (define-public python-duniterpy
   (package
     (name "python-duniterpy")
-    (version "0.53.0")
+    (version "0.54.1")
     (source
      (origin
        (method git-fetch)
@@ -945,7 +945,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1km585xlv6dm693s5x6apcnx3ixvz08g8yjfclszhy4jakhpv0ya"))))
+         "15z5wc3ahvv8axyiqmf7hd4y91ahh1x4bfmgsqxwygyhswl1yjq8"))))
     (build-system python-build-system)
     (arguments
      ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
@@ -992,7 +992,7 @@ main features are:
 (define-public silkaj
   (package
     (name "silkaj")
-    (version "0.6.5")
+    (version "0.7.0")
     (source
      (origin
        (method git-fetch)
@@ -1002,7 +1002,7 @@ main features are:
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1fy509vsmz7rs9m3vah0ky0jvq9mxmfga6b18rkrkl2lbjk872q2"))))
+         "0pnd5v15sgxxm114sbs0z24a4dars5hy1nabc9v9ask7kxzrxs9y"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f))                    ;no test
@@ -1011,7 +1011,8 @@ main features are:
        ("duniterpy" ,python-duniterpy)
        ("ipaddress" ,python-ipaddress)
        ("pynacl" ,python-pynacl)
-       ("tabulate" ,python-tabulate)))
+       ("tabulate" ,python-tabulate)
+       ("texttable" ,python-texttable)))
     (home-page "https://silkaj.duniter.org/")
     (synopsis "Command line client for Duniter network")
     (description "@code{Silkaj} is a command line client for the
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 4df4b22843..90cb8845cf 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -186,19 +186,21 @@ by the b43-open driver of Linux-libre.")
 (define-public seabios
   (package
     (name "seabios")
-    (version "1.12.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.seabios.org/downloads/"
-                                  "seabios-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0jx7pnsc2s4a7wbvvwqig6x8wmkw7f2sz0pbgj4jfp77cpjvh5yz"))))
+    (version "1.12.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://review.coreboot.org/seabios.git")
+             (commit (string-append "rel-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1g9y03r5ky58q2g9rhbwfhs42z0zb9f59wfxpwh6zjqa6fyv1r80"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("python-2" ,python-2)))
     (arguments
-     `(#:tests? #f ; No check target.
+     `(#:tests? #f                      ; no check target
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 6405ce42bb..3a801e5c94 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -18,12 +18,14 @@
 ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
 ;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
 ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1018,13 +1020,13 @@ vector graphics.")
     (home-page "https://github.com/sunaku/tamzen-font")
     (synopsis "Monospaced bitmap font for console and X11")
     (description
-     "Tamzen is a fork of the @code{Tamsyn} font.  It is programatically forked
+     "Tamzen is a fork of the @code{Tamsyn} font.  It is programmatically forked
 from @code{Tamsyn} version 1.11, backporting glyphs from older versions while
 deleting deliberately empty glyphs (which are marked as unimplemented) to
 allow secondary/fallback fonts to provide real glyphs at those codepoints.
 
 The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols,
-which are programatically injected with @code{bitmap-font-patcher} and
+which are programmatically injected with @code{bitmap-font-patcher} and
 later hand-tweaked with the gbdfed(1) editor:
 
 @enumerate
@@ -1353,6 +1355,29 @@ italics shapes.  This package provides only TrueType files (TTF).")
     (home-page "https://software.sil.org/gentium/")
     (license license:silofl1.1)))
 
+(define-public font-sil-andika
+  (package
+    (name "font-sil-andika")
+    (version "5.000")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://software.sil.org/downloads/r/andika/Andika-"
+                    version ".zip"))
+              (sha256
+               (base32
+                "01zm7p32gxfwmv7h3cfj2vx59846w2y6rxqy67grn2dyjh8pljv0"))))
+    ;; As for Gentium (see above), the TTF files are considered source.
+    (build-system font-build-system)
+    (synopsis "Sans serif font designed especially for literacy use")
+    (description
+     "Andika SIL is a sans serif, Unicode-compliant font designed especially
+for literacy use, taking into account the needs of beginning readers.  The
+focus is on clear, easy-to-perceive letterforms that will not be readily
+confused with one another.  This package provides only TrueType files (TTF).")
+    (home-page "https://software.sil.org/andika/")
+    (license license:silofl1.1)))
+
 (define-public font-sil-charis
   (package
     (name "font-sil-charis")
@@ -1424,3 +1449,30 @@ formatting.")
      "Public Sans is a strong, neutral, sans-serif typeface for text or
 display based on Libre Franklin.")
     (license license:silofl1.1)))
+
+(define-public font-hermit
+  (package
+    (name "font-hermit")
+    (version "2.0")
+    (source (origin
+              (method url-fetch/tarbomb)
+              (uri (string-append "https://pcaro.es/d/otf-hermit-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0"))))
+    (build-system font-build-system)
+    (arguments
+     `(#:tests? #f))
+    (home-page "https://pcaro.es/p/hermit/")
+    (synopsis "Monospace font")
+    (description
+     "Hermit is a monospace font designed to be clear, pragmatic and very
+readable.  Its creation has been focused on programming.  Every glyph was
+carefully planned and calculated, according to defined principles and rules.
+For this reason, Hermit is coherent and regular.
+
+Symbols stand out from common text.  Dots and commas are easily seen, and
+operators are clear even when not surrounded by spaces.  Similar characters
+have been designed to be very distinguishable from each other.")
+    (license license:silofl1.1)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index fa8bb3cad1..b9527659db 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
@@ -152,14 +152,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
     (name "libinput")
-    (version "1.13.0")
+    (version "1.13.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://freedesktop.org/software/libinput/"
                                   "libinput-" version ".tar.xz"))
               (sha256
                (base32
-                "0vb11fzd06xbagrnha2bbzmlfg04bbgb5w5rjrxrrz686mfwj9zb"))))
+                "0vbapc90m49n0z8w8w4v0qf1iiwaixw9h79jfmps9pj8hdls17qx"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Ddocumentation=false")))
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 5dd22215b8..62f6051e98 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -32,6 +32,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages game-development)
+  #:use-module (srfi srfi-1)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -45,6 +46,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
@@ -1037,13 +1039,14 @@ robust and compatible with many systems and operating systems.")
     (version "3.2.2")
     (source
      (origin
-       (method url-fetch)
-       (uri
-        (string-append "https://github.com/MyGUI/" name
-                       "/archive/MyGUI" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/MyGUI/mygui")
+             (commit (string-append "MyGUI" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "13x7cydmj7gjmsg702sqjbfi53z265iv6j7binv3r6a7ibndfa0a"))))
+         "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f                      ; No test target
@@ -1051,7 +1054,11 @@ robust and compatible with many systems and operating systems.")
        (list "-DMYGUI_INSTALL_DOCS=TRUE"
              (string-append "-DOGRE_INCLUDE_DIR="
                             (assoc-ref %build-inputs "ogre")
-                            "/include/OGRE"))))
+                            "/include/OGRE")
+             ;; Demos and tools are Windows-specific:
+             ;; https://github.com/MyGUI/mygui/issues/24.
+             "-DMYGUI_BUILD_DEMOS=FALSE"
+             "-DMYGUI_BUILD_TOOLS=FALSE")))
     (native-inputs
      `(("boost" ,boost)
        ("doxygen" ,doxygen)
@@ -1071,6 +1078,29 @@ of use.")
     (home-page "http://mygui.info/")
     (license license:expat)))
 
+(define-public mygui-gl
+  ;; Closure size is reduced by some 800 MiB.
+  (package
+    (inherit mygui)
+    (name "mygui-gl")
+    (version "3.2.2")
+    (arguments
+     (substitute-keyword-arguments (package-arguments mygui)
+       ((#:configure-flags _)
+        `(cons* "-DMYGUI_RENDERSYSTEM=4" ; 3 is Ogre, 4 is OpenGL.
+                ;; We can't reuse the flags because of the mention to Ogre.
+                (list "-DMYGUI_INSTALL_DOCS=TRUE"
+                      ;; Demos and tools are Windows-specific:
+                      ;; https://github.com/MyGUI/mygui/issues/24.
+                      "-DMYGUI_BUILD_DEMOS=FALSE"
+                      "-DMYGUI_BUILD_TOOLS=FALSE")))))
+    (inputs
+     `(("mesa" ,mesa)
+       ("glu" ,glu)
+       ,@(fold alist-delete (package-inputs mygui)
+               '("ogre"))))
+    (synopsis "Fast, flexible and simple GUI (OpenGL backend)")))
+
 (define-public openmw
   (package
     (name "openmw")
@@ -1097,7 +1127,7 @@ of use.")
      `(("bullet" ,bullet)
        ("ffmpeg" ,ffmpeg)
        ("libxt" ,libxt)
-       ("mygui" ,mygui)
+       ("mygui" ,mygui-gl)              ; OpenMW does not need Ogre.
        ("openal" ,openal)
        ("openscenegraph" ,openscenegraph)
        ("qtbase" ,qtbase)
@@ -1434,3 +1464,62 @@ collection of handy utility functions.  All are 100% portable across nearly
 all modern computing platforms.  Each library component is fairly independent
 of the others")
     (license license:lgpl2.0+)))
+
+(define-public ioquake3
+  ;; We follow master since it seems that there won't be releases after 1.3.6.
+  (let ((commit "95b9cab4d644fa3bf757cfff821cc4f7d76e38b0"))
+    (package
+      (name "ioquake3")
+      (version (git-version "1.3.6" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ioquake/ioq3.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1vflk028z9gccg5yfi5451y1k5wxjdh3qbhjf4x6r7w2pzlxh16z"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("sdl2" ,sdl2)
+         ("libjpeg" ,libjpeg)
+         ("openal" ,openal)
+         ("curl" ,curl)
+         ("opusfile" ,opusfile)
+         ("opus" ,opus)
+         ("libvorbis" ,libvorbis)
+         ("freetype" ,freetype)
+         ("libogg" ,libogg)))
+      (native-inputs
+       `(("which" ,which)               ; Else SDL_version.h won't be found.
+         ("pkg-config" ,pkg-config)))
+      (arguments
+       '(#:tests? #f                    ; No tests.
+         #:make-flags '("CC=gcc"
+                        "USE_INTERNAL_LIBS=0"
+                        "USE_FREETYPE=1"
+                        "USE_RENDERER_DLOPEN=0"
+                        "USE_OPENAL_DLOPEN=0"
+                        "USE_CURL_DLOPEN=0")
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (invoke "make" "copyfiles" "CC=gcc"
+                        "USE_INTERNAL_LIBS=0"
+                       (string-append "COPYDIR="
+                                      (assoc-ref outputs "out")
+                                      "/bin")))))))
+      (home-page "https://ioquake3.org/")
+      (synopsis "FPS game engine based on Quake 3")
+      (description "ioquake3 is a free software first person shooter engine
+based on the Quake 3: Arena and Quake 3: Team Arena source code.  Compared to
+the original, ioquake3 has been cleaned up, bugs have been fixed and features
+added.  The permanent goal is to create the open source Quake 3 distribution
+upon which people base their games, ports to new platforms, and other
+projects.")
+      (supported-systems '("x86_64-linux" "i686-linux"))
+      (license license:gpl2))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6875acdcac..2feecaa729 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -39,6 +39,7 @@
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -85,6 +86,7 @@
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages emulators)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fonts)
@@ -141,6 +143,7 @@
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tcl)
+  #:use-module (gnu packages terminals)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
@@ -920,7 +923,7 @@ watch your CPU playing while enjoying a cup of tea!")
 (define-public nethack
   (package
     (name "nethack")
-    (version "3.6.1")
+    (version "3.6.2")
     (source
       (origin
         (method url-fetch)
@@ -928,7 +931,7 @@ watch your CPU playing while enjoying a cup of tea!")
          (string-append "https://www.nethack.org/download/" version "/nethack-"
                         (string-join (string-split version #\.) "") "-src.tgz"))
         (sha256
-          (base32 "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b"))))
+          (base32 "07fvkm3v11a4pjrq2f66vjslljsvk6raal53skn4gqsfdbd0ml7v"))))
     (inputs
       `(("ncurses" ,ncurses)
         ("bison" ,bison)
@@ -2221,7 +2224,7 @@ falling, themeable graphics and sounds, and replays.")
 (define-public wesnoth
   (package
     (name "wesnoth")
-    (version "1.14.6")
+    (version "1.14.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@@ -2230,7 +2233,7 @@ falling, themeable graphics and sounds, and replays.")
                                   "wesnoth-" version ".tar.bz2"))
               (sha256
                (base32
-                "0aw3czw3nq8ffakhw2libhvrhnllj61xc5lxpjqv0ig1419s1lj5"))))
+                "0j2yvkcggj5k0r2cqk8ndnj77m37a00srfd9qg7pdpqffbinqpj7"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; no check target
@@ -2862,7 +2865,7 @@ is attributed to Albert Einstein.")
 (define-public powwow
   (package
     (name "powwow")
-    (version "1.2.18")
+    (version "1.2.19")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2870,7 +2873,7 @@ is attributed to Albert Einstein.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1gf0jc1vfv05lxij51n3c1dqn3aiiy2kj1v6q14an3wm7yl7cllp"))))
+                "10rjl63hmf62qslyhzqrbw3i2zf09dgxv65avhj0iiz0m4pbc9wy"))))
     (inputs
      `(("ncurses" ,ncurses)))
     (build-system gnu-build-system)
@@ -4405,14 +4408,14 @@ with the mouse isn’t always trivial.")
 (define-public chroma
   (package
     (name "chroma")
-    (version "1.16")
+    (version "1.17")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://level7.org.uk/chroma/download/chroma-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "1gfaw1kf7cxf5ibr61n6dxjihi49gmysn4cvawx1pqvy52ljpk0p"))))
+                "047sf00x71xbmi8bqrhfbmr9bk89l2gbykkqsfpw4wz6yfjscs6y"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f))                    ; no tests included
@@ -5533,6 +5536,41 @@ allows players to easily join servers dedicated to playing Doom
 online.")
     (license license:gpl2+)))
 
+(define-public chocolate-doom
+  (package
+    (name "chocolate-doom")
+    (version "3.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.chocolate-doom.org/downloads/"
+                                  version
+                                  "/chocolate-doom-"
+                                  version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "1f6sw6qa9z0a70dsjh5cs45fkyyxw68s7vkqlykihz8cjcisdbkk"))))
+    (build-system gnu-build-system)
+    (inputs `(("sdl2-net" ,sdl2-net)
+              ("sdl2-mixer" , sdl2-mixer)
+              ("sdl2" ,sdl2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Doom source port preserving the look, feel, and bugs of vanilla
+Doom")
+    (description
+     "Chocolate Doom takes a different approach to other source ports.  Its
+aim is to accurately reproduce the experience of playing Vanilla Doom.  It is
+a conservative, historically accurate Doom source port, which is compatible
+with the thousands of mods and levels that were made before the Doom source
+code was released.  Rather than flashy new graphics, Chocolate Doom's main
+features are its accurate reproduction of the game as it was played in the
+1990s.  The project is developed around a carefully-considered philosophy that
+intentionally restricts which features may be added (and rejects any that
+affect gameplay).")
+    (home-page "https://www.chocolate-doom.org/wiki/index.php/Chocolate_Doom")
+    (license license:gpl2)))
+
 (define-public fortune-mod
   (package
     (name "fortune-mod")
@@ -6654,7 +6692,7 @@ fight each other on an arena-like map.")
 (define-public flare-engine
   (package
     (name "flare-engine")
-    (version "1.09.01")
+    (version "1.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -6663,7 +6701,7 @@ fight each other on an arena-like map.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1117nxir0zwz4pipx7sxj64p68ig6gbz94lkkjbgrk44lhs0hz8p"))))
+                "19l83145ya1wk666acr91b6917a63ak7l77d10i5im8xfhv29ml4"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ;no test
@@ -6682,7 +6720,7 @@ action RPGs.")
 (define-public flare-game
   (package
     (name "flare-game")
-    (version "1.09.01")
+    (version "1.10")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -6691,7 +6729,7 @@ action RPGs.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1hn2cchqsbvvgzqc6zvblnl3qrr6sp5rqxpsrcvdmbjm7b37x37b"))))
+                "0dx4f1j1n3p4q3h0r0fb89f0llvhg9lia0s247pacff3r88ljihk"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ;no test
@@ -7127,3 +7165,150 @@ and bring the war to your enemy.")
                    license:bsd-2 license:bsd-3 license:cc-by3.0 license:cc0
                    license:expat license:fdl1.3+ license:public-domain
                    license:zlib))))
+
+(define-public harmonist
+  (package
+    (name "harmonist")
+    (version "0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://git.tuxfamily.org/harmonist/harmonist.git")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "006vkhb84v78ssfwppc221n4za0y02ypg7ihrihin4vj4gllmzf7"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "git.tuxfamily.org/harmonist/harmonist"))
+    (inputs
+     `(("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go)))
+    (home-page "https://harmonist.tuxfamily.org/")
+    (synopsis "Stealth coffee-break roguelike game")
+    (description "Harmonist: Dayoriah Clan Infiltration is a stealth
+coffee-break roguelike game.  The game has a heavy focus on tactical
+positioning, light and noise mechanisms, making use of various terrain types
+and cones of view for monsters.  Aiming for a replayable streamlined experience,
+the game avoids complex inventory management and character building, relying
+on items and player adaptability for character progression.")
+    (license license:isc)))
+
+(define-public drascula
+  (package
+    (name "drascula")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/scummvm/extras/"
+                                  "Drascula_%20The%20Vampire%20Strikes%20Back/"
+                                  "drascula-" version ".zip"))
+              (sha256
+               (base32
+                "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 match))
+         (let* ((out (assoc-ref %outputs "out"))
+                (share (string-append out "/share/drascula"))
+                (scummvm (assoc-ref %build-inputs "scummvm")))
+           ;; Install data.
+           (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
+                                       "/bin/unzip"))
+                 (doc (string-append out "/share/doc/" ,name "-" ,version)))
+             (for-each
+              (lambda (input)
+                (invoke unzip
+                        "-j"
+                        (assoc-ref %build-inputs input)
+                        "-x" "__MACOSX")
+                ;; Every input provides "readme.txt", and we want to
+                ;; preserve them all.  Therefore we rename them first.
+                (match input
+                  ("drascula-int"
+                   (rename-file "readme.txt" "readme-international.txt"))
+                  ("drascula-audio"
+                   (rename-file "readme.txt" "readme-audio.txt"))
+                  (_ #f))
+                ;; Install documentation.
+                (for-each (lambda (f) (install-file f doc))
+                          (find-files "." "\\.(txt|doc)$"))
+                ;; Install data.
+                (for-each (lambda (f) (install-file f share))
+                          (find-files "." "\\.(ogg|00[0-9])$")))
+              '("drascula-audio" "drascula-int" "source")))
+           ;; Create standalone executable.
+           (let* ((bin (string-append out "/bin"))
+                  (executable (string-append bin "/drascula"))
+                  (bash (string-append (assoc-ref %build-inputs "bash")
+                                       "/bin/bash")))
+             (mkdir-p bin)
+             (with-output-to-file executable
+               (lambda ()
+                 (format #t "#!~a~%" bash)
+                 (format #t
+                         "exec ~a/bin/scummvm --path=~a drascula~%"
+                         scummvm share)))
+             (chmod executable #o755))
+           ;; Create desktop file.  There is no dedicated icon for the
+           ;; game, so we borrow SCUMMVM's.
+           (let ((apps (string-append out "/share/applications")))
+             (mkdir-p apps)
+             (with-output-to-file (string-append apps "/drascula.desktop")
+               (lambda _
+                 (format #t
+                         "[Desktop Entry]~@
+                     Name=Drascula: The Vampire Strikes Back~@
+                     GenericName=Drascula~@
+                     Exec=~a/bin/drascula~@
+                     Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@
+                     Categories=AdventureGame;Game;RolePlaying;~@
+                     Keywords=game;adventure;roleplaying;2D,fantasy;~@
+                     Comment=Classic 2D point and click adventure game~@
+                     Comment[de]=klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier~@
+                     Comment[fr]=Jeux classique d'aventure pointer-et-cliquer en 2D~@
+                     Comment[it]=Gioco classico di avventura punta e clicca 2D~@
+                     Type=Application~%"
+                         out scummvm))))
+           #t))))
+    (native-inputs
+     `(("bash" ,bash)
+       ("unzip" ,unzip)))
+    (inputs
+     `(("scummvm" ,scummvm)
+       ("drascula-int"
+        ,(let ((version "1.1"))
+           (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/scummvm/extras/"
+                                 "Drascula_%20The%20Vampire%20Strikes%20Back/"
+                                 "drascula-int-" version ".zip"))
+             (sha256
+              (base32
+               "12236i7blamal92p1i8dgp3nhp2yicics4whsl63v682bj999n14")))))
+       ("drascula-audio"
+        ,(let ((version "2.0"))
+           (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/scummvm/extras/"
+                                 "Drascula_%20The%20Vampire%20Strikes%20Back/"
+                                 "drascula-audio-" version ".zip"))
+             (sha256
+              (base32
+               "00g4izmsqzxb8ry1vhfx6jrygl58lvlij09nw01ds4zddsiznsky")))))))
+    (home-page "https://www.scummvm.org")
+    (synopsis "Classic 2D point and click adventure game")
+    (description "Drascula: The Vampire Strikes Back is a classic humorous 2D
+point and click adventure game.
+
+In Drascula you play the role of John Hacker, a British estate agent, that
+gets to meet a gorgeous blond girl who is kidnapped by the notorious vampire
+Count Drascula and embark on a fun yet dangerous quest to rescue her.
+Unfortunately, Hacker is not aware of Drascula's real ambitions: DOMINATING
+the World and demonstrating that he is even more evil than his brother Vlad.")
+    ;; Drascula uses a BSD-like license.
+    (license (license:non-copyleft "file:///readme.txt"))))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 48d8780212..345fa4c745 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
@@ -139,220 +139,221 @@ where the OS part is overloaded to denote a specific ABI---into GCC
                      (gcc-configure-flags-for-triplet triplet))
 
                    (maybe-target-tools))))))
-    (package
-      (name "gcc")
-      (version "4.7.4")
-      (source (origin
-               (method url-fetch)
-               (uri (string-append "mirror://gnu/gcc/gcc-"
-                                   version "/gcc-" version ".tar.bz2"))
-               (sha256
-                (base32
-                 "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj"))
-               (patches (search-patches "gcc-4-compile-with-gcc-5.patch"
-                                        "gcc-fix-texi2pod.patch"))))
-      (build-system gnu-build-system)
-
-      ;; Separate out the run-time support libraries because all the
-      ;; dynamic-linked objects depend on it.
-      (outputs '("out"                    ;commands, etc. (60+ MiB)
-                 "lib"                    ;libgcc_s, libgomp, etc. (15+ MiB)
-                 "debug"))                ;debug symbols of run-time libraries
-
-      (inputs `(("gmp" ,gmp)
-                ("mpfr" ,mpfr)
-                ("mpc" ,mpc)
-                ("libelf" ,libelf)
-                ("zlib" ,zlib)))
-
-      ;; GCC < 5 is one of the few packages that doesn't ship .info files.
-      ;; Newer texinfos fail to build the manual, so we use an older one.
-      (native-inputs `(("perl" ,perl)   ;for manpages
-                       ("texinfo" ,texinfo-5)))
-
-      (arguments
-       `(#:out-of-source? #t
-         #:configure-flags ,(configure-flags)
-         #:make-flags
-         ;; None of the flags below are needed when doing a Canadian cross.
-         ;; TODO: Simplify this.
-         ,(if (%current-target-system)
-              (if stripped?
-                  ''("CFLAGS=-g0 -O2")
-                  ''())
-              `(let* ((libc        (assoc-ref %build-inputs "libc"))
-                      (libc-native (or (assoc-ref %build-inputs "libc-native")
-                                       libc)))
-                 `(,@(if libc
-                         (list (string-append "LDFLAGS_FOR_TARGET="
-                                              "-B" libc "/lib "
-                                              "-Wl,-dynamic-linker "
-                                              "-Wl," libc
-                                              ,(glibc-dynamic-linker)))
-                         '())
-
-                   ;; Native programs like 'genhooks' also need that right.
-                   ,(string-append "LDFLAGS="
-                                   "-Wl,-rpath=" libc-native "/lib "
-                                   "-Wl,-dynamic-linker "
-                                   "-Wl," libc-native ,(glibc-dynamic-linker))
-                   ,(string-append "BOOT_CFLAGS=-O2 "
-                                   ,(if stripped? "-g0" "-g")))))
-
-         #:tests? #f
-
-         #:phases
-         (modify-phases %standard-phases
-           (add-before 'configure 'pre-configure
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let ((libdir ,(libdir))
-                     (libc   (assoc-ref inputs "libc")))
-                 (when libc
-                       ;; The following is not performed for `--without-headers'
-                       ;; cross-compiler builds.
-
-                       ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
-                       ;; single line, to allow the next step to work properly.
-                       (for-each
-                        (lambda (x)
-                          (substitute* (find-files "gcc/config"
-                                                   "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
-                            (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
-                             line)))
-                        '(1 2 3))
-
-                       ;; Fix the dynamic linker's file name.
+    (hidden-package
+     (package
+       (name "gcc")
+       (version "4.7.4")
+       (source (origin
+                 (method url-fetch)
+                 (uri (string-append "mirror://gnu/gcc/gcc-"
+                                     version "/gcc-" version ".tar.bz2"))
+                 (sha256
+                  (base32
+                   "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj"))
+                 (patches (search-patches "gcc-4-compile-with-gcc-5.patch"
+                                          "gcc-fix-texi2pod.patch"))))
+       (build-system gnu-build-system)
+
+       ;; Separate out the run-time support libraries because all the
+       ;; dynamic-linked objects depend on it.
+       (outputs '("out"                    ;commands, etc. (60+ MiB)
+                  "lib"                    ;libgcc_s, libgomp, etc. (15+ MiB)
+                  "debug"))                ;debug symbols of run-time libraries
+
+       (inputs `(("gmp" ,gmp)
+                 ("mpfr" ,mpfr)
+                 ("mpc" ,mpc)
+                 ("libelf" ,libelf)
+                 ("zlib" ,zlib)))
+
+       ;; GCC < 5 is one of the few packages that doesn't ship .info files.
+       ;; Newer texinfos fail to build the manual, so we use an older one.
+       (native-inputs `(("perl" ,perl)   ;for manpages
+                        ("texinfo" ,texinfo-5)))
+
+       (arguments
+        `(#:out-of-source? #t
+          #:configure-flags ,(configure-flags)
+          #:make-flags
+          ;; None of the flags below are needed when doing a Canadian cross.
+          ;; TODO: Simplify this.
+          ,(if (%current-target-system)
+               (if stripped?
+                   ''("CFLAGS=-g0 -O2")
+                   ''())
+               `(let* ((libc        (assoc-ref %build-inputs "libc"))
+                       (libc-native (or (assoc-ref %build-inputs "libc-native")
+                                        libc)))
+                  `(,@(if libc
+                          (list (string-append "LDFLAGS_FOR_TARGET="
+                                               "-B" libc "/lib "
+                                               "-Wl,-dynamic-linker "
+                                               "-Wl," libc
+                                               ,(glibc-dynamic-linker)))
+                          '())
+
+                    ;; Native programs like 'genhooks' also need that right.
+                    ,(string-append "LDFLAGS="
+                                    "-Wl,-rpath=" libc-native "/lib "
+                                    "-Wl,-dynamic-linker "
+                                    "-Wl," libc-native ,(glibc-dynamic-linker))
+                    ,(string-append "BOOT_CFLAGS=-O2 "
+                                    ,(if stripped? "-g0" "-g")))))
+
+          #:tests? #f
+
+          #:phases
+          (modify-phases %standard-phases
+            (add-before 'configure 'pre-configure
+              (lambda* (#:key inputs outputs #:allow-other-keys)
+                (let ((libdir ,(libdir))
+                      (libc   (assoc-ref inputs "libc")))
+                  (when libc
+                    ;; The following is not performed for `--without-headers'
+                    ;; cross-compiler builds.
+
+                    ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
+                    ;; single line, to allow the next step to work properly.
+                    (for-each
+                     (lambda (x)
                        (substitute* (find-files "gcc/config"
                                                 "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
-                         (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$"
-                           _ gnu-user suffix)
-                          (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
-                                  gnu-user suffix
-                                  (string-append libc ,(glibc-dynamic-linker)))))
-
-                       ;; Tell where to find libstdc++, libc, and `?crt*.o', except
-                       ;; `crt{begin,end}.o', which come with GCC.
-                       (substitute* (find-files "gcc/config"
-                                                "^gnu-user.*\\.h$")
-                         (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
-                          ;; Help libgcc_s.so be found (see also below.)  Always use
-                          ;; '-lgcc_s' so that libgcc_s.so is always found by those
-                          ;; programs that use 'pthread_cancel' (glibc dlopens
-                          ;; libgcc_s.so when pthread_cancel support is needed, but
-                          ;; having it in the application's RUNPATH isn't enough; see
-                          ;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
-                          ;;
-                          ;; NOTE: The '-lgcc_s' added below needs to be removed in a
-                          ;; later phase of %gcc-static.  If you change the string
-                          ;; below, make sure to update the relevant code in
-                          ;; %gcc-static package as needed.
-                          (format #f "#define GNU_USER_TARGET_LIB_SPEC \
+                         (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
+                          line)))
+                     '(1 2 3))
+
+                    ;; Fix the dynamic linker's file name.
+                    (substitute* (find-files "gcc/config"
+                                             "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
+                      (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$"
+                        _ gnu-user suffix)
+                       (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
+                               gnu-user suffix
+                               (string-append libc ,(glibc-dynamic-linker)))))
+
+                    ;; Tell where to find libstdc++, libc, and `?crt*.o', except
+                    ;; `crt{begin,end}.o', which come with GCC.
+                    (substitute* (find-files "gcc/config"
+                                             "^gnu-user.*\\.h$")
+                      (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
+                       ;; Help libgcc_s.so be found (see also below.)  Always use
+                       ;; '-lgcc_s' so that libgcc_s.so is always found by those
+                       ;; programs that use 'pthread_cancel' (glibc dlopens
+                       ;; libgcc_s.so when pthread_cancel support is needed, but
+                       ;; having it in the application's RUNPATH isn't enough; see
+                       ;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
+                       ;;
+                       ;; NOTE: The '-lgcc_s' added below needs to be removed in a
+                       ;; later phase of %gcc-static.  If you change the string
+                       ;; below, make sure to update the relevant code in
+                       ;; %gcc-static package as needed.
+                       (format #f "#define GNU_USER_TARGET_LIB_SPEC \
 \"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a"
-                                  libc libc libdir suffix))
-                         (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
-                          (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+                               libc libc libdir suffix))
+                      (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
+                       (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
 #define STANDARD_STARTFILE_PREFIX_2 \"\"
 ~a"
-                                  libc line)))
-
-                       ;; The rs6000 (a.k.a. powerpc) config in GCC does not use
-                       ;; GNU_USER_* defines.  Do the above for this case.
-                       (substitute*
-                           "gcc/config/rs6000/sysv4.h"
-                         (("#define LIB_LINUX_SPEC (.*)$" _ suffix)
-                          (format #f "#define LIB_LINUX_SPEC \
+                               libc line)))
+
+                    ;; The rs6000 (a.k.a. powerpc) config in GCC does not use
+                    ;; GNU_USER_* defines.  Do the above for this case.
+                    (substitute*
+                        "gcc/config/rs6000/sysv4.h"
+                      (("#define LIB_LINUX_SPEC (.*)$" _ suffix)
+                       (format #f "#define LIB_LINUX_SPEC \
 \"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a"
-                                  libc libc libdir suffix))
-                         (("#define	STARTFILE_LINUX_SPEC.*$" line)
-                          (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+                               libc libc libdir suffix))
+                      (("#define	STARTFILE_LINUX_SPEC.*$" line)
+                       (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
 #define STANDARD_STARTFILE_PREFIX_2 \"\"
 ~a"
-                                  libc line))))
-
-                 ;; Don't retain a dependency on the build-time sed.
-                 (substitute* "fixincludes/fixincl.x"
-                   (("static char const sed_cmd_z\\[\\] =.*;")
-                    "static char const sed_cmd_z[] = \"sed\";"))
-
-                 ;; Aarch64 support didn't land in GCC until the 4.8 series.
-                 (when (file-exists? "gcc/config/aarch64")
-                       ;; Force Aarch64 libdir to be /lib and not /lib64
-                       (substitute* "gcc/config/aarch64/t-aarch64-linux"
-                         (("lib64") "lib")))
-
-                 (when (file-exists? "libbacktrace")
-                       ;; GCC 4.8+ comes with libbacktrace.  By default it builds
-                       ;; with -Werror, which fails with a -Wcast-qual error in glibc
-                       ;; 2.21's stdlib-bsearch.h.  Remove -Werror.
-                       (substitute* "libbacktrace/configure"
-                         (("WARN_FLAGS=(.*)-Werror" _ flags)
-                          (string-append "WARN_FLAGS=" flags)))
-
-                       (when (file-exists? "libsanitizer/libbacktrace")
-                             ;; Same in libsanitizer's bundled copy (!) found in 4.9+.
-                             (substitute* "libsanitizer/libbacktrace/Makefile.in"
-                               (("-Werror")
-                                ""))))
-
-                 ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s.
-                 ;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354>
-                 ;; and <http://bugs.gnu.org/20358>.
-                 (substitute* "libstdc++-v3/src/Makefile.in"
-                   (("^OPT_LDFLAGS = ")
-                    "OPT_LDFLAGS = -Wl,-rpath=$(libdir) "))
-
-                 ;; Move libstdc++*-gdb.py to the "lib" output to avoid a
-                 ;; circularity between "out" and "lib".  (Note:
-                 ;; --with-python-dir is useless because it imposes $(prefix) as
-                 ;; the parent directory.)
-                 (substitute* "libstdc++-v3/python/Makefile.in"
-                   (("pythondir = .*$")
-                    (string-append "pythondir = " libdir "/share"
-                                   "/gcc-$(gcc_version)/python\n")))
-
-                 ;; Avoid another circularity between the outputs: this #define
-                 ;; ends up in auto-host.h in the "lib" output, referring to
-                 ;; "out".  (This variable is used to augment cpp's search path,
-                 ;; but there's nothing useful to look for here.)
-                 (substitute* "gcc/config.in"
-                   (("PREFIX_INCLUDE_DIR")
-                    "PREFIX_INCLUDE_DIR_isnt_necessary_here"))
-                 #t)))
-
-           (add-after 'configure 'post-configure
-             (lambda _
-               ;; Don't store configure flags, to avoid retaining references to
-               ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
-               (substitute* "Makefile"
-                 (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
-                  "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))
-               #t)))))
-
-      (native-search-paths
-       ;; Use the language-specific variables rather than 'CPATH' because they
-       ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
-       ;; The intent is to allow headers that are in the search path to be
-       ;; treated as "system headers" (headers exempt from warnings) just like
-       ;; the typical /usr/include headers on an FHS system.
-       (list (search-path-specification
-              (variable "C_INCLUDE_PATH")
-              (files '("include")))
-             (search-path-specification
-              (variable "CPLUS_INCLUDE_PATH")
-              (files '("include")))
-             (search-path-specification
-              (variable "LIBRARY_PATH")
-              (files '("lib" "lib64")))))
-
-      (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
-      (synopsis "GNU Compiler Collection")
-      (description
-       "GCC is the GNU Compiler Collection.  It provides compiler front-ends
+                               libc line))))
+
+                  ;; Don't retain a dependency on the build-time sed.
+                  (substitute* "fixincludes/fixincl.x"
+                    (("static char const sed_cmd_z\\[\\] =.*;")
+                     "static char const sed_cmd_z[] = \"sed\";"))
+
+                  ;; Aarch64 support didn't land in GCC until the 4.8 series.
+                  (when (file-exists? "gcc/config/aarch64")
+                    ;; Force Aarch64 libdir to be /lib and not /lib64
+                    (substitute* "gcc/config/aarch64/t-aarch64-linux"
+                      (("lib64") "lib")))
+
+                  (when (file-exists? "libbacktrace")
+                    ;; GCC 4.8+ comes with libbacktrace.  By default it builds
+                    ;; with -Werror, which fails with a -Wcast-qual error in glibc
+                    ;; 2.21's stdlib-bsearch.h.  Remove -Werror.
+                    (substitute* "libbacktrace/configure"
+                      (("WARN_FLAGS=(.*)-Werror" _ flags)
+                       (string-append "WARN_FLAGS=" flags)))
+
+                    (when (file-exists? "libsanitizer/libbacktrace")
+                      ;; Same in libsanitizer's bundled copy (!) found in 4.9+.
+                      (substitute* "libsanitizer/libbacktrace/Makefile.in"
+                        (("-Werror")
+                         ""))))
+
+                  ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s.
+                  ;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354>
+                  ;; and <http://bugs.gnu.org/20358>.
+                  (substitute* "libstdc++-v3/src/Makefile.in"
+                    (("^OPT_LDFLAGS = ")
+                     "OPT_LDFLAGS = -Wl,-rpath=$(libdir) "))
+
+                  ;; Move libstdc++*-gdb.py to the "lib" output to avoid a
+                  ;; circularity between "out" and "lib".  (Note:
+                  ;; --with-python-dir is useless because it imposes $(prefix) as
+                  ;; the parent directory.)
+                  (substitute* "libstdc++-v3/python/Makefile.in"
+                    (("pythondir = .*$")
+                     (string-append "pythondir = " libdir "/share"
+                                    "/gcc-$(gcc_version)/python\n")))
+
+                  ;; Avoid another circularity between the outputs: this #define
+                  ;; ends up in auto-host.h in the "lib" output, referring to
+                  ;; "out".  (This variable is used to augment cpp's search path,
+                  ;; but there's nothing useful to look for here.)
+                  (substitute* "gcc/config.in"
+                    (("PREFIX_INCLUDE_DIR")
+                     "PREFIX_INCLUDE_DIR_isnt_necessary_here"))
+                  #t)))
+
+            (add-after 'configure 'post-configure
+              (lambda _
+                ;; Don't store configure flags, to avoid retaining references to
+                ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
+                (substitute* "Makefile"
+                  (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
+                   "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))
+                #t)))))
+
+       (native-search-paths
+        ;; Use the language-specific variables rather than 'CPATH' because they
+        ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'.
+        ;; The intent is to allow headers that are in the search path to be
+        ;; treated as "system headers" (headers exempt from warnings) just like
+        ;; the typical /usr/include headers on an FHS system.
+        (list (search-path-specification
+               (variable "C_INCLUDE_PATH")
+               (files '("include")))
+              (search-path-specification
+               (variable "CPLUS_INCLUDE_PATH")
+               (files '("include")))
+              (search-path-specification
+               (variable "LIBRARY_PATH")
+               (files '("lib" "lib64")))))
+
+       (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
+       (synopsis "GNU Compiler Collection")
+       (description
+        "GCC is the GNU Compiler Collection.  It provides compiler front-ends
 for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and
 Go.  It also includes runtime support libraries for these languages.")
-      (license gpl3+)
-      (supported-systems (delete "aarch64-linux" %supported-systems))
-      (home-page "https://gcc.gnu.org/"))))
+       (license gpl3+)
+       (supported-systems (delete "aarch64-linux" %supported-systems))
+       (home-page "https://gcc.gnu.org/")))))
 
 (define-public gcc-4.8
   (package (inherit gcc-4.7)
@@ -519,6 +520,21 @@ It also includes runtime support libraries for these languages.")))
               (patches (search-patches "gcc-8-strmov-store-file-names.patch"
                                        "gcc-5.0-libvtv-runpath.patch"))))))
 
+(define-public gcc-9
+  (package
+   (inherit gcc-8)
+   (version "9.1.0")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "mirror://gnu/gcc/gcc-"
+                                version "/gcc-" version ".tar.xz"))
+            (sha256
+             (base32
+              "1817nc2bqdc251k0lpc51cimna7v68xjrnvqzvc50q3ax4s6i9kr"))
+            (patches (search-patches "gcc-9-strmov-store-file-names.patch"
+                                     "gcc-9-asan-fix-limits-include.patch"
+                                     "gcc-5.0-libvtv-runpath.patch"))))))
+
 ;; Note: When changing the default gcc version, update
 ;;       the gcc-toolchain-* definitions and the gfortran definition
 ;;       accordingly.
@@ -598,6 +614,7 @@ as the 'native-search-paths' field."
                  (package-outputs gcc)
                  (delete "lib" (package-outputs gcc))))
     (native-search-paths search-paths)
+    (properties (alist-delete 'hidden? (package-properties gcc)))
     (arguments
      (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system)
                                                 (guix build utils)
@@ -831,14 +848,15 @@ as the 'native-search-paths' field."
                              (let ((out (assoc-ref outputs "out")))
                                (invoke "make"
                                        "doc-install-html"
-                                       "doc-install-man")))))))))
-
-(define-public libstdc++-doc-4.9
-  (make-libstdc++-doc gcc-4.9))
+                                       "doc-install-man")))))))
+    (properties (alist-delete 'hidden? (package-properties gcc)))))
 
 (define-public libstdc++-doc-5
   (make-libstdc++-doc gcc-5))
 
+(define-public libstdc++-doc-9
+  (make-libstdc++-doc gcc-9))
+
 (define-public isl
   (package
     (name "isl")
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index e9df33e3fc..5697664491 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
@@ -34,7 +34,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu))
 
-(define-public gdb
+(define-public gdb-8.2
   (package
     (name "gdb")
     (version "8.2.1")
@@ -105,3 +105,20 @@ to specify the runtime conditions, to define breakpoints, and to change how
 the program is running to try to fix bugs.  It can be used to debug programs
 written in C, C++, Ada, Objective-C, Pascal and more.")
     (license gpl3+)))
+
+(define-public gdb-8.3
+  (package
+    (inherit gdb-8.2)
+    (version "8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gdb/gdb-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0bnpzz0rl672xg5547q5qck2sxi6cnyixmk8bbb4gifw17ipwbw0"))))))
+
+(define-public gdb
+  ;; This is the fixed version that packages depend on.  Update it rarely
+  ;; enough to avoid massive rebuilds.
+  gdb-8.2)
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 0b95fbe613..94f2cf0cfb 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -668,21 +668,15 @@ extension.")
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/go-spatial/tegola/cmd/tegola"
-       #:unpack-path "github.com/go-spatial"
+       #:unpack-path "github.com/go-spatial/tegola"
        #:phases
        (modify-phases %standard-phases
          (add-before 'build 'set-version
            (lambda _
-             (with-directory-excursion
-               (string-append "src/github.com/go-spatial/tegola-" ,version)
+             (with-directory-excursion "src/github.com/go-spatial/tegola"
                (substitute* '("cmd/tegola/cmd/root.go"
                               "cmd/tegola_lambda/main.go")
                  (("version not set") ,version)))
-             #t))
-         (add-before 'build 'rename-import
-           (lambda _
-             (rename-file (string-append "src/github.com/go-spatial/tegola-" ,version)
-                          "src/github.com/go-spatial/tegola")
              #t)))))
     (home-page "http://tegola.io")
     (synopsis "Vector tile server for maps")
@@ -713,14 +707,9 @@ delivered to any client.")
     (build-system go-build-system)
     (arguments
      `(#:import-path "github.com/omniscale/imposm3/cmd/imposm"
-       #:unpack-path "github.com/omniscale"
+       #:unpack-path "github.com/omniscale/imposm3"
        #:phases
        (modify-phases %standard-phases
-         (add-before 'build 'rename-import
-           (lambda _
-             (rename-file (string-append "src/github.com/omniscale/imposm3-" ,version)
-                          "src/github.com/omniscale/imposm3")
-             #t))
          (add-before 'build 'set-version
            (lambda _
              (substitute* "src/github.com/omniscale/imposm3/version.go"
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 6cc745087b..7d6d62acda 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -112,6 +112,8 @@
 textual output of programs into multiple languages.  It provides translators
 with the means to create message catalogs, and a runtime library to load
 translated messages from the catalogs.  Nearly all GNU packages use Gettext.")
+    (properties `((upstream-name . "gettext")
+                  (cpe-name . "gettext")))
     (license gpl3+)))                             ;some files are under GPLv2+
 
 ;; Use that name to avoid clashes with Guile's 'gettext' procedure.
@@ -140,6 +142,37 @@ translated messages from the catalogs.  Nearly all GNU packages use Gettext.")
     (native-inputs `(("emacs" ,emacs-minimal))) ; for Emacs tools
     (synopsis "Tools and documentation for translation")))
 
+(define-public libtextstyle
+  (package
+    (name "libtextstyle")
+    (version "0.20.1")
+    (source (origin
+              (inherit (package-source gnu-gettext))
+              (uri (string-append "mirror://gnu/gettext/gettext-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags '("--disable-static")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'chdir
+                    (lambda _
+                      (chdir "libtextstyle")
+                      #t)))))
+    ;; libtextstyle bundles libxml2, glib (a small subset thereof), and
+    ;; libcroco, but it purposefully prevents users from using an external
+    ;; copy, to reduce the startup time of programs using libtextstyle.
+    (home-page "https://www.gnu.org/software/gettext/")
+    (synopsis "Text styling library")
+    (description
+     "GNU libtextstyle is a C library that provides an easy way to add styling
+to programs that produce output to a console or terminal emulator window.  It
+allows applications to emit text annotated with styling information, such as
+color, font attributes (weight, posture), or underlining.")
+    (license gpl3+)))
+
 (define-public po4a
   (package
     (name "po4a")
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 3ead5b32a3..700d0bbf09 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -80,7 +80,7 @@ provided, as well as a framework to add new color models and data types.")
 (define-public gegl
   (package
     (name "gegl")
-    (version "0.4.14")
+    (version "0.4.16")
     (source (origin
               (method url-fetch)
               (uri (list (string-append "https://download.gimp.org/pub/gegl/"
@@ -88,7 +88,7 @@ provided, as well as a framework to add new color models and data types.")
                                         "/gegl-" version ".tar.bz2")))
               (sha256
                (base32
-                "00crhngwi07f5b9x77kx5p7p4cl6l5g6glpz9rqv7pfqk62xa0ac"))))
+                "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("LDFLAGS=-lm")))
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 72f450c5f7..bac5f9d008 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2016 ng0 <ng0@n0.is>
 ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -223,7 +223,7 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "18.3.5")
+    (version "19.0.4")
     (source
       (origin
         (method url-fetch)
@@ -235,7 +235,7 @@ also known as DXTn or DXTC) for Mesa.")
                                   version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "0lvrfjaic7dhay9v52f9k3q5aac8xagfq3pnzjrl0cn65jlaw9s0"))
+          "0iyffj3xd7f0vsayirswh6aia37ba26hkihpz273hxwd8hpz7y9r"))
         (patches
          (search-patches "mesa-skip-disk-cache-test.patch"))))
     (build-system meson-build-system)
@@ -278,7 +278,7 @@ also known as DXTn or DXTC) for Mesa.")
        '(,@(match (%current-system)
              ((or "armhf-linux" "aarch64-linux")
               ;; TODO: Fix svga driver for aarch64 and armhf.
-              '("-Dgallium-drivers=etnaviv,freedreno,imx,nouveau,pl111,r300,r600,swrast,tegra,v3d,vc4,virgl"))
+              '("-Dgallium-drivers=etnaviv,freedreno,nouveau,r300,r600,swrast,tegra,v3d,vc4,virgl"))
              (_
               '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
          ;; Enable various optional features.  TODO: opencl requires libclc,
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 3689c31f30..2f70e8d875 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -785,7 +785,7 @@ This package provides the library for GLib applications.")
                 "#include <errno.h>\n#include <unistd.h>")))))))
     (synopsis "D-Bus API for C++")
     (description "This package provides D-Bus client API bindings for the C++
-programming langauage.  It also contains the utility
+programming language.  It also contains the utility
 @command{dbuscxx-xml2cpp}.")
     (home-page "https://sourceforge.net/projects/dbus-cplusplus/")
     (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 08ac1f1358..e94707132b 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -27,7 +27,7 @@
 ;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
 ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
@@ -35,6 +35,7 @@
 ;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1107,10 +1108,14 @@ configuring CUPS.")
        (base32
         "017wgq9n00hx39n0hm784zn18hl721hbaijda868cm96bcqwxd4w"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags '("--disable-static")))
+    (propagated-inputs
+     `(;; In Requires of libnotify.pc.
+       ("gdk-pixbuf" ,gdk-pixbuf)
+       ("glib" ,glib)))
     (inputs
-     `(("gdk-pixbuf" ,gdk-pixbuf)
-       ("glib" ,glib)
-       ("gtk+" ,gtk+)
+     `(("gtk+" ,gtk+)
        ("libpng" ,libpng)))
     (native-inputs
       `(("pkg-config" ,pkg-config)
@@ -1281,7 +1286,7 @@ XML/CSS rendering engine.")
 (define-public libgsf
   (package
     (name "libgsf")
-    (version "1.14.45")
+    (version "1.14.46")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -1289,7 +1294,7 @@ XML/CSS rendering engine.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1yk91ccf7z9b8d8ac6vip3gc5c0pkwgabqy6l0pj0kf43l7jrg2w"))))
+                "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("intltool" ,intltool)
@@ -2589,7 +2594,7 @@ indicators etc).")
     (home-page "https://www.gnome.org")
     (synopsis "Python bindings to librsvg")
     (description
-     "This packages provides Python bindings to librsvg, the SVG rendering
+     "This package provides Python bindings to librsvg, the SVG rendering
 library.")
 
     ;; This is the license of the rsvg bindings.  The license of each module
@@ -2671,7 +2676,7 @@ libxml to ease remote use of the RESTful API.")
 (define-public libsoup
   (package
     (name "libsoup")
-    (version "2.66.1")
+    (version "2.66.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libsoup/"
@@ -2679,7 +2684,7 @@ libxml to ease remote use of the RESTful API.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1zs3bhspwg7fggxd7x1rrggpkcf2j9ch6dhncq9syh252z0vcb2a"))))
+                "0amfw1yvy1kjrg41rfh2vvrw5gkwnyckqbw1fab50hm6xc1acbmx"))))
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -3141,15 +3146,15 @@ faster results and to avoid unnecessary server load.")
 (define-public upower
   (package
     (name "upower")
-    (version "0.99.8")
+    (version "0.99.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gitlab.freedesktop.org/upower/upower/"
-                                  "uploads/9125ab7ee96fdc4ecc68cfefb50c1cab/"
+                                  "uploads/c438511024b9bc5a904f8775cfc8e4c4/"
                                   "upower-" version ".tar.xz"))
               (sha256
                (base32
-                "00lzr0vyxz5lvmgya48gdb2cdgmfdim4b34jlfdyqakk1i9sl8xv"))
+                "17d2bclv5fgma2y3g8bsn9pdvspn1zrzismzdnzfivc0f2wm28k4"))
               (patches (search-patches "upower-builddir.patch"))))
     (build-system glib-or-gtk-build-system)
     (arguments
@@ -4630,6 +4635,14 @@ classes for commonly used data structures.")
                (base32
                 "1qbcwq89g4r67k1dj4laqj441pj4195c8hzhxn8vc6mmg8adg6kx"))))
     (build-system meson-build-system)
+    (arguments
+     ;; On 32-bit platforms, the test fails with a rounding error:
+     ;; <https://bugzilla.gnome.org/show_bug.cgi?id=775249>.  Just skip it for
+     ;; now.
+     (if (and (not (%current-target-system))
+              (member (%current-system) '("i686-linux" "armhf-linux")))
+         '(#:tests? #f)
+         '()))
     (native-inputs
      `(("glib" ,glib "bin")
        ("pkg-config" ,pkg-config)))
@@ -5491,7 +5504,24 @@ to virtual private networks (VPNs) via OpenVPN.")
                (base32
                 "1js0i2kwfklahsn77qgxzdscy33drrlym3mrj1qhlw0zf8ri56ya"))))
     (build-system glib-or-gtk-build-system)
-    (arguments '(#:configure-flags '("--disable-migration")))
+    (arguments '(#:configure-flags '("--disable-migration")
+                 #:phases
+                 (modify-phases %standard-phases
+                   (add-after 'unpack 'patch-source
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (let ((mbpi (assoc-ref inputs
+                                              "mobile-broadband-provider-info"))
+                             (iso-codes (assoc-ref inputs "iso-codes")))
+                         (substitute* "src/libnma/nma-mobile-providers.c"
+                           (("(g_build_filename \\()dirs\\[i\\].*,\
+ (MOBILE_BROADBAND_PROVIDER_INFO.*)" all start end)
+                            (string-append start "\"" mbpi "/share\", " end)))
+                         (substitute* "src/libnma/nma-mobile-providers.c"
+                           (("(g_build_filename \\()dirs\\[i\\].*,\
+ (ISO_3166_COUNTRY_CODES.*)" all start end)
+                            (string-append start "\"" iso-codes
+                                           "/share\", " end)))
+                         #t))))))
     (native-inputs
      `(("intltool" ,intltool)
        ("gobject-introspection" ,gobject-introspection)
@@ -5508,7 +5538,8 @@ to virtual private networks (VPNs) via OpenVPN.")
        ("libsecret" ,libsecret)
        ("libselinux" ,libselinux)
        ("jansson" ,jansson) ; for team support
-       ("modem-manager" ,modem-manager)))
+       ("modem-manager" ,modem-manager)
+       ("mobile-broadband-provider-info" ,mobile-broadband-provider-info)))
     (synopsis "Applet for managing network connections")
     (home-page "https://www.gnome.org/projects/NetworkManager/")
     (description
@@ -5644,8 +5675,8 @@ libxml2.")
                                 "(self, \"" name "\","
                                 "g_getenv (\"" name "\"));\n"))
                              propagate)))))
-            ;; Look for custom GDM conf in /run/current-system.
-            (substitute* '("common/gdm-settings-desktop-backend.c")
+            ;; Find the configuration file using an environment variable.
+            (substitute* '("common/gdm-settings.c")
               (("GDM_CUSTOM_CONF")
                (string-append "(g_getenv(\"GDM_CUSTOM_CONF\") != NULL"
                               " ? g_getenv(\"GDM_CUSTOM_CONF\")"
@@ -5826,13 +5857,25 @@ devices using the GNOME desktop.")
          (add-before 'configure 'patch-paths
            (lambda* (#:key inputs #:allow-other-keys)
              (let ((libc   (assoc-ref inputs "libc"))
-                   (tzdata (assoc-ref inputs "tzdata")))
+                   (tzdata (assoc-ref inputs "tzdata"))
+                   (libgnomekbd (assoc-ref inputs "libgnomekbd"))
+                   (nm-applet   (assoc-ref inputs "network-manager-applet")))
                (substitute* "panels/datetime/tz.h"
                  (("/usr/share/zoneinfo/zone.tab")
                   (string-append tzdata "/share/zoneinfo/zone.tab")))
                (substitute* "panels/datetime/test-endianess.c"
                  (("/usr/share/locale")
                   (string-append libc "/share/locale")))
+               (substitute* "panels/region/cc-region-panel.c"
+                 (("\"gkbd-keyboard-display")
+                  (string-append "\"" libgnomekbd
+                                 "/bin/gkbd-keyboard-display")))
+               (substitute* '("panels/network/net-device-wifi.c"
+                              "panels/network/net-device.c"
+                              "panels/network/connection-editor/net-connection-editor.c")
+                 (("\"nm-connection-editor")
+                  (string-append "\"" nm-applet
+                                 "/bin/nm-connection-editor")))
                #t))))))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
@@ -5856,6 +5899,7 @@ devices using the GNOME desktop.")
        ("grilo" ,grilo)
        ("ibus" ,ibus)
        ("libcanberra" ,libcanberra)
+       ("libgnomekbd" ,libgnomekbd)
        ("libgudev" ,libgudev)
        ("libgtop" ,libgtop)
        ("libpwquality" ,libpwquality)
@@ -6753,51 +6797,41 @@ fit the GNOME desktop.")
 existing databases over the internet.")
     (license license:gpl3+)))
 
-(define-public gnome-tweak-tool
+(define-public gnome-tweaks
   (package
-    (name "gnome-tweak-tool")
-    (version "3.26.4")
+    (name "gnome-tweaks")
+    (version "3.28.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
+              (uri (string-append "mirror://gnome/sources/gnome-tweaks/"
                                   (version-major+minor version) "/"
-                                  "gnome-tweak-tool-" version ".tar.xz"))
-              (patches (list
-                        (search-patch "gnome-tweak-tool-search-paths.patch")))
+                                  "gnome-tweaks-" version ".tar.xz"))
+              (patches
+               (list (search-patch "gnome-tweaks-search-paths.patch")))
               (sha256
                (base32
-                "1pq5a0kzh1sz7s7ax5c7p6212k9d51nk5bfvjfyqn99cs928187x"))))
-    (build-system glib-or-gtk-build-system)
+                "1p5xydr0haz4389h6dvvbna6i1mipdzvmlfksnv0jqfvfs9sy6fp"))))
+    (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("--localstatedir=/tmp"
-                           "--sysconfdir=/tmp")
+     `(#:glib-or-gtk? #t
+       #:configure-flags '("-Dlocalstatedir=/tmp"
+                           "-Dsysconfdir=/tmp")
        #:imported-modules ((guix build python-build-system)
-                           ,@%glib-or-gtk-build-system-modules)
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure)
-                  (replace 'build
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (invoke "meson" "build"
-                                      "--prefix" (assoc-ref outputs "out"))))
-                  (replace 'check
-                    (lambda _ (invoke "ninja" "-C" "build" "test")))
-                  (replace 'install
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (invoke "ninja" "-C" "build" "install")))
-                  (add-after 'install 'wrap-program
-                    (lambda* (#:key outputs #:allow-other-keys)
-                      (let ((out               (assoc-ref outputs "out"))
-                            (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
-                        (wrap-program (string-append out "/bin/gnome-tweak-tool")
-                          `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
-                      #t))
-                  (add-after 'install 'wrap
-                    (@@ (guix build python-build-system) wrap)))))
+                           ,@%meson-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap
+           (@@ (guix build python-build-system) wrap))
+         (add-after 'wrap 'wrap-gi-typelib
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out               (assoc-ref outputs "out"))
+                   (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
+               (wrap-program (string-append out "/bin/gnome-tweaks")
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
+             #t)))))
     (native-inputs
      `(("gtk+:bin" ,gtk+ "bin")         ; For gtk-update-icon-cache
        ("intltool" ,intltool)
-       ("meson" ,meson-for-build)
-       ("ninja" ,ninja)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("gnome-desktop" ,gnome-desktop)
@@ -6810,14 +6844,18 @@ existing databases over the internet.")
        ("python" ,python)
        ("python-pygobject" ,python-pygobject)))
     (synopsis "Customize advanced GNOME 3 options")
-    (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
+    (home-page "https://wiki.gnome.org/Apps/Tweaks")
     (description
-     "GNOME Tweak Tool allows adjusting advanced configuration settings in
+     "GNOME Tweaks allows adjusting advanced configuration settings in
 GNOME 3.  This includes things like the fonts used in user interface elements,
 alternative user interface themes, changes in window management behavior,
 GNOME Shell appearance and extension, etc.")
     (license license:gpl3+)))
 
+;; This package has been renamed by upstream.
+(define-public gnome-tweak-tool
+  (deprecated-package "gnome-tweak-tool" gnome-tweaks))
+
 (define-public gnome-shell-extensions
   (package
     (name "gnome-shell-extensions")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index afebc82cf1..825678bfc6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -426,7 +426,7 @@ from forcing GEXP-PROMISE."
                       #:system system
                       #:guile-for-build guile)))
 
-(define %icecat-version "60.6.1-guix1")
+(define %icecat-version "60.7.0-guix1")
 
 ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -448,7 +448,7 @@ from forcing GEXP-PROMISE."
                   "firefox-" upstream-firefox-version ".source.tar.xz"))
             (sha256
              (base32
-              "1x8419a1yg6igsq5ij3ymf1zmnb2wpm9dqcdfkv5wy43xgf7y0wl"))))
+              "08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa"))))
 
          (upstream-icecat-base-version "60.3.0") ; maybe older than base-version
          (upstream-icecat-gnu-version "1")
@@ -528,7 +528,13 @@ from forcing GEXP-PROMISE."
                           "-p1" "--input" #+makeicecat-patch)
                   (patch-shebang "makeicecat")
                   (substitute* "makeicecat"
-                    (("^FFMAJOR=.*")
+                    (("^FFMAJOR=(.*)" all ffmajor)
+                     (unless (string=? #$major-version
+                                       (string-trim-both ffmajor))
+                       ;; The makeicecat script cannot be expected to work
+                       ;; properly on a different version of Firefox, even if
+                       ;; no errors occur during execution.
+                       (error "makeicecat major version mismatch"))
                      (string-append "FFMAJOR=" #$major-version "\n"))
                     (("^FFMINOR=.*")
                      (string-append "FFMINOR=" #$minor-version "\n"))
@@ -590,68 +596,7 @@ from forcing GEXP-PROMISE."
   (package
     (name "icecat")
     (version %icecat-version)
-    (source
-     (origin
-      (inherit icecat-source)
-      (patches (search-patches "icecat-avoid-bundled-libraries.patch"
-                               "icecat-use-system-graphite2+harfbuzz.patch"
-                               "icecat-use-system-media-libs.patch"))
-      (modules '((guix build utils)))
-      (snippet
-       '(begin
-          (use-modules (ice-9 ftw))
-          ;; Remove bundled libraries that we don't use, since they may
-          ;; contain unpatched security flaws, they waste disk space and
-          ;; network bandwidth, and may cause confusion.
-          (for-each delete-file-recursively
-                    '(;; FIXME: Removing the bundled icu breaks configure.
-                      ;;   * The bundled icu headers are used in some places.
-                      ;;   * The version number is taken from the bundled copy.
-                      ;;"intl/icu"
-                      ;;
-                      ;; FIXME: A script from the bundled nspr is used.
-                      ;;"nsprpub"
-                      ;;
-                      ;; FIXME: With the update to IceCat 60, using system NSS
-                      ;;        broke certificate validation.  See
-                      ;;        <https://bugs.gnu.org/32833>.  For now, we use
-                      ;;        the bundled NSPR and NSS.  TODO: Investigate,
-                      ;;        and try to unbundle these libraries again.
-                      ;; UNBUNDLE-ME! "security/nss"
-                      ;;
-                      ;; TODO: Use more system media libraries.  See:
-                      ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
-                      ;;   * libtheora: esr60 wants v1.2, not yet released.
-                      ;;   * soundtouch: avoiding the bundled library would
-                      ;;     result in some loss of functionality.  There's
-                      ;;     also an issue with exception handling
-                      ;;     configuration.  It seems that this is needed in
-                      ;;     some moz.build:
-                      ;;       DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
-                      ;;   * libopus
-                      ;;   * speex
-                      ;;
-                      "modules/freetype2"
-                      "modules/zlib"
-                      "modules/libbz2"
-                      "ipc/chromium/src/third_party/libevent"
-                      "media/libjpeg"
-                      "media/libvpx"
-                      "media/libogg"
-                      "media/libvorbis"
-                      ;; "media/libtheora" ; wants theora-1.2, not yet released
-                      "media/libtremor"
-                      "gfx/harfbuzz"
-                      "gfx/graphite2"
-                      "js/src/ctypes/libffi"
-                      "db/sqlite3"))
-          ;; Delete .pyc files, typically present in icecat source tarballs
-          (for-each delete-file (find-files "." "\\.pyc$"))
-          ;; Delete obj-* directories, sometimes present in icecat tarballs
-          (for-each delete-file-recursively
-                    (scandir "." (lambda (name)
-                                   (string-prefix? "obj-" name))))
-          #t))))
+    (source icecat-source)
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
@@ -697,8 +642,21 @@ from forcing GEXP-PROMISE."
        ("zip" ,zip)
        ("zlib" ,zlib)))
     (native-inputs
-      ;; Icecat 60 checkes for rust>=1.24
-     `(("rust" ,rust-1.24)
+     ;; The following patches are specific to the Guix packaging of IceCat,
+     ;; and therefore we prefer to leave them out of 'source', which should be
+     ;; a tarball suitable for compilation on any system that IceCat supports.
+     ;; (Bug fixes and security fixes, however, should go in 'source').
+     `(("icecat-avoid-bundled-libraries.patch"
+        ,(search-patch "icecat-avoid-bundled-libraries.patch"))
+       ("icecat-use-system-graphite2+harfbuzz.patch"
+        ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
+       ("icecat-use-system-media-libs.patch"
+        ,(search-patch "icecat-use-system-media-libs.patch"))
+
+       ("patch" ,(canonical-package patch))
+
+       ;; Icecat 60 checks for rust>=1.24
+       ("rust" ,rust-1.24)
        ("cargo" ,rust-1.24 "cargo")
        ("llvm" ,llvm-3.9.1)
        ("clang" ,clang-3.9.1)
@@ -798,42 +756,95 @@ from forcing GEXP-PROMISE."
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
-         (add-after
-          'unpack 'ensure-no-mtimes-pre-1980
-          (lambda _
-            ;; Without this, the 'source/test/addons/packed.xpi' and
-            ;; 'source/test/addons/simple-prefs.xpi' targets fail while trying
-            ;; to create zip archives.
-            (let ((early-1980 315619200)) ; 1980-01-02 UTC
-              (ftw "." (lambda (file stat flag)
-                         (unless (<= early-1980 (stat:mtime stat))
-                           (utime file early-1980 early-1980))
-                         #t))
-              #t)))
-         (add-after
-          'unpack 'link-libxul-with-libraries
-          (lambda _
-            ;; libxul.so dynamically opens libraries, so here we explicitly
-            ;; link them into libxul.so instead.
-            ;;
-            ;; TODO: It might be preferable to patch in absolute file names in
-            ;; calls to dlopen or PR_LoadLibrary, but that didn't seem to
-            ;; work.  More investigation is needed.
-            (substitute* "toolkit/library/moz.build"
-              (("^# This library needs to be last" all)
-               (string-append "OS_LIBS += [
+         (add-after 'unpack 'apply-guix-specific-patches
+           (lambda* (#:key inputs native-inputs #:allow-other-keys)
+             (let ((patch (string-append (assoc-ref (or native-inputs inputs)
+                                                    "patch")
+                                         "/bin/patch")))
+               (for-each (match-lambda
+                           ((label . file)
+                            (when (and (string-prefix? "icecat-" label)
+                                       (string-suffix? ".patch" label))
+                              (format #t "applying '~a'...~%" file)
+                              (invoke patch "--force" "--no-backup-if-mismatch"
+                                      "-p1" "--input" file))))
+                         (or native-inputs inputs)))
+             #t))
+         (add-after 'apply-guix-specific-patches 'remove-bundled-libraries
+           (lambda _
+             ;; Remove bundled libraries that we don't use, since they may
+             ;; contain unpatched security flaws, they waste disk space and
+             ;; memory, and may cause confusion.
+             (for-each (lambda (file)
+                         (format #t "deleting '~a'...~%" file)
+                         (delete-file-recursively file))
+                       '(;; FIXME: Removing the bundled icu breaks configure.
+                         ;;   * The bundled icu headers are used in some places.
+                         ;;   * The version number is taken from the bundled copy.
+                         ;;"intl/icu"
+                         ;;
+                         ;; FIXME: A script from the bundled nspr is used.
+                         ;;"nsprpub"
+                         ;;
+                         ;; FIXME: With the update to IceCat 60, using system NSS
+                         ;;        broke certificate validation.  See
+                         ;;        <https://bugs.gnu.org/32833>.  For now, we use
+                         ;;        the bundled NSPR and NSS.  TODO: Investigate,
+                         ;;        and try to unbundle these libraries again.
+                         ;; UNBUNDLE-ME! "security/nss"
+                         ;;
+                         ;; TODO: Use more system media libraries.  See:
+                         ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
+                         ;;   * libtheora: esr60 wants v1.2, not yet released.
+                         ;;   * soundtouch: avoiding the bundled library would
+                         ;;     result in some loss of functionality.  There's
+                         ;;     also an issue with exception handling
+                         ;;     configuration.  It seems that this is needed in
+                         ;;     some moz.build:
+                         ;;       DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
+                         ;;   * libopus
+                         ;;   * speex
+                         ;;
+                         "modules/freetype2"
+                         "modules/zlib"
+                         "modules/libbz2"
+                         "ipc/chromium/src/third_party/libevent"
+                         "media/libjpeg"
+                         "media/libvpx"
+                         "media/libogg"
+                         "media/libvorbis"
+                         ;; "media/libtheora" ; wants theora-1.2, not yet released
+                         "media/libtremor"
+                         "gfx/harfbuzz"
+                         "gfx/graphite2"
+                         "js/src/ctypes/libffi"
+                         "db/sqlite3"))
+             #t))
+         (add-after 'remove-bundled-libraries 'link-libxul-with-libraries
+           (lambda _
+             ;; libxul.so dynamically opens libraries, so here we explicitly
+             ;; link them into libxul.so instead.
+             ;;
+             ;; TODO: It might be preferable to patch in absolute file names in
+             ;; calls to dlopen or PR_LoadLibrary, but that didn't seem to
+             ;; work.  More investigation is needed.
+             (substitute* "toolkit/library/moz.build"
+               (("^# This library needs to be last" all)
+                (string-append "OS_LIBS += [
     'GL', 'gnome-2', 'canberra', 'Xss', 'cups', 'gssapi_krb5',
     'avcodec', 'avutil', 'pulse' ]\n\n"
-                              all)))
-            #t))
+                               all)))
+             #t))
          (replace 'bootstrap
            (lambda _
-             (invoke "sh" "-c" "autoconf old-configure.in > old-configure")))
+             (invoke "sh" "-c" "autoconf old-configure.in > old-configure")
+             ;; 'configure' must be newer than 'old-configure.in', or else the
+             ;; build system will raise an alarm and abort.
+             (invoke "touch" "configure")))
          (add-after 'patch-source-shebangs 'patch-cargo-checksums
            (lambda _
              (use-modules (guix build cargo-utils))
-             (let ((null-file "/dev/null")
-                   (null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
+             (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
                (substitute* '("Cargo.lock" "servo/Cargo.lock")
                  (("(\"checksum .* = )\".*\"" all name)
                   (string-append name "\"" null-hash "\"")))
@@ -844,7 +855,7 @@ from forcing GEXP-PROMISE."
                     (display (string-append
                               "patch-cargo-checksums: generate-checksums for "
                               dir "\n"))
-                    (generate-checksums dir null-file)))
+                    (generate-checksums dir)))
                 (find-files "third_party/rust" ".cargo-checksum.json")))
              #t))
          (add-before 'configure 'augment-CPLUS_INCLUDE_PATH
@@ -860,31 +871,31 @@ from forcing GEXP-PROMISE."
                (setenv "CPLUS_INCLUDE_PATH"
                        (string-append gcc "/include/c++" ":"
                                       gcc "/include/c++/" build ":"
-                                      (getenv "CPLUS_INCLUDE_PATH"))))))
-         (replace
-          'configure
-          ;; configure does not work followed by both "SHELL=..." and
-          ;; "CONFIG_SHELL=..."; set environment variables instead
-          (lambda* (#:key outputs configure-flags #:allow-other-keys)
-            (let* ((out (assoc-ref outputs "out"))
-                   (bash (which "bash"))
-                   (abs-srcdir (getcwd))
-                   (srcdir (string-append "../" (basename abs-srcdir)))
-                   (flags `(,(string-append "--prefix=" out)
-                            ,(string-append "--with-l10n-base="
-                                            abs-srcdir "/l10n")
-                            ,@configure-flags)))
-              (setenv "SHELL" bash)
-              (setenv "CONFIG_SHELL" bash)
-              (setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
-              (setenv "CC" "gcc")  ; apparently needed when Stylo is enabled
-              (mkdir "../build")
-              (chdir "../build")
-              (format #t "build directory: ~s~%" (getcwd))
-              (format #t "configure flags: ~s~%" flags)
-              (apply invoke bash
-                     (string-append srcdir "/configure")
-                     flags))))
+                                      (getenv "CPLUS_INCLUDE_PATH"))))
+             #t))
+         (replace 'configure
+           ;; configure does not work followed by both "SHELL=..." and
+           ;; "CONFIG_SHELL=..."; set environment variables instead
+           (lambda* (#:key outputs configure-flags #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bash (which "bash"))
+                    (abs-srcdir (getcwd))
+                    (srcdir (string-append "../" (basename abs-srcdir)))
+                    (flags `(,(string-append "--prefix=" out)
+                             ,(string-append "--with-l10n-base="
+                                             abs-srcdir "/l10n")
+                             ,@configure-flags)))
+               (setenv "SHELL" bash)
+               (setenv "CONFIG_SHELL" bash)
+               (setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13
+               (setenv "CC" "gcc")  ; apparently needed when Stylo is enabled
+               (mkdir "../build")
+               (chdir "../build")
+               (format #t "build directory: ~s~%" (getcwd))
+               (format #t "configure flags: ~s~%" flags)
+               (apply invoke bash
+                      (string-append srcdir "/configure")
+                      flags))))
          (add-before 'configure 'install-desktop-entry
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Install the '.desktop' file.
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5caf7a89f8..ed0a78c6bd 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -226,7 +226,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.11.6")
+    (version "1.11.10")
     (source
      (origin
        (method url-fetch)
@@ -234,7 +234,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "0cz1sdhxf9283p1p4jxb020pym0ncd0qlfh36r3hkv6bbm1a2vd9"))))
+         "06rw962xigbrxblp942jbh7k133blpxg2xfrxi32qdhxkmmfj9yz"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)
@@ -742,7 +742,7 @@ per-goroutine.")
     (synopsis "Go implementation of docopt")
     (description
      "This library allows the user to define a command-line interface from a
-program's help message rather than specifying it programatically with
+program's help message rather than specifying it programmatically with
 command-line parsers.")
     (home-page "https://github.com/tj/docopt")
     (license license:expat)))
@@ -830,7 +830,7 @@ derivation function.")))
      `(#:import-path "golang.org/x/crypto/tea"
        #:unpack-path "golang.org/x/crypto"))
     (synopsis "Tiny Encryption Algorithm (TEA) in Go")
-    (description "This packages a Go implementation of the Tiny Encryption
+    (description "This package provides a Go implementation of the Tiny Encryption
 Algorithm (TEA) block cipher.")))
 
 (define-public go-golang-org-x-crypto-salsa20
@@ -841,7 +841,7 @@ Algorithm (TEA) block cipher.")))
      `(#:import-path "golang.org/x/crypto/salsa20"
        #:unpack-path "golang.org/x/crypto"))
     (synopsis "Salsa20 in Go")
-    (description "This packages provides a Go implementation of the Salsa20
+    (description "This package provides a Go implementation of the Salsa20
 stream cipher.")))
 
 (define-public go-golang-org-x-crypto-cast5
@@ -852,7 +852,7 @@ stream cipher.")))
      `(#:import-path "golang.org/x/crypto/cast5"
        #:unpack-path "golang.org/x/crypto"))
     (synopsis "Cast5 in Go")
-    (description "This packages provides a Go implementation of the Cast5
+    (description "This package provides a Go implementation of the Cast5
 symmetric-key block cipher.")))
 
 (define-public go-golang-org-x-crypto-twofish
@@ -863,7 +863,7 @@ symmetric-key block cipher.")))
      `(#:import-path "golang.org/x/crypto/twofish"
        #:unpack-path "golang.org/x/crypto"))
     (synopsis "Twofish in Go")
-    (description "This packages provides a Go implementation of the Twofish
+    (description "This package provides a Go implementation of the Twofish
 symmetric-key block cipher.")))
 
 (define-public go-golang-org-x-crypto-xtea
@@ -984,7 +984,7 @@ socket options for the Internet Protocol version 4.")
        `(#:import-path "golang.org/x/net/bpf"
          #:unpack-path "golang.org/x/net"))
       (synopsis "Berkeley Packet Filters (BPF) in Go")
-      (description "This packages provides a Go implementation of the Berkeley
+      (description "This package provides a Go implementation of the Berkeley
 Packet Filter (BPF) virtual machine.")
       (home-page "https://go.googlesource.com/net/")
       (license license:bsd-3))))
@@ -1010,8 +1010,8 @@ Packet Filter (BPF) virtual machine.")
        `(#:import-path "golang.org/x/net/context"
          #:unpack-path "golang.org/x/net"))
       (synopsis "Golang Context type")
-      (description "This packages provides @code{context}, which defines the
-Context type, which carries deadlines, cancelation signals, and other
+      (description "This package provides @code{context}, which defines the
+Context type, which carries deadlines, cancellation signals, and other
 request-scoped values across API boundaries and between processes.")
       (home-page "https://go.googlesource.com/net/")
       (license license:bsd-3))))
@@ -1087,7 +1087,7 @@ request-scoped values across API boundaries and between processes.")
        `(#:import-path "golang.org/x/net/internal/iana"
          #:unpack-path "golang.org/x/net"))
       (synopsis "Go support for assigned numbers (IANA)")
-      (description "This packages provides @code{iana}, which provides protocol
+      (description "This package provides @code{iana}, which provides protocol
 number resources managed by the Internet Assigned Numbers Authority (IANA).")
       (home-page "https://go.googlesource.com/net/")
       (license license:bsd-3))))
@@ -1113,7 +1113,7 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).")
        `(#:import-path "golang.org/x/net/ipv6"
          #:unpack-path "golang.org/x/net"))
       (synopsis "Go IPv6 support")
-      (description "This packages provides @code{ipv6}, which implements
+      (description "This package provides @code{ipv6}, which implements
 IP-level socket options for the Internet Protocol version 6.")
       (home-page "https://go.googlesource.com/net")
       (license license:bsd-3))))
@@ -1139,7 +1139,7 @@ IP-level socket options for the Internet Protocol version 6.")
        `(#:import-path "golang.org/x/net/proxy"
          #:unpack-path "golang.org/x/net/"))
       (synopsis "Go support for network proxies")
-      (description "This packages provides @code{proxy}, which provides support
+      (description "This package provides @code{proxy}, which provides support
 for a variety of protocols to proxy network data.")
       (home-page "https://go.googlesource.com/net")
       (license license:bsd-3))))
@@ -1512,7 +1512,7 @@ with the HTTP protocol definition.")
       (home-page "https://github.com/google/cadvisor")
       (synopsis "Analyze resource usage of running containers")
       (description "The package provides @code{cadvisor}, which provides
-information about the resource usage and preformance characteristics of running
+information about the resource usage and performance characteristics of running
 containers.")
       (license license:asl2.0))))
 
@@ -1775,11 +1775,11 @@ SysVinit, and more.")
                #t)))))
       (home-page
        "https://github.com/docker/distribution")
-      (synopsis "This package is Docker toolset to pack, ship, store, and
+      (synopsis "This package is a Docker toolset to pack, ship, store, and
 deliver content")
-      (description "Docker Distribution is Docker toolset to pack, ship,
-store, and deliver content.  It's containe Docker Registry 2.0 and libraries
-to interacting with distribution components.")
+      (description "Docker Distribution is a Docker toolset to pack, ship,
+store, and deliver content.  It contains Docker Registry 2.0 and libraries
+to interact with distribution components.")
       (license license:asl2.0))))
 
 (define-public go-github-com-docker-go-connections
@@ -1804,7 +1804,7 @@ to interacting with distribution components.")
       (home-page "https://github.com/docker/go-connections")
       (synopsis "Networking library for Go")
       (description
-       "This packages provides a library to work with network connections in
+       "This package provides a library to work with network connections in
 the Go language.  In particular it provides tools to deal with network address
 translation (NAT), proxies, sockets, and transport layer security (TLS).")
       (license license:asl2.0))))
@@ -2519,7 +2519,7 @@ designed so that it may be used with the standard crypto/ecdsa packages
 provided with Go.  A comprehensive suite of test is provided to ensure proper
 functionality.  Package @command{btcec} was originally based on work from
 ThePiachu which is licensed under the same terms as Go, but it has
-signficantly diverged since then.  The @command{btcsuite} developers original
+significantly diverged since then.  The @command{btcsuite} developers original
 is licensed under the liberal ISC license.
 
 Although this package was primarily written for btcd, it has intentionally
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 3f3fe8fcb5..66e091ddbf 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -106,7 +106,7 @@ manipulate maps.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/freefoote/gpscorrelate")
+                      (url "https://github.com/dfandrich/gpscorrelate")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -134,7 +134,7 @@ manipulate maps.")
          ("docbook-xml" ,docbook-xml)
          ("docbook-xsl" ,docbook-xsl)
          ("libxslt" ,libxslt)))
-      (home-page "http://freefoote.dview.net/linux/gpscorrelate")
+      (home-page "https://dfandrich.github.io/gpscorrelate/")
       (synopsis "GPS photo correlation tool to geo-localize images")
       (description
        "GPS Correlate is a program to match a recorded GPS track with the EXIF
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 5bcc48dbe6..36d0467175 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -162,14 +162,14 @@ model.")
 (define-public r-rgraphviz
   (package
     (name "r-rgraphviz")
-    (version "2.26.0")
+    (version "2.28.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rgraphviz" version))
        (sha256
         (base32
-         "0bp6517xsih0wng2rgkh9z4r1afqhwl3h04z6ssm7p4cdj0ahm4y"))))
+         "0nivz8fshaqig6ynjqbya2gmxsy4hm7jnd8fhb853z5g0ydp7g0c"))))
     (properties `((upstream-name . "Rgraphviz")))
     (build-system r-build-system)
     ;; FIXME: Rgraphviz bundles the sources of an older variant of
@@ -415,3 +415,34 @@ CPUFLAGS = ~{~a ~}~%"
     (description "Faiss is a library for efficient similarity search and
 clustering of dense vectors.  This package provides Python bindings to the
 Faiss library.")))
+
+(define-public python-leidenalg
+  (package
+    (name "python-leidenalg")
+    (version "0.7.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "leidenalg" version))
+       (sha256
+        (base32
+         "15fwld9hdw357rd026mzcwpah5liy4f33vc9x9kwy37g71b2rjf1"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f)) ; tests are not included
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("igraph" ,igraph)))
+    (propagated-inputs
+     `(("python-igraph" ,python-igraph)))
+    (home-page "https://github.com/vtraag/leidenalg")
+    (synopsis "Community detection in large networks")
+    (description
+     "Leiden is a general algorithm for methods of community detection in
+large networks.  This package implements the Leiden algorithm in C++ and
+exposes it to Python.  Besides the relative flexibility of the implementation,
+it also scales well, and can be run on graphs of millions of nodes (as long as
+they can fit in memory).  The core function is @code{find_partition} which
+finds the optimal partition using the Leiden algorithm, which is an extension
+of the Louvain algorithm, for a number of different methods.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index fe364c0d39..f9667e873b 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -260,14 +260,14 @@ structure and layout algorithms.")
 (define-public xdot
   (package
     (name "xdot")
-    (version "0.7")
+    (version "1.1")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "xdot" version))
       (sha256
        (base32
-        "1q0f3pskb09saw1qkd2s6vmk80rq5zjhq8l93dfr2x6r04r0q46j"))))
+        "0cr4rh7dz4dfzyxrk5pzhm0d15gkrgkfp3i5lw178xy81pc56p71"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 9e9f119770..d5d14152fb 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -67,14 +67,14 @@
 (define-public orc
   (package
     (name "orc")
-    (version "0.4.28")
+    (version "0.4.29")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/data/src/"
                                   "orc/orc-" version ".tar.xz"))
               (sha256
                (base32
-                "1kl3rlmzr27bdpn78nvpnjs142ja1m6grvafdhw74mmhcdjprkdz"))))
+                "1cisbbn69p9c8vikn0nin14q0zscby5m8cyvzxyw2pjb2kwh32ag"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -102,7 +102,7 @@ arrays of data.")
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.14.4")
+    (version "1.16.0")
     (source
      (origin
       (method url-fetch)
@@ -111,7 +111,7 @@ arrays of data.")
             version ".tar.xz"))
       (sha256
        (base32
-        "1izzhnlsy83rgr4zl3jcl1sryxqbbigrrqw3j4x3nnphqnb6ckzr"))))
+        "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -150,7 +150,7 @@ This package provides the core library and elements.")
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.14.4")
+    (version "1.16.0")
     (source
      (origin
       (method url-fetch)
@@ -158,7 +158,7 @@ This package provides the core library and elements.")
                           name "-" version ".tar.xz"))
       (sha256
        (base32
-        "0qbllw4kphchwhy4p7ivdysigx69i97gyw6q0rvkx1j81r4kjqfa"))))
+        "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (propagated-inputs
@@ -209,17 +209,16 @@ for the GStreamer multimedia library.")
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.14.4")
+    (version "1.16.0")
     (source
      (origin
       (method url-fetch)
       (uri (string-append
             "https://gstreamer.freedesktop.org/src/" name "/"
             name "-" version ".tar.xz"))
-      (patches (search-patches "gst-plugins-good-libvpx-compat.patch"))
       (sha256
        (base32
-        "0y89qynb4b6fry3h43z1r99qslmi3m8xhlq0i5baq2nbc0r5b2sz"))))
+        "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5"))))
     (build-system gnu-build-system)
     (inputs
      `(("aalib" ,aalib)
@@ -251,8 +250,7 @@ for the GStreamer multimedia library.")
        ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)))
     (arguments
-     `(#:make-flags '("CFLAGS=-DHAVE_VPX_1_8")   ;XXX: Remove for >1.14.
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after
           'unpack 'disable-failing-tests
@@ -274,14 +272,14 @@ developers consider to have good quality code and correct functionality.")
 (define-public gst-plugins-bad
   (package
     (name "gst-plugins-bad")
-    (version "1.14.4")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1r8dma3x127rbx42yab7kwq7q1bhkmvz2ykn0rnqnzl95q74w2wi"))))
+                "019b0yqjrcg6jmfd4cc336h1bz5p4wxl58yz1c4sdb96avirs4r2"))))
     (outputs '("out" "doc"))
     (build-system gnu-build-system)
     (arguments
@@ -349,7 +347,7 @@ par compared to the rest.")
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.14.4")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
@@ -357,7 +355,7 @@ par compared to the rest.")
                            name "/" name "-" version ".tar.xz"))
        (sha256
         (base32
-         "08vd1xgwmapnviah47zv5h2r02qdd20y4f07rvv5zhv6y4vxh0mc"))))
+         "1hm46c1fy9vl1wfwipsj41zp79cm7in1fpmjw24j5hriy32n82g3"))))
     (build-system gnu-build-system)
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
@@ -384,7 +382,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.14.4")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -392,7 +390,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1nk5g24z2xx5kaw5cg8dv8skdc516inahmkymcz8bxqxj28qbmyz"))
+                "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -407,7 +405,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
        ("python" ,python)))
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
-       ("ffmpeg" ,ffmpeg-3.4)
+       ("ffmpeg" ,ffmpeg)
        ("orc" ,orc)
        ("zlib" ,zlib)))
     (home-page "https://gstreamer.freedesktop.org/")
@@ -420,7 +418,7 @@ compression formats through the use of the libav library.")
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.14.4")
+    (version "1.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -428,7 +426,7 @@ compression formats through the use of the libav library.")
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "06ssx19fs6pg4d32p9ph9w4f0xwmxaw2dxfj17rqkn5njd7v5zfh"))))
+                "0f1d9rvy2qxlymmfzyknnfr5rz1vx69jv17gp7wnamc5s6p7mp2m"))))
     (build-system gnu-build-system)
     (arguments
      ;; XXX: Factorize python-sitedir with python-build-system.
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a0308cb036..f05da01f7a 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -20,6 +20,7 @@
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -555,16 +556,15 @@ in the GNOME project.")
 (define-public at-spi2-core
   (package
    (name "at-spi2-core")
-   (version "2.32.0")
+   (version "2.32.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
                                 (version-major+minor version)  "/"
                                 name "-" version ".tar.xz"))
-            (patches (search-patches "at-spi2-core-meson-compat.patch"))
             (sha256
              (base32
-              "083j1v7kdjrpjsv1b9dl3d8xqj39jyp4cfn8i9gbbm7q2g93b923"))))
+              "0lqd7gsl471v6538iighkvb21gjglcb9pklvas32rjpsxcvsjaiw"))))
    (build-system meson-build-system)
    (outputs '("out" "doc"))
    (arguments
@@ -728,7 +728,7 @@ application suites.")
    (name "gtk+")
    ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
    ;;       mate.scm will also need to be updated.
-   (version "3.24.7")
+   (version "3.24.8")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -736,18 +736,9 @@ application suites.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "080m925dyhiidlhsxqzx040l4iha2gg38pzbfpnsnjyzl92124jj"))
+              "16f71bbkhwhndcsrpyhjia3b77cb5ksf5c45lyfgws4pkgg64sb6"))
             (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
-                                     "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))
-            (modules '((guix build utils)))
-            (snippet
-             '(begin
-                ;; Version 3.24.2 was released with a typo that broke the build.
-                ;; See upstream commit 2905fc861acda3d134a198e56ef2f6c962ad3061
-                ;; at <https://gitlab.gnome.org/GNOME/gtk/tree/gtk-3-24>
-                (substitute* "docs/tools/shooter.c"
-                  (("gdk_screen_get_dfeault") "gdk_screen_get_default"))
-                #t))))
+                                     "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
    (outputs '("out" "bin" "doc"))
    (propagated-inputs
     `(("at-spi2-atk" ,at-spi2-atk)
@@ -1754,3 +1745,55 @@ popular spread sheet programs.")
 shell scripts.  Example of how to use @code{yad} can be consulted at
 @url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.")
     (license license:gpl3+)))
+
+(define-public libdbusmenu
+  (package
+    (name "libdbusmenu")
+    (version "16.04.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://launchpad.net/libdbusmenu/"
+                           (version-major+minor version) "/" version
+                           "/+download/libdbusmenu-" version ".tar.gz"))
+       (sha256
+        (base32 "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       '("--sysconfdir=/etc"
+         "--localstatedir=/var"
+         ;; The shebang of the generated test files should be patched before
+         ;; enabling tests.
+         "--disable-tests")
+       #:make-flags
+       `(,(string-append "typelibdir=" (assoc-ref %outputs "out")
+                         "/lib/girepository-1.0"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-environment
+           (lambda _
+             (setenv "HAVE_VALGRIND_TRUE" "")
+             (setenv "HAVE_VALGRIND_FALSE" "#")
+             #t)))))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk+" ,gtk+)
+       ("gtk+-2" ,gtk+-2)))
+    (native-inputs
+     `(("glib:bin" ,glib "bin")
+       ("gnome-doc-utils" ,gnome-doc-utils)
+       ("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("json-glib" ,json-glib)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)
+       ("vala" ,vala)))
+    (home-page "https://launchpad.net/libdbusmenu")
+    (synopsis "Library for passing menus over DBus")
+    (description "@code{libdbusmenu} passes a menu structure across DBus so
+that a program can create a menu simply without worrying about how it is
+displayed on the other side of the bus.")
+
+    ;; Dual-licensed under either LGPLv2.1 or LGPLv3.
+    (license (list license:lgpl2.1 license:lgpl3))))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 03fd63837e..365f909c2c 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2195,3 +2195,40 @@ serializing continuations or delimited continuations.")
        "This package allows you to compile a Guile Python file to any target
 from @code{tree-il}.")
       (license license:lgpl2.0+))))
+
+(define-public guile-file-names
+  (package
+    (name "guile-file-names")
+    (version "0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://brandon.invergo.net/software/download/"
+                                  "guile-file-names/guile-file-names-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1kwx5hanl40960w2nhyga7ry4l6c3c57zdrihk4yajj87vn3pmi8"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-target-directory
+           (lambda _
+             (substitute* "src/Makefile.in"
+               (("guilemoddir = \\$\\(GUILE_SITE\\)")
+                "guilemoddir = $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+             #t)))))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://gitlab.com/brandoninvergo/guile-file-names")
+    (synopsis "Manipulate file names")
+    (description
+     "The @code{(file-names)} module provides tools for manipulating file
+names.  The module was built on the idea that doing anything more than a
+non-trivial modification of a file name string is a pain (making sure all
+slashes are present and accounted for, resolving @code{.} and @code{..}, etc).
+Inevitably, you have to break the string up into chunks and operate on that
+list of components.  This module takes care of that for you.")
+    (license license:lgpl3+)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index d4dd10ba11..67825ffc30 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -293,14 +293,14 @@ without requiring the source code to be rewritten.")
     (package
       (inherit guile-2.2)
       (name "guile-next")
-      (version "2.9.1")
+      (version "2.9.2")
       (source (origin
                 (inherit (package-source guile-2.2))
-                (uri (string-append "https://alpha.gnu.org/gnu/guile/guile-"
+                (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
                                     version ".tar.xz"))
                 (sha256
                  (base32
-                  "0iba93yqn6mvgid0rfsrg4amym36pg9m8cqdplxsy222blrj9gh1"))))
+                  "1w358df2wmcyzk2ziqrj2zhwqisaqraqfa3008ay23nf1a7bw0z4"))))
       (native-search-paths
        (list (search-path-specification
               (variable "GUILE_LOAD_PATH")
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index fa2bd0d652..550bb13a65 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -550,7 +550,7 @@ reporting and test statistics output.")
     (home-page "https://batterseapower.github.io/test-framework/")
     (synopsis "QuickCheck2 support for test-framework")
     (description
-     "This packages provides QuickCheck2 support for the test-framework
+     "This package provides QuickCheck2 support for the test-framework
 package.")
     (license license:bsd-3)))
 
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 555fee12d4..4ce5d6fdb1 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -876,7 +876,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
     (synopsis "JSON pretty-printing library and command-line tool")
     (description
      "This package provides a JSON pretty-printing library compatible with aeson
-as well as a command-line tool to improve readabilty of streams of JSON data.
+as well as a command-line tool to improve readability of streams of JSON data.
 The library provides the function @code{encodePretty}.  It is a drop-in
 replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
 human readers.  The command-line tool reads JSON from stdin and writes
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 61c6119322..33c9c6484d 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -1872,7 +1872,7 @@ unlit literate code files; and an option to turn off macro-expansion.")
     (synopsis "Reify arbitrary terms into types that can be reflected back
 into terms")
     (description "This package addresses the 'configuration problem' which is
-propogating configurations that are available at run-time, allowing multiple
+propagating configurations that are available at run-time, allowing multiple
 configurations to coexist without resorting to mutable global variables or
 @code{System.IO.Unsafe.unsafePerformIO}.")
     (license license:bsd-3)))
@@ -10044,7 +10044,7 @@ Haskell data types to and from HTTP API data.")
     (home-page "https://www.yesodweb.com/book/persistent")
     (synopsis "Type-safe, multi-backend data serialization for Haskell")
     (description "This Haskell package allows Haskell programs to access data
-storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
+storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
 way.")
     (license license:expat)))
 
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index e76661c7d4..c2aae10c87 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -68,6 +68,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages qt)
@@ -859,7 +860,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.")
    (native-inputs
     `(("doxygen" ,doxygen)
       ("python2-nose" ,python2-nose)
-      ("python2-sphinx" ,python2-sphinx)))
+      ("sphinx" ,python-sphinx)))
    (arguments
     `(#:test-target "check"
       #:phases
@@ -1008,9 +1009,9 @@ channels.")
     (version "0.26")
     (source (origin
              (method url-fetch)
-             (uri (list (string-append "http://www.exiv2.org/builds/exiv2-"
+             (uri (list (string-append "https://www.exiv2.org/builds/exiv2-"
                                        version "-trunk.tar.gz")
-                        (string-append "http://www.exiv2.org/exiv2-"
+                        (string-append "https://www.exiv2.org/exiv2-"
                                        version ".tar.gz")
                         (string-append "https://fossies.org/linux/misc/exiv2-"
                                        version ".tar.gz")))
@@ -1026,7 +1027,7 @@ channels.")
        ("zlib" ,zlib)))
     (native-inputs
      `(("intltool" ,intltool)))
-    (home-page "http://www.exiv2.org/")
+    (home-page "https://www.exiv2.org/")
     (synopsis "Library and command-line utility to manage image metadata")
     (description
      "Exiv2 is a C++ library and a command line utility to manage image
@@ -1131,7 +1132,7 @@ the programmer.")
     (home-page "https://github.com/sekrit-twc/zimg")
     ;; test/extra/ contains musl-libm,
     ;; which is MIT/expat licensed, but only used for tests
-    (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2
+    (license license:wtfpl2)))
 
 (define-public perceptualdiff
   (package
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index f69f452ee2..16f9a6e4bd 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -48,14 +48,14 @@
     ;; The 7 release series has an incompatible API, while the 6 series is still
     ;; maintained. Don't update to 7 until we've made sure that the ImageMagick
     ;; users are ready for the 7-series API.
-    (version "6.9.10-35")
+    (version "6.9.10-46")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://imagemagick/ImageMagick-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1mc7f1i29w27nqsc8gmlqxyid16ik4ys0razggwajzs7mhxy3g8g"))))
+               "1qx3x48q1dy39g1bb8mnyaq9jwy1smf0x6zfly4r0mj3m01i2dyb"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9664d749fb..2dad131c00 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;;
@@ -879,6 +879,11 @@ machine.")))
                      (string-append (assoc-ref inputs "freetype")
                                     "/lib"))
              #t))
+         (add-before 'build 'disable-os-version-check
+           ;; allow build on linux major version change
+           (lambda _
+             (setenv "DISABLE_HOTSPOT_OS_VERSION_CHECK" "ok")
+             #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((doc (string-append (assoc-ref outputs "doc")
@@ -1230,6 +1235,11 @@ bootstrapping purposes.")
                        (string-append (assoc-ref inputs "freetype")
                                       "/lib"))
                #t))
+           (add-before 'build 'disable-os-version-check
+           ;; allow build on linux major version change
+           (lambda _
+             (setenv "DISABLE_HOTSPOT_OS_VERSION_CHECK" "ok")
+             #t))
            (add-before 'check 'fix-test-framework
              (lambda _
                ;; Fix PATH in test environment
@@ -1903,6 +1913,7 @@ new Date();"))
          "--with-lcms=system"
          "--with-libjpeg=system"
          "--with-libpng=system"
+         "--with-version-pre="
          ;; allow the build system to locate the system freetype
          ,(string-append "--with-freetype-include="
                          (assoc-ref %build-inputs "freetype") "/include")
@@ -7720,7 +7731,7 @@ it manages project dependencies, gives diffs jars, and much more.")
     (home-page "https://ops4j1.jira.com/wiki/spaces/ops4j/pages/12060312/Tinybundles")
     (synopsis "Java APIs to create OSGi related artifacts")
     (description "Tinybundles is all about creating OSGi related artifacts like
-Bundles, Fragments and Deployment Packages with Java Api.  It is very convinient
+Bundles, Fragments and Deployment Packages with Java Api.  It is very convenient
 to create such artifacts on-the-fly inside Tests (like in Pax Exam).  On the
 other hand, this library can be a foundation of real end user tools that need
 to create those artifacts.")
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm
index 8731a44927..e7dcd7962d 100644
--- a/gnu/packages/javascript.scm
+++ b/gnu/packages/javascript.scm
@@ -117,7 +117,11 @@
                   (let ((minified (open-pipe* OPEN_READ "uglify-js" file)))
                     (call-with-output-file installed
                       (lambda (port)
-                        (dump-port minified port)))))
+                        (dump-port minified port)))
+
+                    (let ((exit (close-pipe minified)))
+                      (unless (zero? exit)
+                        (error "dear, uglify-js failed" exit)))))
                  (else
                   (install-file file (dirname installed))))))
             (find-files "."))
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 2427d35ea1..2fce704901 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017, 2018 Mark Meyer <mark@ofosos.org>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -450,16 +450,14 @@ other special events for a geographical region.")
 (define-public libkomparediff2
   (package
     (name "libkomparediff2")
-    (version "17.12.3")
+    (version "19.04.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "mirror://kde/stable/applications"
-                            "/" version "/src/" name "-" version ".tar.xz"))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (uri (string-append "mirror://kde/stable/applications/" version
+                            "/src/libkomparediff2-" version ".tar.xz"))
         (sha256
-         (base32
-          "0w6p8lvm2rn7y4qz0x3s87lwh1758xnyhwkkkng55n8v9rpjjw7l"))))
+         (base32 "1cyi7a5ss7jv87llk0k8c9g3h1qsp6j6nmdzh3xxcswr4p5skc9a"))))
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index 3a16b752cd..b61dbc8657 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -33,6 +33,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages sphinx)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system ruby))
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index fe3f57c876..299fbf2238 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -314,6 +314,11 @@ wrapper for accessing libusb-1.0.")
                (base32
                 "00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis"))))
     (build-system gnu-build-system)
+    (arguments
+     ;; Tests fail randomly when run in parallel because several of them write
+     ;; and read to/from the same file--e.g., "4.plist" is accessed by
+     ;; 'large.test' and 'largecmp.test'.
+     '(#:parallel-tests? #f))
     (inputs
      `(("python" ,python)))
     (native-inputs
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 68d022cffe..2e56e0034a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -28,11 +28,12 @@
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
-;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Manuel Graf <graf@init.at>
 ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
 ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -77,6 +78,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libunwind)
@@ -116,6 +118,7 @@
   #:use-module (gnu packages swig)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system linux-module)
@@ -414,10 +417,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
 It has been modified to remove all non-free binary blobs.")
     (license license:gpl2)))
 
-(define %linux-libre-version "5.0.10")
-(define %linux-libre-hash "1lcwpxz5ival8nmnh19x4b1bn19bifhi3mlarx85d783jg47jc3h")
+(define %linux-libre-version "5.1.4")
+(define %linux-libre-hash "02pzad29w2apcqsk4r4fq93539z3by8kvk1f59lb8xnl0gvhdi5v")
 
-(define %linux-libre-5.0-patches
+(define %linux-libre-5.1-patches
   (list %boot-logo-patch
         %linux-libre-arm-export-__sync_icache_dcache-patch))
 
@@ -425,33 +428,11 @@ It has been modified to remove all non-free binary blobs.")
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
-                    #:patches %linux-libre-5.0-patches
+                    #:patches %linux-libre-5.1-patches
                     #:configuration-file kernel-config))
 
-(define-public vhba-module
-  (package
-    (name "vhba-module")
-    (version "20170610")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://downloads.sourceforge.net/cdemu/vhba-module-"
-                    version ".tar.bz2"))
-              (sha256
-               (base32
-                "1v6r0bgx0a65vlh36b1l2965xybngbpga6rp54k4z74xk0zwjw3r"))))
-    (build-system linux-module-build-system)
-    (arguments
-     ;; TODO: No tests?
-     `(#:tests? #f))
-    (home-page "https://cdemu.sourceforge.io/")
-    (synopsis "Kernel module that emulates SCSI devices")
-    (description "VHBA module provides a Virtual (SCSI) HBA, which is the link
-between the CDemu userspace daemon and linux kernel.")
-    (license license:gpl2+)))
-
-(define %linux-libre-4.19-version "4.19.37")
-(define %linux-libre-4.19-hash "0cyw7sgvw0767pvnl2sg6j91az9x80m5pbpqmd1srzl06w2sff2j")
+(define %linux-libre-4.19-version "4.19.45")
+(define %linux-libre-4.19-hash "1wiy8vzpzzml4k76nv3ycjx7ky55x7dqx3mgpjqbh73mj2gcr5bx")
 
 (define %linux-libre-4.19-patches
   (list %boot-logo-patch
@@ -464,8 +445,8 @@ between the CDemu userspace daemon and linux kernel.")
                     #:patches %linux-libre-4.19-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.114")
-(define %linux-libre-4.14-hash "0hc6vk8wh6dlr8lbfd269n3drgbw2swfhlgqs9kl13104jrxqqv4")
+(define %linux-libre-4.14-version "4.14.121")
+(define %linux-libre-4.14-hash "1g7gyjmp056pasf9m34dqs8pa15my6hqasdd551jw8mgkbhsfnxg")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -474,14 +455,14 @@ between the CDemu userspace daemon and linux kernel.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.171"
-                    "10975y9q2yycc85synwmrqqfhq89f3fn66jxq7p2myv1n9m22fx5"
+  (make-linux-libre "4.9.178"
+                    "1ridlkymf382qnkc6hi07pkghrrxfv2avx55snjnkfcpdccvsmrb"
                     '("x86_64-linux" "i686-linux")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.179"
-                    "025jl50sgi3bxj8hxlihqyfshmfphrg6z3cfi043qwkc8sbdy3af"
+  (make-linux-libre "4.4.180"
+                    "157kfs4slii86q9yrspvqdynpiv6rff80hrrn569v6h4nkc4b7ag"
                     '("x86_64-linux" "i686-linux")
                     #:configuration-file kernel-config
                     #:extra-options
@@ -495,7 +476,7 @@ between the CDemu userspace daemon and linux kernel.")
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("armhf-linux")
-                    #:patches %linux-libre-5.0-patches
+                    #:patches %linux-libre-5.1-patches
                     #:defconfig "multi_v7_defconfig"
                     #:extra-version "arm-generic"))
 
@@ -503,7 +484,7 @@ between the CDemu userspace daemon and linux kernel.")
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("armhf-linux")
-                    #:patches %linux-libre-5.0-patches
+                    #:patches %linux-libre-5.1-patches
                     #:configuration-file kernel-config-veyron
                     #:extra-version "arm-veyron"))
 
@@ -526,7 +507,7 @@ between the CDemu userspace daemon and linux kernel.")
   (make-linux-libre %linux-libre-version
                     %linux-libre-hash
                     '("armhf-linux")
-                    #:patches %linux-libre-5.0-patches
+                    #:patches %linux-libre-5.1-patches
                     #:defconfig "omap2plus_defconfig"
                     #:extra-version "arm-omap2plus"))
 
@@ -545,6 +526,102 @@ between the CDemu userspace daemon and linux kernel.")
                     #:defconfig "omap2plus_defconfig"
                     #:extra-version "arm-omap2plus"))
 
+(define-public vhba-module
+  (package
+    (name "vhba-module")
+    (version "20190410")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c"))))
+    (build-system linux-module-build-system)
+    (arguments
+     ;; TODO: No tests?
+     `(#:tests? #f))
+    (home-page "https://cdemu.sourceforge.io/")
+    (synopsis "Kernel module that emulates SCSI devices")
+    (description "VHBA module provides a Virtual (SCSI) HBA, which is the link
+between the CDemu userspace daemon and linux kernel.")
+    (license license:gpl2+)))
+
+
+;;;
+;;; Linux kernel modules.
+;;;
+
+(define-public acpi-call-linux-module
+  (package
+    (name "acpi-call-linux-module")
+    (version "3.17")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/teleshoes/acpi_call.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04mbv4lasm3vv1j4ndxhnz4hvp5wg8f5fc9q6qxv0nhvwjynmsl3"))))
+    (build-system linux-module-build-system)
+    (arguments
+     `(#:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-for-linux-4.12
+           (lambda _
+             (substitute* "acpi_call.c"
+               (("asm/uaccess\\.h")
+                "linux/uaccess.h"))
+             #t))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
+               (for-each (lambda (file)
+                           (let ((target (string-append doc "/" file)))
+                             (mkdir-p (dirname target))
+                             (copy-recursively file target)))
+                         (list "README.md" "examples"))
+               #t))))))
+    (home-page "https://github.com/teleshoes/acpi_call")
+    (synopsis "Linux kernel module to perform ACPI method calls")
+    (description
+     "This simple Linux kernel module allows calls from user space to any
+@acronym{ACPI, Advanced Configuration and Power Interface} method provided by
+your computer's firmware, by writing to @file{/proc/acpi/call}.  You can pass
+any number of parameters of types @code{ACPI_INTEGER},  @code{ACPI_STRING},
+and @code{ACPI_BUFFER}.
+
+It grants direct and undocumented access to your hardware that may cause damage
+and should be used with caution, especially on untested models.")
+    (license license:gpl3+)))           ; see README.md (no licence headers)
+
+(define-public vhba-module
+  (package
+    (name "vhba-module")
+    (version "20190410")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c"))))
+    (build-system linux-module-build-system)
+    (arguments
+     ;; TODO: No tests?
+     `(#:tests? #f))
+    (home-page "https://cdemu.sourceforge.io/")
+    (synopsis "Kernel module that emulates SCSI devices")
+    (description "VHBA module provides a Virtual (SCSI) HBA, which is the link
+between the CDemu userspace daemon and linux kernel.")
+    (license license:gpl2+)))
+
 
 ;;;
 ;;; Pluggable authentication modules (PAM).
@@ -803,21 +880,49 @@ slabtop, and skill.")
 (define-public usbutils
   (package
     (name "usbutils")
-    (version "010")
+    (version "012")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
                           "usbutils-" version ".tar.xz"))
       (sha256
-       (base32
-        "06aag4jfgsfjxk563xsp9ik9nadihmasrr37a1gb0vwqni5kdiv1"))))
+       (base32 "0iiy0q7fzikavmdsjsb0sl9kp3gfh701qwyjjccvqh0qz4jlcqw8"))))
     (build-system gnu-build-system)
+    (outputs (list "out" "python"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'bootstrap 'patch-bootstrap-scripts
+           (lambda _
+             (substitute* "usbhid-dump/bootstrap"
+               (("/bin/bash") (which "bash")))
+
+             ;; Don't let autogen.sh run configure with bogus options & CFLAGS.
+             (substitute* "autogen.sh"
+               (("^\\./configure.*") ""))
+             #t))
+         (add-after 'install 'separate-python-output
+           ;; Separating one Python script shaves more than 106 MiB from :out.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out        (assoc-ref outputs "out"))
+                   (out:python (assoc-ref outputs "python")))
+               (for-each (lambda (file)
+                           (let ((old (string-append out "/" file))
+                                 (new (string-append out:python "/" file)))
+                             (mkdir-p (dirname new))
+                             (rename-file old new)))
+                         (list "bin/lsusb.py"))
+               #t))))))
     (inputs
-     `(("libusb" ,libusb)
-       ("eudev" ,eudev)))
+     `(("eudev" ,eudev)
+       ("libusb" ,libusb)
+       ("python" ,python)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
     (home-page "http://www.linux-usb.org/")
     (synopsis
      "Tools for working with USB devices, such as lsusb")
@@ -1008,7 +1113,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
 (define-public strace
   (package
     (name "strace")
-    (version "5.0")
+    (version "5.1")
     (home-page "https://strace.io")
     (source (origin
              (method url-fetch)
@@ -1016,7 +1121,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.")
                                  "/strace-" version ".tar.xz"))
              (sha256
               (base32
-               "1nj7wvsdmhpp53yffj1pnrkjn96mxrbcraa6h03wc7dqn9zdfyiv"))))
+               "12wsga1v3rab24gr0mpfip7j7gwr90m8f9h6fviqxa3xgnwl38zm"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -1064,7 +1169,7 @@ intercept and print the system calls executed by the program.")
 (define-public alsa-lib
   (package
     (name "alsa-lib")
-    (version "1.1.8")
+    (version "1.1.9")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1072,7 +1177,7 @@ intercept and print the system calls executed by the program.")
                    version ".tar.bz2"))
              (sha256
               (base32
-               "1pxf0zkmps03l3zzd0fr828xhkg6a8hxljmbxzc2cyj2ls9kmp1w"))))
+               "0jwr9g4yxg9gj6xx0sb2r6wrdl8amrjd19hilkrq4rirynp770s8"))))
     (build-system gnu-build-system)
     (home-page "https://www.alsa-project.org/")
     (synopsis "The Advanced Linux Sound Architecture libraries")
@@ -1084,14 +1189,14 @@ MIDI functionality to the Linux-based operating system.")
 (define-public alsa-utils
   (package
     (name "alsa-utils")
-    (version "1.1.8")
+    (version "1.1.9")
     (source (origin
              (method url-fetch)
              (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
                                  name "-" version ".tar.bz2"))
              (sha256
               (base32
-               "1kx45yhrxai3k595yyqs4wj0p2n5b0c9mf0k36ljjf1bj8lgb6zx"))))
+               "0fi11b7r8hg1bdjw74s8sqx8rc4qb310jaj9lsia9labvfyjrpsx"))))
     (build-system gnu-build-system)
     (arguments
      ;; XXX: Disable man page creation until we have DocBook.
@@ -1138,14 +1243,14 @@ MIDI functionality to the Linux-based operating system.")
 (define-public alsa-plugins
   (package
     (name "alsa-plugins")
-    (version "1.1.8")
+    (version "1.1.9")
     (source (origin
              (method url-fetch)
              (uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
                                  name "-" version ".tar.bz2"))
              (sha256
               (base32
-               "152r82i6f97gfilfgiax5prxkd4xlcipciv8ha8yrk452qbxyxvz"))))
+               "01zrg0h2jw9dlj9233vjsn916yf4f2s667yry6xsn8d57lq745qn"))))
     (build-system gnu-build-system)
     ;; TODO: Split libavcodec and speex if possible. It looks like they can not
     ;; be split, there are references to both in files.
@@ -1296,7 +1401,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
 (define-public iproute
   (package
     (name "iproute2")
-    (version "5.0.0")
+    (version "5.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1304,7 +1409,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "1fi03lb8dqr8hq633gcqsf6228vsvysxms075j1yyl4nlc17616z"))))
+                "1kvvrz5mlpjxqcm7vl6i8w6l1cb2amp6p5xyq006pgzafc49hnnw"))))
     (build-system gnu-build-system)
     (arguments
      `( ;; There is a test suite, but it wants network namespaces and sudo.
@@ -1474,8 +1579,8 @@ Linux-based operating systems.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://www.kernel.org/pub/linux/utils/net/"
-                           "bridge-utils/bridge-utils-" version ".tar.xz"))
+       (uri (string-append "mirror://kernel.org/linux/utils/net/bridge-utils/"
+                           "bridge-utils-" version ".tar.xz"))
        (sha256
         (base32 "1j16kr44csyr4yqxly26l1yw2bh4nkiasgwvask2i2gvsnsyyryc"))))
     (build-system gnu-build-system)
@@ -2152,7 +2257,7 @@ from the module-init-tools project.")
   ;; The post-systemd fork, maintained by Gentoo.
   (package
     (name "eudev")
-    (version "3.2.7")
+    (version "3.2.8")
     (source (origin
               (method git-fetch)
               (uri (git-reference (url "https://github.com/gentoo/eudev")
@@ -2160,7 +2265,7 @@ from the module-init-tools project.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1la7x7v7yqb84wnc7w0kj53sa0an0m9xp6wn01ypi8drh02wjjy2"))
+                "1g95yzzx4qxm5qhhylbi930lrq4gsbz207n72018nkvswj6gmpjw"))
               (patches (search-patches "eudev-rules-directory.patch"))))
     (build-system gnu-build-system)
     (arguments
@@ -2947,10 +3052,8 @@ also contains the libsysfs library.")
     (source
      (origin
        (method url-fetch)
-       (uri
-        (string-append
-         "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-"
-         version ".tar.gz"))
+       (uri (string-append "mirror://kernel.org/linux/utils/kernel/cpufreq/"
+                           "cpufrequtils-" version ".tar.gz"))
        (sha256
         (base32 "0qfqv7nqmjfr3p0bwrdlxkiqwqr7vmx053cadaa548ybqbghxmvm"))
        (patches (search-patches "cpufrequtils-fix-aclocal.patch"))))
@@ -3226,14 +3329,14 @@ applications.")
 (define-public sbc
   (package
     (name "sbc")
-    (version "1.3")
+    (version "1.4")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://www.kernel.org/pub/linux/bluetooth/"
-                                  name "-" version ".tar.xz"))
+              (uri (string-append "mirror://kernel.org/linux/bluetooth/sbc-"
+                                  version ".tar.xz"))
               (sha256
                (base32
-                "02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476"))))
+                "1jal98pnrjkzxlkiqy0ykh4qmgnydz9bmsp1jn581p5kddpg92si"))))
     (build-system gnu-build-system)
     (inputs
      `(("libsndfile" ,libsndfile)))
@@ -3412,7 +3515,7 @@ and copy/paste text in the console and in xterm.")
 (define-public btrfs-progs
   (package
     (name "btrfs-progs")
-    (version "4.20.2")
+    (version "5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -3420,7 +3523,7 @@ and copy/paste text in the console and in xterm.")
                                   "btrfs-progs-v" version ".tar.xz"))
               (sha256
                (base32
-                "0z0fm3j4ajzsf445381ra8r3zzciyyvfh8vvbjmbyarg2rz8n3w9"))))
+                "0dgh56pamav8wb9nmabjwdlpcazvqc9pgzwablxn77mqh0qrhkaq"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "static"))      ; static versions of the binaries in "out"
@@ -3658,6 +3761,68 @@ other @code{hwmon} driver that enables temperature reading and fan control
 from userspace.")
     (license license:gpl3+)))
 
+(define-public tpacpi-bat
+  (package
+    (name "tpacpi-bat")
+    (version "3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/teleshoes/tpacpi-bat.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0wbaz34z99gqx721alh5vmpxpj2yxg3x9m8jqyivfi1wfpwc2nd5"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; no test target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'refer-to-inputs
+           (lambda _
+             (substitute* "tpacpi-bat"
+               (("cat ")
+                (format "~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)))
+             #t))
+         (delete 'configure)            ; nothing to configure
+         (delete 'build)                ; nothing to build
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
+               (install-file "tpacpi-bat" bin)
+
+               ;; There's no man page.  Install other forms of documentation.
+               (for-each (lambda (file)
+                           (let ((target (string-append doc "/" file)))
+                             (mkdir-p (dirname target))
+                             (copy-recursively file target)))
+                         (list "battery_asl" "examples" "README.md"))
+               #t))))))
+    (inputs
+     `(("perl" ,perl)))
+    (home-page "https://github.com/teleshoes/tpacpi-bat")
+    (synopsis "ThinkPad battery charge controller")
+    (description
+     "Tpacpi-bat is a command-line interface to control battery charging on
+@uref{https://github.com/teleshoes/tpacpi-bat/wiki/Supported-Hardware, Lenovo
+ThinkPad models released after 2011}, starting with the xx20 series.  It can
+query and set the thresholds at which one or both batteries will start and stop
+charging, inhibit charging batteries for a set period of time, or force them to
+discharge when they otherwise would not.
+
+This tool merely exposes ACPI calls provided by the @code{acpi_call} Linux
+kernel module provided by the @code{acpi-call-linux-module} package, which must
+be installed and loaded separately.  Only the original vendor firmware is
+supported.")
+    (license license:gpl3+)))
+
 (define-public ntfs-3g
   (package
     (name "ntfs-3g")
@@ -4401,7 +4566,7 @@ interface in sysfs, which can be accomplished with the included udev rules.")
 (define-public tlp
   (package
     (name "tlp")
-    (version "1.2.1")
+    (version "1.2.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -4411,7 +4576,7 @@ interface in sysfs, which can be accomplished with the included udev rules.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0rcp9i0fisdm4h6799ffr696l1vl661fnwb2dij268nlwwmkr90g"))))
+                "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w"))))
     (inputs `(("bash" ,bash)
               ("dbus" ,dbus)
               ("ethtool" ,ethtool)
@@ -4445,6 +4610,8 @@ interface in sysfs, which can be accomplished with the included udev rules.")
                (setenv "TLP_FLIB" (string-append out "/share/tlp/func.d"))
                (setenv "TLP_ULIB" (string-append out "/lib/udev"))
                (setenv "TLP_CONF" "/etc/tlp")
+               (setenv "TLP_ELOD"
+                       (string-append out "/lib/elogind/system-sleep"))
                (setenv "TLP_SHCPL"
                        (string-append out "/share/bash-completion/completions"))
                (setenv "TLP_MAN" (string-append out "/share/man"))
@@ -4454,7 +4621,9 @@ interface in sysfs, which can be accomplished with the included udev rules.")
          (add-before 'install 'fix-installation
            (lambda _
              ;; Stop the Makefile from trying to create system directories.
-             (substitute* "Makefile" (("\\[ -f \\$\\(_CONF\\) \\]") "#"))
+             (substitute* "Makefile"
+               (("\\[ -f \\$\\(_CONF\\) \\]") "#")
+               (("install -d -m 755 \\$\\(_VAR\\)") "#"))
              #t))
          (replace 'install
            (lambda _
@@ -4611,15 +4780,16 @@ userspace queueing component and the logging subsystem.")
   (package
     (name "proot")
     (version "5.1.0")
-    (home-page "https://github.com/proot-me/PRoot")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append home-page "/archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "11h30i83vdhc3khlj6hrh3a21sbmmz8nhfv09vkf6b9bcs1biz2h"))
-              (patches (search-patches "proot-test-fhs.patch"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/proot-me/PRoot.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0azsqis99gxldmbcg43girch85ysg4hwzf0h1b44bmapnsm89fbz"))
+       (patches (search-patches "proot-test-fhs.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags '("-C" "src")
@@ -4696,6 +4866,7 @@ userspace queueing component and the logging subsystem.")
                      ;; For 'mcookie', used by some of the tests.
                      ("util-linux" ,util-linux)))
     (inputs `(("talloc" ,talloc)))
+    (home-page "https://github.com/proot-me/PRoot")
     (synopsis "Unprivileged chroot, bind mount, and binfmt_misc")
     (description
      "PRoot is a user-space implementation of @code{chroot}, @code{mount --bind},
@@ -5036,7 +5207,7 @@ interface to this kernel feature.")
 (define-public mbpfan
   (package
     (name "mbpfan")
-    (version "2.1.0")
+    (version "2.1.1")
     (source
      (origin
        (method git-fetch)
@@ -5045,8 +5216,7 @@ interface to this kernel feature.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32
-         "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask"))))
+        (base32 "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; tests ask to be run as root
@@ -5188,6 +5358,33 @@ nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
 management tools in userspace.")
     (license license:gpl2)))
 
+(define-public go-netlink
+  (package
+    (name "go-netlink")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/vishvananda/netlink.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/vishvananda/netlink"))
+    (native-inputs
+     `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)
+       ("go-netns" ,go-netns)))
+    (home-page "https://github.com/vishvananda/netlink")
+    (synopsis "Simple netlink library for Go")
+    (description "The netlink package provides a simple netlink library for
+Go.  Netlink is the interface a user-space program in Linux uses to
+communicate with the kernel.  It can be used to add and remove interfaces, set
+IP addresses and routes, and configure IPsec.")
+    (license license:asl2.0)))
+
 (define-public xfsprogs
   (package
     (name "xfsprogs")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4eeb801c70..167c4433b1 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5288,3 +5288,36 @@ various levels and mix text with expressions.")
 
 (define-public ecl-log4cl
   (sbcl-package->ecl-package sbcl-log4cl))
+
+(define-public sbcl-find-port
+  (let ((commit "00c96a25af93a0f8681d34ec548861f2d7485478")
+        (revision "1"))
+    (package
+      (name "sbcl-find-port")
+      (build-system asdf-build-system/sbcl)
+      (version "0.1")
+      (home-page "https://github.com/eudoxia0/find-port")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url home-page)
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0d6dzbb45jh0rx90wgs6v020k2xa87mvzas3mvfzvivjvqqlpryq"))))
+      (native-inputs
+       `(("fiveam" ,sbcl-fiveam)))
+      (inputs
+       `(("sbcl-usocket" ,sbcl-usocket)))
+      (synopsis "Find open ports programmatically in Common Lisp")
+      (description "This is a small Common Lisp library that finds an open
+port within a range.")
+      (license license:expat))))
+
+(define-public cl-find-port
+  (sbcl-package->cl-source-package sbcl-find-port))
+
+(define-public ecl-find-port
+  (sbcl-package->ecl-package sbcl-find-port))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 53884daf9b..8cb05a6cad 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,7 +50,7 @@
 (define-public llvm
   (package
     (name "llvm")
-    (version "7.0.1")
+    (version "8.0.0")
     (source
      (origin
       (method url-fetch)
@@ -57,7 +58,7 @@
                           version "/llvm-" version ".src.tar.xz"))
       (sha256
        (base32
-        "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3"))))
+        "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
@@ -324,11 +325,11 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
 (define-public clang-runtime
   (clang-runtime-from-llvm
    llvm
-   "065ybd8fsc4h2hikbdyricj6pyv4r7r7kpcikhb2y5zf370xybkq"))
+   "1c919wsm17xnv7lr8bhpq2wkq8113lzlw6hzhfr737j59x3wfddl"))
 
 (define-public clang
   (clang-from-llvm llvm clang-runtime
-                   "067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4"
+                   "0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08"
                    #:patches '("clang-7.0-libc-search-path.patch")))
 
 (define-public llvm-6
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index ccd79dada6..cc5e090f58 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -3,9 +3,9 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 ng0 <ng0@n0.is>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Ison111 <ison111@protonmail.com>
+;;; Copyright © 2018 ison <ison@airmail.cc>
 ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index d91efe715d..a8699b3d09 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -559,7 +560,6 @@ of other programs.")
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("kguiaddons" ,kguiaddons)
-       ("kwindowsystem" ,kwindowsystem)
        ("libdbusmenu-qt" ,libdbusmenu-qt)
        ("liblxqt" ,liblxqt)
        ("libqtxdg" ,libqtxdg)
@@ -582,6 +582,10 @@ of other programs.")
      `(("pkg-config" ,pkg-config)
        ("lxqt-build-tools" ,lxqt-build-tools)
        ("qttools" ,qttools)))
+    (propagated-inputs
+     ;; Propagating KWINDOWSYSTEM so that the list of opened applications
+     ;; shows up in lxqt-panel's taskbar plugin.
+     `(("kwindowsystem" ,kwindowsystem)))
     (arguments
      '(#:tests? #f                      ; no tests
        #:phases
@@ -651,7 +655,7 @@ of other programs.")
              #t)))))
     (home-page "https://lxqt.org/")
     (synopsis "The LXQt PolicyKit agent")
-    (description "lxqt-policykit is the polkit authentification agent of
+    (description "lxqt-policykit is the polkit authentication agent of
 LXQt.")
     (license license:lgpl2.1+)))
 
@@ -827,6 +831,15 @@ allows for launching applications or shutting down the system.")
                (("DESTINATION \"\\$\\{LXQT_ETC_XDG_DIR\\}")
                 "DESTINATION \"etc/xdg"))
              #t))
+         ;; add write permission to lxqt-rc.xml file which is stored as read-only in store
+         (add-after 'unpack 'patch-openbox-permission
+           (lambda _
+             (substitute* "startlxqt.in"
+               (("cp \"\\$LXQT_DEFAULT_OPENBOX_CONFIG\" \"\\$XDG_CONFIG_HOME/openbox\"")
+                 (string-append "cp \"$LXQT_DEFAULT_OPENBOX_CONFIG\" \"$XDG_CONFIG_HOME/openbox\"\n"
+                                "        # fix openbox permission issue\n"
+                                "        chmod u+w  \"$XDG_CONFIG_HOME/openbox\"/*")))
+             #t))
          (add-after 'unpack 'patch-translations-dir
            (lambda* (#:key outputs #:allow-other-keys)
              (substitute* '("lxqt-config-session/CMakeLists.txt"
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index ddd01189fb..114ef32a9d 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -106,6 +106,7 @@
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages screen)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
@@ -488,7 +489,7 @@ It adds a large amount of new and improved features to mutt.")
 (define-public gmime
   (package
     (name "gmime")
-    (version "3.2.0")
+    (version "3.2.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gmime/"
@@ -496,7 +497,7 @@ It adds a large amount of new and improved features to mutt.")
                                   "/gmime-" version ".tar.xz"))
               (sha256
                (base32
-                "1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m"))))
+                "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -846,14 +847,14 @@ invoking @command{notifymuch} from the post-new hook.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.28.3")
+    (version "0.28.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1v0ff6qqwj42p3n6qw30czzqi52nvgf3dn05vd7a03g39a5js8af"))))
+                "1jjnhs4xs4gksvg0a9qn68rxrj41im5bh58snka2pkj20nxwmcds"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((guix build gnu-build-system)
@@ -895,9 +896,9 @@ invoking @command{notifymuch} from the post-new hook.")
      `(("bash-completion" ,bash-completion)
        ("emacs" ,emacs-no-x) ; Minimal lacks libxml, needed for some tests.
        ("pkg-config" ,pkg-config)
-       ("python" ,python-2)
-       ("python-docutils" ,python2-docutils)
-       ("python-sphinx" ,python2-sphinx)
+       ("python" ,python)
+       ("python-docutils" ,python-docutils)
+       ("sphinx" ,python-sphinx)
 
        ;; The following are required for tests only.
        ("which" ,which)
@@ -1079,7 +1080,7 @@ MailCore 2.")
     (arguments
      `(#:tests? #f))
     (synopsis "Portrait image compressor")
-    (description "This packages takes your 48x48x1 portrait image and
+    (description "This package takes your 48x48x1 portrait image and
 compresses it.")
     (home-page "http://www.cs.indiana.edu/pub/faces/")
     (license (x11-style "file://README"))))
@@ -1281,7 +1282,7 @@ facilities for checking incoming mail.")
 (define-public dovecot
   (package
     (name "dovecot")
-    (version "2.3.5.1")
+    (version "2.3.6")
     (source
      (origin
        (method url-fetch)
@@ -1289,8 +1290,7 @@ facilities for checking incoming mail.")
                            (version-major+minor version) "/"
                            "dovecot-" version ".tar.gz"))
        (sha256
-        (base32
-         "0gy3qzwbp6zsyn44pcfq8iiv9iy9q7z6py30h60alb1vkr3rv3yp"))))
+        (base32 "1irnalplb47nlc26dn7zzdi95zhrxxi3miza7p3wdsgapv0qs7gd"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -1947,14 +1947,14 @@ converts them to maildir format directories.")
 (define-public mpop
   (package
     (name "mpop")
-    (version "1.4.3")
+    (version "1.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://marlam.de/mpop/releases/"
                            "mpop-" version ".tar.xz"))
        (sha256
-        (base32 "1di86frxv4gj8fasni409m87qmv0j0vmj13lawkz1pwv9hbynhjb"))))
+        (base32 "0j21cp8bw12vgfymxi3i4av3j97lrcyb5y9xa3mb59wr17izz73x"))))
     (build-system gnu-build-system)
     (inputs
      `(("gnutls" ,gnutls)
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index f8ee3883a1..04c800e95f 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -60,14 +60,14 @@ a flexible and convenient way.")
 (define-public man-db
   (package
     (name "man-db")
-    (version "2.8.3")
+    (version "2.8.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/man-db/man-db-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1b641kcgjvyc41pj67dn4p0zvwlj1vx3l6nf7qdcc7kf6v5a2cjr"))))
+                "1hgnfcgbllmws8cs6zaxklq8b69i05zynxi87f3zxw9lfms54kdn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -117,8 +117,9 @@ a flexible and convenient way.")
                        (string-append "--with-bzip2=" bzip2 "/bin/gzip")
                        (string-append "--with-xz=" xz "/bin/xz")
                        (string-append "--with-col=" util "/bin/col")
-                       ;; Default value is "/usr/lib/tmpfiles.d" (not
-                       ;; prefix-sensitive).
+                       ;; The default systemd directories ignore --prefix.
+                       (string-append "--with-systemdsystemunitdir="
+                                      %output "/lib/systemd/system")
                        (string-append "--with-systemdtmpfilesdir="
                                       %output "/lib/tmpfiles.d"))
                  (map (lambda (prog)
@@ -161,7 +162,7 @@ the traditional flat-text whatis databases.")
 (define-public man-pages
   (package
     (name "man-pages")
-    (version "5.00")
+    (version "5.01")
     (source
      (origin
        (method url-fetch)
@@ -171,7 +172,7 @@ the traditional flat-text whatis databases.")
               (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
                              "man-pages-" version ".tar.xz")))
        (sha256
-        (base32 "006rcqhs4ay9q8wip2kbgk3065gwvfbzrqgv2dsydwvcnwv50bss"))))
+        (base32 "09xn8d8xxwgms6h1bvjlgn3mxz51vxf3ra0ry9f5dqi29qry3z3x"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases (delete 'configure))
@@ -226,14 +227,14 @@ automatically.")
 (define-public help2man/latest
   (package
     (inherit help2man)
-    (version "1.47.8")
+    (version "1.47.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/help2man/help2man-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1p5830h88cx0zn0snwaj0vpph81xicpsirfwlxmcgjrlmn0nm3sj"))))))
+                "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk"))))))
 
 (define-public scdoc
   (package
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 0b668b4224..f234d2c860 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -100,8 +100,7 @@ MATE applications.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://pub.mate-desktop.org/releases/"
-                           (version-major+minor version) "/"
+       (uri (string-append "mirror://mate/" (version-major+minor version) "/"
                            name "-" version ".tar.xz"))
        (sha256
         (base32
@@ -126,12 +125,12 @@ MATE applications.")
        ("libcanberra" ,libcanberra)
        ("upower" ,upower)))
     (home-page "https://mate-desktop.org/")
-    (synopsis "A Power Manager for MATE")
+    (synopsis "Power manager for MATE")
     (description
      "MATE Power Manager is a MATE session daemon that acts as a policy agent on
-top of UPower. It listens to system events and responds with user-configurable
+top of UPower.  It listens to system events and responds with user-configurable
 actions.")
-    (license license:gpl3+)))
+    (license license:gpl2+)))
 
 (define-public mate-icon-theme
   (package
@@ -587,7 +586,7 @@ assorted menu related utility programs.")
        ("glib" ,glib)
        ("gucharmap" ,gucharmap)
        ("gtk+" ,gtk+)
-       ("gtksourceview" ,gtksourceview)
+       ("gtksourceview" ,gtksourceview-3)
        ("libgtop" ,libgtop)
        ("libmateweather" ,libmateweather)
        ("libnotify" ,libnotify)
@@ -1470,7 +1469,7 @@ can be used as backgrounds in the MATE Desktop environment.")
        ("enchant" ,enchant-1.6)
        ("glib" ,glib)
        ("gtk+" ,gtk+)
-       ("gtksourceview" ,gtksourceview)
+       ("gtksourceview" ,gtksourceview-3)
        ("gdk-pixbuf" ,gdk-pixbuf)
        ("iso-codes" ,iso-codes)
        ("libcanberra" ,libcanberra)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 49c8de8979..5e0df6e409 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -30,6 +30,7 @@
 ;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -774,14 +775,25 @@ incompatible with HDF5.")
     (inputs
      `(("zlib" ,zlib)))
     (native-inputs
-     `(("gfortran" ,gfortran)))
+     `(("gfortran" ,gfortran)
+       ("perl" ,perl)))                 ;part of the test machinery needs Perl
     (outputs '("out"       ; core library
                "fortran")) ; fortran interface
     (arguments
      `(;; Some of the users, notably Flann, need the C++ interface.
        #:configure-flags '("--enable-cxx"
                            "--enable-fortran"
-                           "--enable-fortran2003")
+                           "--enable-fortran2003"
+
+                           ;; Build a thread-safe library.  Unfortunately,
+                           ;; 'configure' invites you to either turn off C++,
+                           ;; Fortran, and the high-level interface (HL), or
+                           ;; to pass '--enable-unsupported'.  Debian
+                           ;; packagers chose to pass '--enable-unsupported'
+                           ;; and we follow their lead here.
+                           "--enable-threadsafe"
+                           "--with-pthread"
+                           "--enable-unsupported")
        ;; Use -fPIC to allow the R bindings to link with the static libraries
        #:make-flags (list "CFLAGS=-fPIC"
                           "CXXFLAGS=-fPIC")
@@ -1093,7 +1105,9 @@ Swath).")
     (arguments
      (substitute-keyword-arguments (package-arguments hdf5)
        ((#:configure-flags flags)
-        ``("--enable-parallel" ,@(delete "--enable-cxx" ,flags)))
+        ``("--enable-parallel"
+           ,@(delete "--enable-cxx"
+                     (delete "--enable-threadsafe" ,flags))))
        ((#:phases phases)
         `(modify-phases ,phases
            (add-after 'build 'mpi-setup
@@ -1102,7 +1116,7 @@ Swath).")
              (lambda _
                ;; OpenMPI's mpirun will exit with non-zero status if it
                ;; detects an "abnormal termination", i.e. any process not
-               ;; calling MPI_Finalize().  Since the test is explicitely
+               ;; calling MPI_Finalize().  Since the test is explicitly
                ;; avoiding MPI_Finalize so as not to have at_exit and thus
                ;; H5C_flush_cache from being called, mpirun will always
                ;; complain, so turn this test off.
@@ -2168,7 +2182,7 @@ IORDERINGSC  = $(IPORD) $(IMETIS) $(ISCOTCH)"
     (synopsis "Multifrontal sparse direct solver")
     (description
      "MUMPS (MUltifrontal Massively Parallel sparse direct Solver) solves a
-sparse system of linear equations A x = b using Guassian elimination.")
+sparse system of linear equations A x = b using Gaussian elimination.")
     (license license:cecill-c)))
 
 (define-public mumps-metis
@@ -2206,14 +2220,14 @@ sparse system of linear equations A x = b using Guassian elimination.")
 (define-public r-quadprog
   (package
     (name "r-quadprog")
-    (version "1.5-6")
+    (version "1.5-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "quadprog" version))
        (sha256
         (base32
-         "1fnwaz70dhiq4av8apc4wr3yrrpwc2i6lksf8pfi6jw8vzzyahql"))))
+         "0vg7i9p241bwvfdspjbydjrsvgipl6nsb8bjigp0hbbgvxbixx0s"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -4868,13 +4882,12 @@ built on top of DUNE, the Distributed and Unified Numerics Environment.")
        (uri (string-append
              "https://mersenneforum.org/mayer/src/C/mlucas_v" version ".txz"))
        (sha256
-        (base32
-         "1ax12qj9lyvnx4vs3gx7l8r3wx5gjbsdswp5f00ik9z0wz7xf297"))))
+        (base32 "0h4xj6pyyac79ka5ibqjilfa3s9j3yxnzgpwc57b54kfh2bj3447"))))
     (build-system gnu-build-system)
     (inputs
      `(("python2" ,python-2)))
     (arguments
-     `(#:tests? #f ; no tests
+     `(#:tests? #f                      ; no tests
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
@@ -4908,3 +4921,72 @@ coordinated fashion, as part of the Great Internet Mersenne Prime
 Search (GIMPS).  Mlucas also includes a simple Python script for assignment
 management via the GIMPS project's Primenet server.")
     (license license:gpl2+)))
+
+(define-public nauty
+  (package
+    (name "nauty")
+    (version "2.6r11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://pallini.di.uniroma1.it/"
+                    "nauty" (string-join (string-split version #\.) "")
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "lib"))
+    (arguments
+     `(#:test-target "checks"
+       #:phases
+       (modify-phases %standard-phases
+         ;; Default make target does not build all available
+         ;; executables.  Create them now.
+         (add-after 'build 'build-extra-programs
+           (lambda _
+             (for-each (lambda (target) (invoke "make" target))
+                       '("blisstog" "bliss2dre" "checks6" "sumlines"))
+             #t))
+         ;; Upstream does not provide any install target.
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib-output (assoc-ref outputs "lib"))
+                    (bin (string-append out "/bin"))
+                    (doc (string-append out "/share/doc/nauty/"))
+                    (include (string-append lib-output "/include/nauty"))
+                    (lib (string-append lib-output "/lib/nauty")))
+               (for-each (lambda (f) (install-file f bin))
+                         '("dreadnaut" "NRswitchg" "addedgeg" "amtog" "biplabg"
+                           "blisstog" "bliss2dre" "catg" "checks6" "complg"
+                           "converseg" "copyg" "countg" "cubhamg" "deledgeg"
+                           "delptg" "directg" "dretodot" "dretog" "genbg"
+                           "genbgL" "geng" "genquarticg" "genrang" "genspecialg"
+                           "gentourng" "gentreeg" "hamheuristic" "labelg"
+                           "linegraphg" "listg" "multig" "newedgeg" "pickg"
+                           "planarg" "ranlabg" "shortg" "showg" "subdivideg"
+                           "sumlines" "twohamg" "vcolg" "watercluster2"))
+               (for-each (lambda (f) (install-file f include))
+                         (find-files "." "\\.h$"))
+               (for-each (lambda (f) (install-file f lib))
+                         (find-files "." "\\.a$"))
+               (for-each (lambda (f) (install-file f doc))
+                         (append '("formats.txt" "README" "schreier.txt")
+                                 (find-files "." "\\.pdf$")))))))))
+    (inputs
+     `(("gmp" ,gmp)))                   ;for sumlines
+    (home-page "https://pallini.di.uniroma1.it/")
+    (synopsis "Library for graph automorphisms")
+    (description "@code{nauty} (No AUTomorphisms, Yes?) is a set of
+procedures for computing automorphism groups of graphs and digraphs.
+
+@code{nauty} computes graph information in the form of a set of
+generators, the size of the group, and the orbits of the group; it can
+also produce a canonical label.  The @code{nauty} suite is written in
+C and comes with a command-line interface, a collection of
+command-line tools, and an Application Programming Interface (API).
+
+This package provides the static libraries required to run programs
+compiled against the nauty library.")
+    (license license:asl2.0)))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 9aff59ab1d..c2430f5ee9 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -59,46 +59,48 @@ extensive examples, including parsers for the Javascript and C99 languages.")
     (license (list gpl3+ lgpl3+))))
 
 (define-public mes
-  (let ((triplet "i686-unknown-linux-gnu"))
-    (package
-      (name "mes")
-      (version "0.19")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "mirror://gnu/mes/"
-                                    "mes-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
-      (build-system gnu-build-system)
-      (supported-systems '("i686-linux" "x86_64-linux"))
-      (propagated-inputs
-       `(("mescc-tools" ,mescc-tools)
-         ("nyacc" ,nyacc)))
-      (native-inputs
-       `(("guile" ,guile-2.2)
-         ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system)
-                                                     (%current-system))))
-               ;; Use cross-compiler rather than #:system "i686-linux" to get
-               ;; MesCC 64 bit .go files installed ready for use with Guile.
-               `(("i686-linux-binutils" ,(cross-binutils triplet))
-                 ("i686-linux-gcc" ,(cross-gcc triplet)))
-               '())
-         ("graphviz" ,graphviz)
-         ("help2man" ,help2man)
-         ("perl" ,perl)                 ; build-aux/gitlog-to-changelog
-         ("texinfo" ,texinfo)))
-      (arguments
-       `(#:strip-binaries? #f))  ; binutil's strip b0rkes MesCC/M1/hex2 binaries
-      (synopsis "Scheme interpreter and C compiler for full source bootstrapping")
-      (description
-       "GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed
+  (package
+    (name "mes")
+    (version "0.19")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/mes/"
+                                  "mes-" version ".tar.gz"))
+              (sha256
+               (base32
+                "15h4yhaywdc0djpjlin2jz1kzahpqxfki0r0aav1qm9nxxmnp1l0"))))
+    (build-system gnu-build-system)
+    (supported-systems '("i686-linux" "x86_64-linux"))
+    (propagated-inputs
+     `(("mescc-tools" ,mescc-tools)
+       ("nyacc" ,nyacc)))
+    (native-inputs
+     `(("guile" ,guile-2.2)
+       ,@(let ((target-system (or (%current-target-system)
+                                  (%current-system))))
+           (cond
+            ((string-prefix? "x86_64-linux" target-system)
+             ;; Use cross-compiler rather than #:system "i686-linux" to get
+             ;; MesCC 64 bit .go files installed ready for use with Guile.
+             `(("i686-linux-binutils" ,(cross-binutils "i686-unknown-linux-gnu"))
+               ("i686-linux-gcc" ,(cross-gcc "i686-unknown-linux-gnu"))))
+            (else
+             '())))
+       ("graphviz" ,graphviz)
+       ("help2man" ,help2man)
+       ("perl" ,perl)                 ; build-aux/gitlog-to-changelog
+       ("texinfo" ,texinfo)))
+    (arguments
+     `(#:strip-binaries? #f))  ; binutil's strip b0rkes MesCC/M1/hex2 binaries
+    (synopsis "Scheme interpreter and C compiler for full source bootstrapping")
+    (description
+     "GNU Mes--Maxwell Equations of Software--brings the Reduced Binary Seed
 bootstrap to Guix and aims to help create full source bootstrapping for
 GNU/Linux distributions.  It consists of a mutual self-hosting Scheme
 interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with
 Guile.")
-      (home-page "https://gnu.org/software/mes")
-      (license gpl3+))))
+    (home-page "https://gnu.org/software/mes")
+    (license gpl3+)))
 
 (define-public mescc-tools
   (let ((commit "bb062b0da7bf2724ca40f9002b121579898d4ef7")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 94d4b0855c..827b7f800e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -594,8 +594,12 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
          (add-after 'unpack 'add-plugin-dirs
            (lambda _
              (substitute* "gajim/common/configpaths.py"
-               (("_paths\\['PLUGINS_USER'\\]")
-                "_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')"))
+               (("_paths\\['PLUGINS_USER'\\]\\]")
+                "_paths['PLUGINS_USER']] + \
+([os.getenv('GAJIM_PLUGIN_PATH')] \
+if os.getenv('GAJIM_PLUGIN_PATH') \
+and Path(os.getenv('GAJIM_PLUGIN_PATH')).is_dir() \
+else [])"))
              #t))
          (replace 'check
            (lambda _
@@ -683,7 +687,7 @@ end-to-end encryption support; XML console.")
 (define-public gajim-omemo
   (package
     (name "gajim-omemo")
-    (version "2.6.28")
+    (version "2.6.29")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append
@@ -691,7 +695,7 @@ end-to-end encryption support; XML console.")
                     version ".zip"))
               (sha256
                (base32
-                "1xy9yyd4416my151kj41nc62xwgmnwpagrmw49bniv09y78cqysg"))))
+                "1mif5qkrvxclqbqmq6njini4laznbs5nn82w2f1hkl8c1284dvgi"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index e479ccc34e..a9e6e054e1 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -50,8 +50,8 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
-  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xiph))
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index db8eeda1ca..4320138b73 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -193,13 +193,13 @@ error.  Additionally, iRRAM uses the concept of multi-valued functions.")
   (package
     (name "qd")
     (version "2.3.22")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://crd.lbl.gov/~dhbailey/mpdist/qd-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0wpgdzjcbanwd0c9mk90n04nas0q5fwc5zkrlbxyn6yjd2n8k3i6"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://crd-legacy.lbl.gov/~dhbailey/mpdist/qd-"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "1lq609rsp6zpg7zda75lyxzzk1fabzp4jn88j7xfk84mdgjgzh9h"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -215,7 +215,7 @@ error.  Additionally, iRRAM uses the concept of multi-valued functions.")
                                   ;; expensive optimizations lets it pass.
                                   '("CXXFLAGS=-O3 -fno-expensive-optimizations")
                                   '("CXXFLAGS=-O3")))))
-    (home-page "http://crd-legacy.lbl.gov/~dhbailey/mpdist/")
+    (home-page "https://www.davidhbailey.com/dhbsoftware/")
     (synopsis "Double-double and quad-double library")
     (description "This package supports both a double-double
 datatype (approx. 32 decimal digits) and a quad-double datatype (approx. 64
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index aafe420d04..9ee5206b33 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -427,7 +427,7 @@ many input formats and provides a customisable Vi-style user interface.")
        ("glib" ,glib)
        ("gtk+" ,gtk+)
        ("gtk-doc" ,gtk-doc)
-       ("gtksourceview" ,gtksourceview)
+       ("gtksourceview" ,gtksourceview-3)
        ("guile" ,guile-2.0)
        ("intltool" ,intltool)
        ("librsvg" ,librsvg)
@@ -2545,7 +2545,7 @@ event-based scripts for scrobbling, notifications, etc.")
 (define-public picard
   (package
     (name "picard")
-    (version "2.0.4")
+    (version "2.1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2553,10 +2553,15 @@ event-based scripts for scrobbling, notifications, etc.")
                     "picard/picard-" version ".tar.gz"))
               (sha256
                (base32
-                "0ds3ylpqn717fnzcjrfn05v5xram01bj6n3hwn9igmkd1jgf8vhc"))))
+                "19w5k3bf4886gdycxjds9nkjvir0gwy2r5cqkz0lbls4ikk4y14f"))))
     (build-system python-build-system)
     (arguments
-     '(#:phases
+     '(#:use-setuptools? #f
+       #:configure-flags
+       (list "--root=/"
+             ;; Don't phone home or show ‘Check for Update…’ in the Help menu.
+             "--disable-autoupdate")
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-source
            (lambda* (#:key inputs #:allow-other-keys)
@@ -2564,16 +2569,13 @@ event-based scripts for scrobbling, notifications, etc.")
                (("pyfpcalc")
                 (string-append
                  "pyfpcalc', '"
-                 (assoc-ref inputs "chromaprint") "/bin/fpcalc")))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (invoke "python" "setup.py" "install"
-                     (string-append "--prefix=" (assoc-ref outputs "out"))
-                     "--root=/"))))))
+                 (assoc-ref inputs "chromaprint") "/bin/fpcalc")))
+             #t)))))
     (native-inputs
      `(("gettext" ,gettext-minimal)))
     (inputs
      `(("chromaprint" ,chromaprint)
+       ("python-discid" ,python-discid)
        ("python-pyqt" ,python-pyqt)
        ("python-mutagen" ,python-mutagen)))
     (home-page "https://picard.musicbrainz.org/")
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index cb4ca996d4..e3710b2de5 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -30,7 +30,7 @@
 (define-public nano
   (package
     (name "nano")
-    (version "4.1")
+    (version "4.2")
     (source
      (origin
       (method url-fetch)
@@ -38,7 +38,7 @@
                           version ".tar.xz"))
       (sha256
        (base32
-        "1l11sa957g8njfz9v8q1f2m3w2xz1rf7i7dl37kgvmiql2bfbgc6"))))
+        "1yaxqk6f1awnny0ywikdwb7mdv8xbipdpzsj28j1nf9fwvydwhqi"))))
     (build-system gnu-build-system)
     (inputs
      `(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 4fc9e52ec7..bb11154978 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -26,6 +26,7 @@
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -50,6 +51,7 @@
   #: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 go)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
@@ -590,14 +592,14 @@ of the same name.")
 (define-public wireshark
   (package
     (name "wireshark")
-    (version "3.0.1")
+    (version "3.0.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
                            version ".tar.xz"))
        (sha256
-        (base32 "13605bpnnbqsdr8ybqnscbz9g422zmyymn4q5aci28vc1wylr1l6"))))
+        (base32 "0fz5lbyiw4a27fqc4ndi1w20bpcb6wi9k7vjv29l9fhd99kca7ky"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -729,6 +731,56 @@ manage, and delete Internet resources from Gandi.net such as domain names,
 virtual machines, and certificates.")
     (license license:gpl3+)))
 
+(define-public go-netns
+  (let ((commit "13995c7128ccc8e51e9a6bd2b551020a27180abd")
+        (revision "1"))
+    (package
+      (name "go-netns")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/vishvananda/netns.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1zk6w8158qi4niva5rijchbv9ixgmijsgqshh54wdaav4xrhjshn"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/vishvananda/netns"
+         #:tests? #f))                  ;tests require root privileges
+      (home-page "https://github.com/vishvananda/netns")
+      (synopsis "Simple network namespace handling for Go")
+      (description "The netns package provides a simple interface for
+handling network namespaces in Go.")
+      (license license:asl2.0))))
+
+(define-public go-sctp
+  ;; docker-libnetwork-cmd-proxy requires this exact commit.
+  (let ((commit "07191f837fedd2f13d1ec7b5f885f0f3ec54b1cb")
+        (revision "1"))
+    (package
+      (name "go-sctp")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/ishidawataru/sctp.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1mk9ncm10gwi5pn5wcw4skbyf4qg7n5qdf1mim4gf3mrckvi6g6h"))))
+      (build-system go-build-system)
+      (arguments
+       `(#:import-path "github.com/ishidawataru/sctp"))
+      (home-page "https://github.com/ishidawataru/sctp")
+      (synopsis "SCTP library for the Go programming language")
+      (description "This library provides methods for using the stream control
+transmission protocol (SCTP) in a Go application.")
+      (license license:asl2.0))))
+
 (define-public httping
   (package
     (name "httping")
@@ -2165,22 +2217,23 @@ SNMP v3 using both IPv4 and IPv6.")
 (define-public ubridge
   (package
     (name "ubridge")
-    (version "0.9.14")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/GNS3/ubridge/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1hivb8wqkk5047bdl2vbsbcvkmam1107hx1ahy4virq2bkqki1fj"))))
+    (version "0.9.15")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/GNS3/ubridge.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0fl07zyall04map6v2l1bclqh8y3rrhsx61s2v0sr8b00j201jg4"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ;no tests
+     `(#:tests? #f                      ; no tests
        #:make-flags '("CC=gcc")
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure)
+         (delete 'configure)            ; no configure script
          (add-before 'install 'set-bindir
            (lambda* (#:key  inputs outputs #:allow-other-keys)
              (let ((bin (string-append (assoc-ref outputs "out")
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 480f64a046..83f4431c2b 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -70,7 +70,7 @@ in the Mozilla clients.")
 (define-public nss
   (package
     (name "nss")
-    (version "3.43")
+    (version "3.44")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -81,7 +81,7 @@ in the Mozilla clients.")
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "1jp27w4w9nj5pkzrbc1zqj6pa09h2yy7vhzyx5fvg1q86fvw22zk"))
+                "1zvabgxlyvz3fnv4w89y4a5qkscjmm88naf929dgvvgfnrchwqm5"))
               ;; Create nss.pc and nss-config.
               (patches (search-patches "nss-pkgconfig.patch"
                                        "nss-increase-test-timeout.patch"))))
@@ -129,7 +129,7 @@ in the Mozilla clients.")
              ;; leading to test failures:
              ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>.  To
              ;; work around that, set the time to roughly the release date.
-             (invoke "faketime" "2019-02-01" "./nss/tests/all.sh")))
+             (invoke "faketime" "2019-05-01" "./nss/tests/all.sh")))
            (replace 'install
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 33acbbec4e..338f98030a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -756,35 +756,33 @@ Emacs.")
 (define-public ocaml-menhir
   (package
     (name "ocaml-menhir")
-    (version "20161115")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://gallium.inria.fr/~fpottier/menhir/"
-                    "menhir-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1j8nmcj2gq6hyyi16z27amiahplgrnk4ppchpm0v4qy80kwkf47k"))))
-    (build-system gnu-build-system)
+    (version "20181113")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.inria.fr/fpottier/menhir.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1iqdf64ayq4s3d9jkwhs3s8wqc2s48b292hp0kcjsskfhcvwg0kr"))))
+    (build-system ocaml-build-system)
     (inputs
      `(("ocaml" ,ocaml)))
     (native-inputs
      `(("ocamlbuild" ,ocamlbuild)))
     (arguments
-     `(#:parallel-build? #f ; Parallel build causes failure
+     `(#:make-flags `("USE_OCAMLFIND=true"
+                      ,(string-append "PREFIX=" (assoc-ref %outputs "out")))
        #:tests? #f ; No check target
        #:phases
        (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (setenv "PREFIX" out))
-             #t)))))
-    (home-page "http://gallium.inria.fr/~fpottier/menhir")
+         (delete 'configure))))
+    (home-page "http://gallium.inria.fr/~fpottier/menhir/")
     (synopsis "Parser generator")
     (description "Menhir is a parser generator.  It turns high-level grammar
 specifications, decorated with semantic actions expressed in the OCaml
-programming language into parsers, again expressed in OCaml. It is based on
+programming language into parsers, again expressed in OCaml.  It is based on
 Knuth’s LR(1) parser construction technique.")
     ;; The file src/standard.mly and all files listed in src/mnehirLib.mlpack
     ;; that have an *.ml or *.mli extension are GPL licensed. All other files
@@ -1318,14 +1316,14 @@ coverage information.")
 (define-public dune
   (package
     (name "dune")
-    (version "1.9.1")
+    (version "1.9.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/ocaml/dune/releases/"
                                   "download/" version "/dune-" version ".tbz"))
               (sha256
                (base32
-                "0z4jnj0a5vxjqlwksplhag9b3s3iqdcpcpjjzfazv5jdl5cf58f9"))))
+                "1jlhnx580v6i1d451z5cl8ibfd0m9qln963y2pp5v6s2winyqyri"))))
     (build-system ocaml-build-system)
     (arguments
      `(#:tests? #f; require odoc
@@ -1368,7 +1366,7 @@ following a very simple s-expression syntax.")
        ("ocamlbuild" ,ocamlbuild)
        ("ocaml-result" ,ocaml-result)))
     (properties `((upstream-name . "ocaml-migrate-parsetree")))
-    (synopsis "OCaml parsetree convertor")
+    (synopsis "OCaml parsetree converter")
     (description "This library converts between parsetrees of different OCaml
 versions.  For each version, there is a snapshot of the parsetree and conversion
 functions to the next and/or previous version.")
@@ -1521,19 +1519,21 @@ library.")
 (define-public ocaml-sqlite3
   (package
     (name "ocaml-sqlite3")
-    (version "4.1.2")
+    (version "4.4.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/mmottl/sqlite3-ocaml/releases/download/v"
-             version "/sqlite3-ocaml-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/mmottl/sqlite3-ocaml")
+              (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "14c1nir7c6bivajg0vyx853y7la7r5d25g1v5hjb2wfi73r15p1m"))))
-    (build-system ocaml-build-system)
+         "1536agm5fgcqysszhpd3kmw7lkc5n5ni7gmlyglrbvmnmrwf3av2"))))
+    (build-system dune-build-system)
     (native-inputs
-     `(("ocamlbuild" ,ocamlbuild)
+     `(("ocaml-base" ,ocaml-base)
+       ("ocaml-stdio" ,ocaml-stdio)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("sqlite" ,sqlite)))
@@ -2170,29 +2170,21 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
 (define-public ocaml-base64
   (package
     (name "ocaml-base64")
-    (version "2.1.2")
+    (version "3.2.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mirage/ocaml-base64/"
-                                  "releases/download/v" version "/base64-"
-                                   version ".tbz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mirage/ocaml-base64")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                 "1p45sawchmrkr22gkmydjc4ary23pisp58zsnb7iq7d82nxs1lfq"))))
-    (build-system ocaml-build-system)
-    (arguments
-     `(#:build-flags (list "build" "--tests" "true")
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure))))
+                 "1ilw3zj0w6cq7i4pvr8m2kv5l5f2y9aldmv72drlwwns013b1gwy"))))
+    (build-system dune-build-system)
     (native-inputs
-     `(("topkg" ,ocaml-topkg)
-       ("ocamlbuild" ,ocamlbuild)
-       ("opam" ,opam)
-       ("rresult" ,ocaml-rresult)
-       ("bos" ,ocaml-bos)
-       ("alcotest" ,ocaml-alcotest)))
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-bos" ,ocaml-bos)
+       ("ocaml-rresult" ,ocaml-rresult)))
     (home-page "https://github.com/mirage/ocaml-base64")
     (synopsis "Base64 encoding for OCaml")
     (description "Base64 is a group of similar binary-to-text encoding schemes
@@ -2732,7 +2724,9 @@ Format module of the OCaml standard library.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d"))))
+        (base32 "0lyqllmfsxmwlg7qidy92kvxi9n39lvachmydcyi81f8p07ykd2d"))
+       (patches
+         (search-patches "ocaml-piqilib-Update-base64.patch"))))
     (build-system ocaml-build-system)
     (arguments
      `(#:phases
@@ -3153,7 +3147,15 @@ without writing or generating any C!")
     `(#:build-flags (list "build" "--tests" "true")
       #:phases
       (modify-phases %standard-phases
-        (delete 'configure))))
+        (delete 'configure)
+        (add-before 'build 'fix-for-guix
+          (lambda _
+            (substitute* "src/ocb_stubblr.ml"
+              ;; Do not fail when opam is not present or initialized
+              (("error_msgf \"error running opam\"") "\"\"")
+              ;; Guix doesn't have cc, but it has gcc
+              (("\"cc\"") "\"gcc\""))
+            #t)))))
    (inputs
     `(("topkg" ,ocaml-topkg)
       ("opam" ,opam)))
@@ -3169,7 +3171,7 @@ OCaml projects that contain C stubs.")
 (define-public ocaml-tsdl
   (package
     (name "ocaml-tsdl")
-    (version "0.9.1")
+    (version "0.9.6")
     (home-page "http://erratique.ch/software/tsdl")
     (source (origin
               (method url-fetch)
@@ -3178,7 +3180,7 @@ OCaml projects that contain C stubs.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "08bb97fhvz829fb0sgjn2p20mp7b04v98zy2qxpk2w390a6c4b34"))))
+                "00krjhmnchsnz33h9zhh0v69xbvi86l0xf0dvy7iivylb7f7x3n4"))))
     (build-system ocaml-build-system)
     (arguments
      `(#:build-flags '("build")
@@ -3188,6 +3190,8 @@ OCaml projects that contain C stubs.")
          (delete 'configure))))
     (native-inputs
      `(("ocamlbuild" ,ocamlbuild)
+       ("ocaml-astring" ,ocaml-astring)
+       ("ocaml-ocb-stubblr" ,ocaml-ocb-stubblr)
        ("opam" ,opam)
        ("pkg-config" ,pkg-config)))
     (inputs
@@ -3842,7 +3846,7 @@ provided by companion libraries such as
      '(#:tests? #f)) ;no tests
     (properties `((upstream-name . "ocaml-compiler-libs")))
     (synopsis "Compiler libraries repackaged")
-    (description "This packaeg simply repackages the OCaml compiler libraries
+    (description "This package simply repackages the OCaml compiler libraries
 so they don't expose everything at toplevel.  For instance, @code{Ast_helper}
 is now @code{Ocaml_common.Ast_helper}.")
     (license license:expat)))
@@ -4609,7 +4613,7 @@ to denote the expected output.")
     (properties `((upstream-name . "ppx_js_style")))
     (home-page "https://github.com/janestreet/ppx_js_style")
     (synopsis "Code style checker for Jane Street Packages")
-    (description "This packages is a no-op ppx rewriter.  It is used as a
+    (description "This package is a no-op ppx rewriter.  It is used as a
 @code{lint} tool to enforce some coding conventions across all Jane Street
 packages.")
     (license license:asl2.0)))
@@ -4962,3 +4966,150 @@ the full Core is not available, such as in Javascript.")
                license:asl2.0
                ;; MLton and sjs
                license:expat))))
+
+(define-public ocaml-markup
+  (package
+    (name "ocaml-markup")
+    (version "0.8.0")
+    (home-page "https://github.com/aantron/markup.ml")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-uchar" ,ocaml-uchar)
+       ("ocaml-uutf" ,ocaml-uutf)
+       ("ocaml-lwt" ,ocaml-lwt)))
+    (native-inputs `(("ocaml-ounit" ,ocaml-ounit)))
+    (synopsis "Error-recovering functional HTML5 and XML parsers and writers")
+    (description "Markup.ml provides an HTML parser and an XML parser.  The
+parsers are wrapped in a simple interface: they are functions that transform
+byte streams to parsing signal streams.  Streams can be manipulated in various
+ways, such as processing by fold, filter, and map, assembly into DOM tree
+structures, or serialization back to HTML or XML.
+
+Both parsers are based on their respective standards.  The HTML parser, in
+particular, is based on the state machines defined in HTML5.
+
+The parsers are error-recovering by default, and accept fragments.  This makes
+it very easy to get a best-effort parse of some input.  The parsers can,
+however, be easily configured to be strict, and to accept only full documents.
+
+Apart from this, the parsers are streaming (do not build up a document in
+memory), non-blocking (can be used with threading libraries), lazy (do not
+consume input unless the signal stream is being read), and process the input in
+a single pass.  They automatically detect the character encoding of the input
+stream, and convert everything to UTF-8.")
+    (license license:bsd-3)))
+
+(define-public ocaml-tyxml
+  (package
+    (name "ocaml-tyxml")
+    (version "4.3.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocsigen/tyxml.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0wv19xipkj8l2sks1h53105ywbjwk7q93fb7b8al4a2g9wr109c0"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-re" ,ocaml-re)
+       ("ocaml-seq" ,ocaml-seq)
+       ("ocaml-uutf" ,ocaml-uutf)
+       ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+       ("ocaml-markup" ,ocaml-markup)))
+    (native-inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
+    (arguments `(#:jbuild? #t))
+    (home-page "https://github.com/ocsigen/tyxml/")
+    (synopsis "TyXML is a library for building correct HTML and SVG documents")
+    (description "TyXML provides a set of convenient combinators that uses the
+OCaml type system to ensure the validity of the generated documents.  TyXML can
+be used with any representation of HTML and SVG: the textual one, provided
+directly by this package, or DOM trees (@code{js_of_ocaml-tyxml}) virtual DOM
+(@code{virtual-dom}) and reactive or replicated trees (@code{eliom}).  You can
+also create your own representation and use it to instantiate a new set of
+combinators.")
+    (license license:lgpl2.1)))
+
+(define-public ocaml-bisect-ppx
+  (package
+    (name "ocaml-bisect-ppx")
+    (version "1.4.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/aantron/bisect_ppx.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1vp3qvrkz7q25nbmvd40vhsnz2k9aqh17bnd21i3q8q0xlr5hdag"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+       ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+       ("ocaml-ounit" ,ocaml-ounit)))
+    (home-page "https://github.com/aantron/bisect_ppx")
+    (synopsis "Code coverage for OCaml")
+    (description "Bisect_ppx helps you test thoroughly.  It is a small
+preprocessor that inserts instrumentation at places in your code, such as
+if-then-else and match expressions.  After you run tests, Bisect_ppx gives a
+nice HTML report showing which places were visited and which were missed.
+
+Usage is simple - add package bisect_ppx when building tests, run your tests,
+then run the Bisect_ppx report tool on the generated visitation files.")
+    (license license:mpl2.0)))
+
+(define-public ocaml-odoc
+  (package
+    (name "ocaml-odoc")
+    (version "1.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/odoc")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0br11cw6wa0mwafja4xdb45d2f8908l6nzdq5mw5lbfq2jnp68km"))))
+    (build-system dune-build-system)
+    (inputs
+     `(("ocaml-alcotest" ,ocaml-alcotest)
+       ("ocaml-markup" ,ocaml-markup)
+       ("ocaml-sexplib" ,ocaml-sexplib)
+       ("ocaml-re" ,ocaml-re)
+       ("ocaml-uutf" ,ocaml-uutf)))
+    (native-inputs
+     `(("ocaml-astring" ,ocaml-astring)
+       ("ocaml-cmdliner" ,ocaml-cmdliner)
+       ("ocaml-cppo" ,ocaml-cppo)
+       ("ocaml-fpath" ,ocaml-fpath)
+       ("ocaml-result" ,ocaml-result)
+       ("ocaml-tyxml" ,ocaml-tyxml)
+       ("ocaml-bisect-ppx" ,ocaml-bisect-ppx)))
+    (home-page "https://github.com/ocaml/odoc")
+    (synopsis "OCaml documentation generator")
+    (description "Odoc is a documentation generator for OCaml.  It reads
+@emph{doc comments}, delimited with @code{(** ... *)}, and outputs
+@acronym{HTML}.
+
+Text inside doc comments is marked up in ocamldoc syntax.  Odoc's main
+advantage over ocamldoc is an accurate cross-referencer, which handles the
+complexity of the OCaml module system.")
+    (license license:isc)))
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 2906a574cf..289b845ebc 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 697a04e098..a356a6dab7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Vagrant Cascadian <vagrant@reproducible-builds.org>
+;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -109,9 +110,9 @@
   ;; Latest version of Guix, which may or may not correspond to a release.
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
-  (let ((version "0.16.0")
-        (commit "0c329bf4b0c00abdc9a7d9c818d36d4d60b3005d")
-        (revision 14))
+  (let ((version "1.0.1")
+        (commit "820429517f9cc8333704a839b4346ac4b02468c4")
+        (revision 1))
     (package
       (name "guix")
 
@@ -127,7 +128,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "1403vrazx46w9hcvqjyxa4ipwvqv0432f6rsn4981w1n3p1j4mf6"))
+                  "1vfp7ps1k1cwn8p0gsgarlxcy982hzyvb7zqnj66jqd258a1qfgh"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -493,7 +494,7 @@ symlinks to the files in a common directory such as /usr/local.")
 (define-public rpm
   (package
     (name "rpm")
-    (version "4.14.2")
+    (version "4.14.2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://ftp.rpm.org/releases/rpm-"
@@ -501,7 +502,7 @@ symlinks to the files in a common directory such as /usr/local.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0armd7dqr8bl0isx8l4xlylm7dikasmxhhcbz336fkp2x30w5jw0"))))
+                "1nmck2fq9h85fgs3zhh6w1avlw5y16cbz5khd459ry3jfd5w4f8i"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-external-db"   ;use the system's bdb
@@ -518,7 +519,7 @@ symlinks to the files in a common directory such as /usr/local.")
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
-     `(("python" ,python-2)
+     `(("python" ,python)
        ("xz" ,xz)
        ("bdb" ,bdb)
        ("popt" ,popt)
@@ -530,7 +531,7 @@ symlinks to the files in a common directory such as /usr/local.")
        ("bzip2" ,bzip2)
        ("zlib" ,zlib)
        ("cpio" ,cpio)))
-    (home-page "http://rpm.org/")
+    (home-page "https://rpm.org/")
     (synopsis "The RPM Package Manager")
     (description
      "The RPM Package Manager (RPM) is a command-line driven package
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 8b64878553..94c844eec9 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -48,14 +48,14 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20190422")
+    (version "20190522")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/parallel/parallel-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "0xdl5fnh1vpjp3zpmqsrbbgjixazlhl4d9awk42nz4snzynysjxl"))))
+       (base32 "0y3z9wybs3gak3zwgsby8r5gg6dwd3qlrkch0q4fn0i1j1jhmijv"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index b238d39a70..2b844c9a1c 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -108,7 +108,7 @@ human.")
 (define-public keepassxc
   (package
     (name "keepassxc")
-    (version "2.3.4")
+    (version "2.4.1")
     (source
      (origin
        (method url-fetch)
@@ -117,12 +117,13 @@ human.")
                            version "-src.tar.xz"))
        (sha256
         (base32
-         "02kq0a7a7hpw824n03apma00yq1c6dds224g15mrnnqqjn4af90c"))))
+         "1aw9airx9z846p0xc0qjgy5hg35b8cxp57rvlq39n6wx4z8ppa8d"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags '("-DWITH_XC_NETWORKING=YES"
                            "-DWITH_XC_BROWSER=YES"
-                           "-DWITH_XC_SSHAGENT=YES")))
+                           "-DWITH_XC_SSHAGENT=YES"
+                           "-DWITH_XC_UPDATECHECK=NO")))
     (inputs
      `(("argon2" ,argon2)
        ("curl" ,curl)                   ; XC_NETWORKING
@@ -130,7 +131,9 @@ human.")
        ("libsodium" ,libsodium)         ; XC_BROWSER
        ("libxi" ,libxi)
        ("libxtst" ,libxtst)
+       ("qrencode" ,qrencode)
        ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
        ("zlib" ,zlib)))
     (native-inputs
diff --git a/gnu/packages/patches/at-spi2-core-meson-compat.patch b/gnu/packages/patches/at-spi2-core-meson-compat.patch
deleted file mode 100644
index 168a31b4ed..0000000000
--- a/gnu/packages/patches/at-spi2-core-meson-compat.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix build with Meson 0.50.0 and above.
-
-Taken from upstream repository:
-https://gitlab.gnome.org/GNOME/at-spi2-core/commit/44a812ea51223d82f21a098a2d45fcc5c329ce7a
-
-diff --git a/atspi/meson.build b/atspi/meson.build
-index b7a9357df1c4857dffa2ec123cd3073e67a07fea..2a6915d76202dabf923b50e6a8b85cbb83cb43d0 100644
---- a/atspi/meson.build
-+++ b/atspi/meson.build
-@@ -57,7 +57,7 @@ atspi_headers = [
- 
- atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi')
- 
--install_headers(atspi_headers, subdir: atspi_includedir)
-+install_headers(atspi_headers, install_dir: atspi_includedir)
- 
- atspi_enums = gnome.mkenums('atspi-enum-types',
-                             sources: [ 'atspi-constants.h', 'atspi-types.h' ],
diff --git a/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch b/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch
deleted file mode 100644
index ab7cc83684..0000000000
--- a/gnu/packages/patches/bind-fix-unused-pk11-ecc-constants.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Thu, 25 Apr 2019 04:36:52 +0200
-Subject: [PATCH] gnu: bind: Fix unused PKCS#11 ECC constants.
-
-Without this patch, the build fails:
-
-  pkcs11-keygen.c: In function ‘main’:
-  pkcs11-keygen.c:424:32: error: ‘pk11_ecc_prime256v1’ undeclared (first use in this function)
-      public_template[4].pValue = pk11_ecc_prime256v1;
-                                  ^
-  pkcs11-keygen.c:424:32: note: each undeclared identifier is reported only once for each function it appears in
-  pkcs11-keygen.c:428:32: error: ‘pk11_ecc_secp384r1’ undeclared (first use in this function)
-      public_template[4].pValue = pk11_ecc_secp384r1;
-                                  ^
-  make[2]: *** [Makefile:217: pkcs11-keygen.o] Error 1
-
-Fix copied verbatim from upstream[0].
-
-[0]: https://gitlab.isc.org/isc-projects/bind9/issues/935
-
----
---- orig-bind-9.11.6/bin/pkcs11/pkcs11-keygen.c	2019-02-27 15:28:15.000000000 -0800
-+++ bind-9.11.6/bin/pkcs11/pkcs11-keygen.c	2019-03-11 09:20:50.955257469 -0700
-@@ -403,6 +403,10 @@
- 		public_template[RSA_PUBLIC_EXPONENT].ulValueLen = expsize;
- 		break;
- 	case key_ecc:
-+#if !defined(HAVE_PKCS11_ECDSA)
-+		fprintf(stderr, "prime256v1 and secp3841r1 is not supported\n");
-+		usage();
-+#else
- 		op_type = OP_EC;
- 		if (bits == 0)
- 			bits = 256;
-@@ -429,7 +433,7 @@
- 			public_template[4].ulValueLen =
- 				sizeof(pk11_ecc_secp384r1);
- 		}
--
-+#endif
- 		break;
- 	case key_ecx:
- #if !defined(CKM_EDDSA_KEY_PAIR_GEN)
diff --git a/gnu/packages/patches/borg-fix-hard-link-preloading.patch b/gnu/packages/patches/borg-fix-hard-link-preloading.patch
new file mode 100644
index 0000000000..92a4e22674
--- /dev/null
+++ b/gnu/packages/patches/borg-fix-hard-link-preloading.patch
@@ -0,0 +1,157 @@
+Fix a bug that would cause the test suite to hang:
+
+https://github.com/borgbackup/borg/issues/4350
+
+Patch copied from upstream source repository:
+
+https://github.com/borgbackup/borg/commit/18242ab9e2f26c450b8507aa1d5eceadab8ad027
+
+From 18242ab9e2f26c450b8507aa1d5eceadab8ad027 Mon Sep 17 00:00:00 2001
+From: Thomas Waldmann <tw@waldmann-edv.de>
+Date: Thu, 2 May 2019 21:02:26 +0200
+Subject: [PATCH] preload chunks for hardlink slaves w/o preloaded master,
+ fixes #4350
+
+also split the hardlink extraction test into 2 tests.
+
+(cherry picked from commit f33f318d816505161d1449a02ddfdeb97d6fe80a)
+---
+ src/borg/archive.py            | 42 +++++++++++++++++++++++++++++-----
+ src/borg/archiver.py           |  5 ++--
+ src/borg/testsuite/archiver.py | 20 +++++++++-------
+ 3 files changed, 51 insertions(+), 16 deletions(-)
+
+diff --git a/src/borg/archive.py b/src/borg/archive.py
+index adc1f42c..0793672a 100644
+--- a/src/borg/archive.py
++++ b/src/borg/archive.py
+@@ -192,7 +192,7 @@ def __init__(self, repository, key):
+         self.repository = repository
+         self.key = key
+ 
+-    def unpack_many(self, ids, filter=None, preload=False):
++    def unpack_many(self, ids, filter=None, partial_extract=False, preload=False, hardlink_masters=None):
+         """
+         Return iterator of items.
+ 
+@@ -209,12 +209,40 @@ def unpack_many(self, ids, filter=None, preload=False):
+             for item in items:
+                 if 'chunks' in item:
+                     item.chunks = [ChunkListEntry(*e) for e in item.chunks]
++
++            def preload(chunks):
++                self.repository.preload([c.id for c in chunks])
++
+             if filter:
+                 items = [item for item in items if filter(item)]
++
+             if preload:
+-                for item in items:
+-                    if 'chunks' in item:
+-                        self.repository.preload([c.id for c in item.chunks])
++                if filter and partial_extract:
++                    # if we do only a partial extraction, it gets a bit
++                    # complicated with computing the preload items: if a hardlink master item is not
++                    # selected (== not extracted), we will still need to preload its chunks if a
++                    # corresponding hardlink slave is selected (== is extracted).
++                    # due to a side effect of the filter() call, we now have hardlink_masters dict populated.
++                    masters_preloaded = set()
++                    for item in items:
++                        if 'chunks' in item:  # regular file, maybe a hardlink master
++                            preload(item.chunks)
++                            # if this is a hardlink master, remember that we already preloaded it:
++                            if 'source' not in item and hardlinkable(item.mode) and item.get('hardlink_master', True):
++                                masters_preloaded.add(item.path)
++                        elif 'source' in item and hardlinkable(item.mode):  # hardlink slave
++                            source = item.source
++                            if source not in masters_preloaded:
++                                # we only need to preload *once* (for the 1st selected slave)
++                                chunks, _ = hardlink_masters[source]
++                                preload(chunks)
++                                masters_preloaded.add(source)
++                else:
++                    # easy: we do not have a filter, thus all items are selected, thus we need to preload all chunks.
++                    for item in items:
++                        if 'chunks' in item:
++                            preload(item.chunks)
++
+             for item in items:
+                 yield item
+ 
+@@ -433,8 +461,10 @@ def item_filter(self, item, filter=None):
+             return False
+         return filter(item) if filter else True
+ 
+-    def iter_items(self, filter=None, preload=False):
+-        for item in self.pipeline.unpack_many(self.metadata.items, preload=preload,
++    def iter_items(self, filter=None, partial_extract=False, preload=False, hardlink_masters=None):
++        assert not (filter and partial_extract and preload) or hardlink_masters is not None
++        for item in self.pipeline.unpack_many(self.metadata.items, partial_extract=partial_extract,
++                                              preload=preload, hardlink_masters=hardlink_masters,
+                                               filter=lambda item: self.item_filter(item, filter)):
+             yield item
+ 
+diff --git a/src/borg/archiver.py b/src/borg/archiver.py
+index 957959d6..dcc20455 100644
+--- a/src/borg/archiver.py
++++ b/src/borg/archiver.py
+@@ -755,7 +755,8 @@ def peek_and_store_hardlink_masters(item, matched):
+         else:
+             pi = None
+ 
+-        for item in archive.iter_items(filter, preload=True):
++        for item in archive.iter_items(filter, partial_extract=partial_extract,
++                                       preload=True, hardlink_masters=hardlink_masters):
+             orig_path = item.path
+             if strip_components:
+                 item.path = os.sep.join(orig_path.split(os.sep)[strip_components:])
+@@ -997,7 +998,7 @@ def item_to_tarinfo(item, original_path):
+                 return None, stream
+             return tarinfo, stream
+ 
+-        for item in archive.iter_items(filter, preload=True):
++        for item in archive.iter_items(filter, preload=True, hardlink_masters=hardlink_masters):
+             orig_path = item.path
+             if strip_components:
+                 item.path = os.sep.join(orig_path.split(os.sep)[strip_components:])
+diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py
+index c35ad800..935b3d79 100644
+--- a/src/borg/testsuite/archiver.py
++++ b/src/borg/testsuite/archiver.py
+@@ -823,7 +823,18 @@ def test_mount_hardlinks(self):
+             assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456'
+ 
+     @requires_hardlinks
+-    def test_extract_hardlinks(self):
++    def test_extract_hardlinks1(self):
++        self._extract_hardlinks_setup()
++        with changedir('output'):
++            self.cmd('extract', self.repository_location + '::test')
++            assert os.stat('input/source').st_nlink == 4
++            assert os.stat('input/abba').st_nlink == 4
++            assert os.stat('input/dir1/hardlink').st_nlink == 4
++            assert os.stat('input/dir1/subdir/hardlink').st_nlink == 4
++            assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456'
++
++    @requires_hardlinks
++    def test_extract_hardlinks2(self):
+         self._extract_hardlinks_setup()
+         with changedir('output'):
+             self.cmd('extract', self.repository_location + '::test', '--strip-components', '2')
+@@ -839,13 +850,6 @@ def test_extract_hardlinks(self):
+             assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456'
+             assert os.stat('input/dir1/aaaa').st_nlink == 2
+             assert os.stat('input/dir1/source2').st_nlink == 2
+-        with changedir('output'):
+-            self.cmd('extract', self.repository_location + '::test')
+-            assert os.stat('input/source').st_nlink == 4
+-            assert os.stat('input/abba').st_nlink == 4
+-            assert os.stat('input/dir1/hardlink').st_nlink == 4
+-            assert os.stat('input/dir1/subdir/hardlink').st_nlink == 4
+-            assert open('input/dir1/subdir/hardlink', 'rb').read() == b'123456'
+ 
+     def test_extract_include_exclude(self):
+         self.cmd('init', '--encryption=repokey', self.repository_location)
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/calibre-remove-test-bs4.patch b/gnu/packages/patches/calibre-remove-test-bs4.patch
new file mode 100644
index 0000000000..77dd45d329
--- /dev/null
+++ b/gnu/packages/patches/calibre-remove-test-bs4.patch
@@ -0,0 +1,34 @@
+In my efforts to fix all Calibre tests, this test would always complain about
+backports.functools_lru_cache not existing even after I packaged and added
+python2-soupsieve as an input and confirmed it was in the
+PYTHONPATH. Currently Calibre does not actually use it for anything other than
+testing it's there, so I assume they will start using it in future Calibre
+versions.
+
+From 2738dd42caebe55326c76922a12ba8740bdb22e7 Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <mail@brendan.scot>
+Date: Sat, 27 Apr 2019 00:42:39 +1000
+Subject: [PATCH] Remove test_bs4
+
+---
+ src/calibre/test_build.py | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
+index 73f1172e8c..07bdffd3e5 100644
+--- a/src/calibre/test_build.py
++++ b/src/calibre/test_build.py
+@@ -73,10 +73,6 @@ class BuildTest(unittest.TestCase):
+         from html5_parser import parse
+         parse('<p>xxx')
+ 
+-    def test_bs4(self):
+-        import soupsieve, bs4
+-        del soupsieve, bs4
+-
+     def test_zeroconf(self):
+         if ispy3:
+             import zeroconf as z, ifaddr
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/calibre-remove-test-sqlite.patch b/gnu/packages/patches/calibre-remove-test-sqlite.patch
new file mode 100644
index 0000000000..7bdd90874d
--- /dev/null
+++ b/gnu/packages/patches/calibre-remove-test-sqlite.patch
@@ -0,0 +1,29 @@
+From a92e26359bd07743ab105819ed0b619e27e14017 Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <mail@brendan.scot>
+Date: Sat, 27 Apr 2019 03:30:53 +1000
+Subject: [PATCH] Disable test_sqlite.
+
+---
+ src/calibre/test_build.py | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
+index 07bdffd3e5..740588c95b 100644
+--- a/src/calibre/test_build.py
++++ b/src/calibre/test_build.py
+@@ -162,12 +162,6 @@ class BuildTest(unittest.TestCase):
+             au(x, 'strftime')
+             self.assertEqual(unicode_type(time.strftime(fmt.replace('%e', '%#d'), t)), x)
+ 
+-    def test_sqlite(self):
+-        import sqlite3
+-        conn = sqlite3.connect(':memory:')
+-        from calibre.library.sqlite import load_c_extensions
+-        self.assertTrue(load_c_extensions(conn, True), 'Failed to load sqlite extension')
+-
+     def test_apsw(self):
+         import apsw
+         conn = apsw.Connection(':memory:')
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/calibre-remove-test-unrar.patch b/gnu/packages/patches/calibre-remove-test-unrar.patch
new file mode 100644
index 0000000000..4e5572d1a6
--- /dev/null
+++ b/gnu/packages/patches/calibre-remove-test-unrar.patch
@@ -0,0 +1,28 @@
+Unrar contains security vulnerabilities and has thus been removed from Guix.
+From a16f97b02bd8afd0ec05c471e156f631f2cc6eec Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <mail@brendan.scot>
+Date: Tue, 26 Mar 2019 22:17:03 +1100
+Subject: [PATCH] Remove test_unrar.
+
+---
+ src/calibre/test_build.py | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
+index d67afd20a6..709132ef17 100644
+--- a/src/calibre/test_build.py
++++ b/src/calibre/test_build.py
+@@ -220,10 +220,6 @@ class BuildTest(unittest.TestCase):
+         from calibre.gui2.win_file_dialogs import test
+         test()
+ 
+-    def test_unrar(self):
+-        from calibre.utils.unrar import test_basic
+-        test_basic()
+-
+     @unittest.skipUnless(iswindows, 'WPD is windows only')
+     def test_wpd(self):
+         wpd = plugins['wpd'][0]
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/calibre-use-packaged-feedparser.patch b/gnu/packages/patches/calibre-use-packaged-feedparser.patch
deleted file mode 100644
index 8f4bbc8248..0000000000
--- a/gnu/packages/patches/calibre-use-packaged-feedparser.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From: Martin Pitt <mpitt@debian.org>
-Date: Mon, 14 Nov 2016 22:41:23 +0100
-Subject: Use packaged instead of bundled feedparser Python module
-
----
- recipes/lenta_ru.recipe           | 4 +++-
- src/calibre/web/feeds/__init__.py | 4 +++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/recipes/lenta_ru.recipe b/recipes/lenta_ru.recipe
-index aa4dac4..4b6710c 100644
---- a/recipes/lenta_ru.recipe
-+++ b/recipes/lenta_ru.recipe
-@@ -4,11 +4,13 @@
- Lenta.ru
- '''
- 
--from calibre.web.feeds.feedparser import parse
- from calibre.ebooks.BeautifulSoup import Tag
- from calibre.web.feeds.news import BasicNewsRecipe
-+from feedparser import parse
-+from functools import partial
- import re
- 
-+parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11')
- 
- class LentaRURecipe(BasicNewsRecipe):
-     title = u'Lenta.ru: \u041d\u043e\u0432\u043e\u0441\u0442\u0438'
-diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py
-index 8c9d748..f262604 100644
---- a/src/calibre/web/feeds/__init__.py
-+++ b/src/calibre/web/feeds/__init__.py
-@@ -11,7 +11,10 @@ from calibre.utils.logging import default_log
- from calibre import entity_to_unicode, strftime, force_unicode
- from calibre.utils.date import dt_factory, utcnow, local_tz
- from calibre.utils.cleantext import clean_ascii_chars, clean_xml_chars
-+from feedparser import parse
-+from functools import partial
- 
-+parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11')
- 
- class Article(object):
- 
-@@ -334,7 +337,6 @@ def feed_from_xml(raw_xml, title=None, oldest_article=7,
-                   max_articles_per_feed=100,
-                   get_article_url=lambda item: item.get('link', None),
-                   log=default_log):
--    from calibre.web.feeds.feedparser import parse
-     # Handle unclosed escaped entities. They trip up feedparser and HBR for one
-     # generates them
-     raw_xml = re.sub(r'(&amp;#\d+)([^0-9;])', r'\1;\2', raw_xml)
diff --git a/gnu/packages/patches/efl-mesa-compat.patch b/gnu/packages/patches/efl-mesa-compat.patch
deleted file mode 100644
index 6fe7b38428..0000000000
--- a/gnu/packages/patches/efl-mesa-compat.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Fix build on 32-bit architectures with Mesa 18.3.  Patch taken from upstream:
-
-https://git.enlightenment.org/core/efl.git/commit/?id=0d2b624f1e24240a1c4e651aa1cfe9a8dd10a573
-
-diff --git a/src/lib/evas/Evas_GL.h b/src/lib/evas/Evas_GL.h
-index b6b642400f..4f67b1695f 100644
---- a/src/lib/evas/Evas_GL.h
-+++ b/src/lib/evas/Evas_GL.h
-@@ -4272,9 +4272,11 @@ typedef signed int       GLfixed;      // Changed khronos_int32_t
- 
- #ifndef GL_ES_VERSION_2_0
- /* GL types for handling large vertex buffer objects */
--#include <stddef.h>
-+# ifndef GL_VERSION_1_5
-+#  include <stddef.h>
- typedef ptrdiff_t GLintptr;     // Changed khronos_intptr_t
- typedef ptrdiff_t GLsizeiptr;   // Changed khronos_ssize_t
-+# endif
- #endif
- 
- /* Some definitions from GLES 3.0.
diff --git a/gnu/packages/patches/gcc-8-cross-environment-variables.patch b/gnu/packages/patches/gcc-8-cross-environment-variables.patch
new file mode 100644
index 0000000000..0ebf5705c9
--- /dev/null
+++ b/gnu/packages/patches/gcc-8-cross-environment-variables.patch
@@ -0,0 +1,67 @@
+Search path environment variables for cross-compilers.  See the discussion
+at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
+
+Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed
+at <http://bugs.gnu.org/22186>.
+
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index a716f708259..dc7862f413a 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -4342,7 +4342,7 @@ process_command (unsigned int decoded_options_count,
+     }
+
+   temp = env.get (LIBRARY_PATH_ENV);
+-  if (temp && *cross_compile == '0')
++  if (temp)
+     {
+       const char *startp, *endp;
+       char *nstore = (char *) alloca (strlen (temp) + 3);
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index b11c6a57939..a66a94a04e5 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -472,8 +472,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
+ 			 int stdinc, int cxx_stdinc, int verbose)
+ {
+   static const char *const lang_env_vars[] =
+-    { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH",
+-      "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" };
++    { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH",
++      "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" };
+   cpp_options *cpp_opts = cpp_get_options (pfile);
+   size_t idx = (cpp_opts->objc ? 2: 0);
+
+@@ -484,7 +484,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
+
+   /* CPATH and language-dependent environment variables may add to the
+      include chain.  */
+-  add_env_var_paths ("CPATH", INC_BRACKET);
++  add_env_var_paths ("CROSS_CPATH", INC_BRACKET);
+   add_env_var_paths (lang_env_vars[idx], INC_SYSTEM);
+
+   target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
+diff --git a/gcc/system.h b/gcc/system.h
+index 4abc321c71d..d6186476024 100644
+--- a/gcc/system.h
++++ b/gcc/system.h
+@@ -1209,4 +1209,6 @@ helper_const_non_const_cast (const char *p)
+ void qsort_chk (void *, size_t, size_t, int (*)(const void *, const void *));
+ #endif
+
++#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
++
+ #endif /* ! GCC_SYSTEM_H */
+diff --git a/gcc/tlink.c b/gcc/tlink.c
+index ec20bd2fa0f..cd17bdce004 100644
+--- a/gcc/tlink.c
++++ b/gcc/tlink.c
+@@ -456,7 +456,7 @@ recompile_files (void)
+   file *f;
+
+   putenv (xstrdup ("COMPILER_PATH="));
+-  putenv (xstrdup ("LIBRARY_PATH="));
++  putenv (xstrdup (LIBRARY_PATH_ENV "="));
+
+   while ((f = file_pop ()) != NULL)
+     {
diff --git a/gnu/packages/patches/gcc-9-asan-fix-limits-include.patch b/gnu/packages/patches/gcc-9-asan-fix-limits-include.patch
new file mode 100644
index 0000000000..2f5ce7c697
--- /dev/null
+++ b/gnu/packages/patches/gcc-9-asan-fix-limits-include.patch
@@ -0,0 +1,13 @@
+diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc
+index d92d0596b7c..7926536a0c3 100644
+--- a/libsanitizer/asan/asan_linux.cc
++++ b/libsanitizer/asan/asan_linux.cc
+@@ -30,7 +30,7 @@
+ #include <sys/types.h>
+ #include <dlfcn.h>
+ #include <fcntl.h>
+-#include <limits.h>
++#include <linux/limits.h>
+ #include <pthread.h>
+ #include <stdio.h>
+ #include <unistd.h>
diff --git a/gnu/packages/patches/gcc-9-strmov-store-file-names.patch b/gnu/packages/patches/gcc-9-strmov-store-file-names.patch
new file mode 100644
index 0000000000..6705e19534
--- /dev/null
+++ b/gnu/packages/patches/gcc-9-strmov-store-file-names.patch
@@ -0,0 +1,114 @@
+Make sure that statements such as:
+
+  strcpy (dst, "/gnu/store/…");
+
+or
+
+  static const char str[] = "/gnu/store/…";
+  …
+  strcpy (dst, str);
+
+do not result in chunked /gnu/store strings that are undetectable by
+Guix's GC and its grafting code.  See <https://bugs.gnu.org/24703>
+and <https://bugs.gnu.org/30395>.
+
+diff --git a/gcc/builtins.c b/gcc/builtins.c
+index d37d73fc4a0..dac33d9d29a 100644
+--- a/gcc/builtins.c
++++ b/gcc/builtins.c
+@@ -3282,6 +3282,58 @@ determine_block_size (tree len, rtx len_rtx,
+ 			  GET_MODE_MASK (GET_MODE (len_rtx)));
+ }
+
++extern void debug_tree (tree);
++
++/* Return true if STR contains the string "/gnu/store".  */
++
++bool
++store_reference_p (tree str)
++{
++  if (getenv ("GUIX_GCC_DEBUG") != NULL)
++    debug_tree (str);
++
++  if (TREE_CODE (str) == ADDR_EXPR)
++    str = TREE_OPERAND (str, 0);
++
++  if (TREE_CODE (str) == VAR_DECL
++      && TREE_STATIC (str)
++      && TREE_READONLY (str))
++    {
++      /* STR may be a 'static const' variable whose initial value
++         is a string constant.  See <https://bugs.gnu.org/30395>.  */
++      str = DECL_INITIAL (str);
++      if (str == NULL_TREE)
++        return false;
++    }
++
++  if (TREE_CODE (str) != STRING_CST)
++    return false;
++
++  int len;
++  const char *store;
++
++  store = getenv ("NIX_STORE") ? getenv ("NIX_STORE") : "/gnu/store";
++  len = strlen (store);
++
++  /* Size of the hash part of store file names, including leading slash and
++     trailing hyphen.  */
++  const int hash_len = 34;
++
++  if (TREE_STRING_LENGTH (str) < len + hash_len)
++    return false;
++
++  /* We cannot use 'strstr' because 'TREE_STRING_POINTER' returns a string
++     that is not necessarily NUL-terminated.  */
++
++  for (int i = 0; i < TREE_STRING_LENGTH (str) - (len + hash_len); i++)
++    {
++      if (strncmp (TREE_STRING_POINTER (str) + i, store, len) == 0)
++	return true;
++    }
++
++  return false;
++}
++
+ /* Try to verify that the sizes and lengths of the arguments to a string
+    manipulation function given by EXP are within valid bounds and that
+    the operation does not lead to buffer overflow or read past the end.
+@@ -3839,6 +3891,13 @@ expand_builtin_memory_copy_args (tree dest, tree src, tree len,
+   unsigned HOST_WIDE_INT max_size;
+   unsigned HOST_WIDE_INT probable_max_size;
+
++  /* Do not emit block moves, which translate to the 'movabs' instruction on
++     x86_64, when SRC refers to store items.  That way, store references
++     remain visible to the Guix GC and grafting code.  See
++     <https://bugs.gnu.org/24703>.  */
++  if (store_reference_p (src))
++    return NULL_RTX;
++
+   /* If DEST is not a pointer type, call the normal function.  */
+   if (dest_align == 0)
+     return NULL_RTX;
+diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
+index f30818042ee..56b592f9335 100644
+--- a/gcc/gimple-fold.c
++++ b/gcc/gimple-fold.c
+@@ -656,6 +656,8 @@ var_decl_component_p (tree var)
+ 	      && TREE_CODE (TREE_OPERAND (inner, 0)) == ADDR_EXPR));
+ }
+
++extern bool store_reference_p (tree);
++
+ /* Return TRUE if the SIZE argument, representing the size of an
+    object, is in a range of values of which exactly zero is valid.  */
+
+@@ -748,6 +750,9 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
+       off0 = build_int_cst (build_pointer_type_for_mode (char_type_node,
+ 							 ptr_mode, true), 0);
+
++      if (store_reference_p (src))
++        return false;
++
+       /* If we can perform the copy efficiently with first doing all loads
+          and then all stores inline it that way.  Currently efficiently
+ 	 means that we can load all the memory into a single integer
diff --git a/gnu/packages/patches/gnome-tweak-tool-search-paths.patch b/gnu/packages/patches/gnome-tweaks-search-paths.patch
index 027c61b3af..e7524fa675 100644
--- a/gnu/packages/patches/gnome-tweak-tool-search-paths.patch
+++ b/gnu/packages/patches/gnome-tweaks-search-paths.patch
@@ -1,4 +1,4 @@
-Gnome-tweak-tool does not look at GSETTINGS_SCHEMA_PATH or XDG_DATA_DIRS, it
+Gnome-tweaks does not look at GSETTINGS_SCHEMA_PATH or XDG_DATA_DIRS, it
 assumes that schemas are installed in one global directory
 (GSETTINGS_SCHEMA_DIR/gsettingsschemadir).
 
@@ -8,7 +8,7 @@ packages pick-up files using XDG_DATA_DIRS.
 Upstream ticket: https://bugzilla.gnome.org/show_bug.cgi?id=764537
 janneke@gnu.org
 
---- gnome-tweak-tool-3.18.1.orig/gtweak/gsettings.py	2015-04-08 15:21:32.000000000 +0200
+--- gnome-tweak-3.18.1.orig/gtweak/gsettings.py	2015-04-08 15:21:32.000000000 +0200
 +++ gnome-tweak-tool-3.18.1/gtweak/gsettings.py	2016-04-03 11:26:38.658482704 +0200
 @@ -16,7 +16,8 @@
  # along with gnome-tweak-tool.  If not, see <http://www.gnu.org/licenses/>.
diff --git a/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch b/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch
deleted file mode 100644
index 8306c79e56..0000000000
--- a/gnu/packages/patches/gst-plugins-good-libvpx-compat.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-Fix build with libvpx 1.8.
-
-Taken from this upstream commit:
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/b6e6f1ae73375ef66a5748069843aaed1a83e6a6
-
-Note: Remove the HAVE_VPX_1_8 build flag with this patch.  It was added
-to avoid re-creating the configure script.
-
-diff --git a/configure.ac b/configure.ac
-index 5e4cff126..8c20e5081 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1054,6 +1054,10 @@ AG_GST_CHECK_FEATURE(VPX, [VPX decoder], vpx, [
-       AC_DEFINE(HAVE_VPX_1_4, 1, [Defined if the VPX library version is 1.4 or bigger])
-     ], [true])
- 
-+    PKG_CHECK_MODULES(VPX_180, vpx >= 1.8.0, [
-+      AC_DEFINE(HAVE_VPX_1_8, 1, [Defined if the VPX library version is 1.8 or bigger])
-+    ], [true])
-+
-     LIBS="$OLD_LIBS"
-     CFLAGS="$OLD_CFLAGS"
-   fi
-diff --git a/ext/vpx/gstvpxdec.c b/ext/vpx/gstvpxdec.c
-index c3f0f625f..da4322513 100644
---- a/ext/vpx/gstvpxdec.c
-+++ b/ext/vpx/gstvpxdec.c
-@@ -62,6 +62,7 @@ gst_vpx_dec_post_processing_flags_get_type (void)
-     {C_FLAGS (VP8_DEBLOCK), "Deblock", "deblock"},
-     {C_FLAGS (VP8_DEMACROBLOCK), "Demacroblock", "demacroblock"},
-     {C_FLAGS (VP8_ADDNOISE), "Add noise", "addnoise"},
-+#ifndef HAVE_VPX_1_8
-     {C_FLAGS (VP8_DEBUG_TXT_FRAME_INFO),
-           "Print frame information",
-         "visualize-frame-info"},
-@@ -74,6 +75,7 @@ gst_vpx_dec_post_processing_flags_get_type (void)
-     {C_FLAGS (VP8_DEBUG_TXT_RATE_INFO),
-           "Print video rate info",
-         "visualize-rate-info"},
-+#endif
-     {C_FLAGS (VP8_MFQE), "Multi-frame quality enhancement", "mfqe"},
-     {0, NULL, NULL}
-   };
-diff --git a/ext/vpx/meson.build b/ext/vpx/meson.build
-index 6ed440728..0d2340b32 100644
---- a/ext/vpx/meson.build
-+++ b/ext/vpx/meson.build
-@@ -48,6 +48,10 @@ if vpx_dep.found()
-     vpx_args += '-DHAVE_VPX_1_4'
-   endif
- 
-+  if dependency('vpx', version : '>=1.8.0', required : false).found()
-+    vpx_args += '-DHAVE_VPX_1_8'
-+  endif
-+
-   gstvpx = library('gstvpx',
-     vpx_sources,
-     c_args : gst_plugins_good_args + vpx_args,
diff --git a/gnu/packages/patches/ocaml-piqilib-Update-base64.patch b/gnu/packages/patches/ocaml-piqilib-Update-base64.patch
new file mode 100644
index 0000000000..ec2c02d93e
--- /dev/null
+++ b/gnu/packages/patches/ocaml-piqilib-Update-base64.patch
@@ -0,0 +1,46 @@
+From 98abdbff3d5316a75f27d6a76fe09317d56f2a38 Mon Sep 17 00:00:00 2001
+From: Vincent Bernardoff <vb@luminar.eu.org>
+Date: Sun, 10 Feb 2019 14:47:07 +0100
+Subject: [PATCH] Fix compilation with newer base64 versions
+
+---
+ opam                   | 2 +-
+ piqilib/piqi_base64.ml | 9 ++++-----
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/opam b/opam
+index 3a9128e..bb5a53f 100644
+--- a/opam
++++ b/opam
+@@ -26,6 +26,6 @@ depends: [
+   "easy-format"
+   "ulex"
+   "xmlm"
+-  "base64" {>="2.0.0"}
++  "base64" {>="3.1.0"}
+ ]
+ dev-repo: "git://github.com/alavrik/piqi"
+diff --git a/piqilib/piqi_base64.ml b/piqilib/piqi_base64.ml
+index c5a6ae7..a98346e 100644
+--- a/piqilib/piqi_base64.ml
++++ b/piqilib/piqi_base64.ml
+@@ -18,12 +18,11 @@
+ (* TODO: add more base64 validation; the base64 library doesn't do any
+  * validation *)
+ let decode x =
+-  try
+-    B64.decode x
+-  with _ ->
+-    invalid_arg "Piqi_base64.decode"
++  match Base64.decode x with
++  | Error _ -> invalid_arg "Piqi_base64.decode"
++  | Ok v -> v
+ 
+ 
+ let encode x =
+-  B64.encode x
++  Base64.encode_exn x
+ 
+-- 
+2.21.0
+
diff --git a/gnu/packages/patches/slim-display.patch b/gnu/packages/patches/slim-display.patch
new file mode 100644
index 0000000000..f68604a94b
--- /dev/null
+++ b/gnu/packages/patches/slim-display.patch
@@ -0,0 +1,75 @@
+Add "display_name" configuration option and use its value instead of
+the hard coded one.
+
+Patch by Diego N. Barbato
+
+--- a/app.cpp	1970-01-01 01:00:00.000000000 +0100
++++ b/app.cpp	2019-04-27 13:48:23.479133531 +0200
+@@ -190,7 +190,13 @@
+ }
+ 
+ void App::Run() {
+-	DisplayName = DISPLAY;
++	/* Read configuration */
++	cfg = new Cfg;
++	char *cfgfile = getenv("SLIM_CFGFILE");
++	if (!cfgfile) cfgfile = CFGFILE;
++	cfg->readConf(cfgfile);
++
++	DisplayName = cfg->getOption("display_name").c_str();
+ 
+ #ifdef XNEST_DEBUG
+ 	char* p = getenv("DISPLAY");
+@@ -200,11 +206,7 @@
+ 	}
+ #endif
+ 
+-	/* Read configuration and theme */
+-	cfg = new Cfg;
+-	char *cfgfile = getenv("SLIM_CFGFILE");
+-	if (!cfgfile) cfgfile = CFGFILE;
+-	cfg->readConf(cfgfile);
++	/* Read theme */
+ 	string themebase = "";
+ 	string themefile = "";
+ 	string themedir = "";
+@@ -911,9 +913,7 @@
+ 	static const int MAX_XSERVER_ARGS = 256;
+ 	static char* server[MAX_XSERVER_ARGS+2] = { NULL };
+ 	server[0] = (char *)cfg->getOption("default_xserver").c_str();
+-	string argOption = cfg->getOption("xserver_arguments");
+-	/* Add mandatory -xauth option */
+-	argOption = argOption + " -auth " + cfg->getOption("authfile");
++	string argOption = cfg->getOption("display_name") + " " + cfg->getOption("xserver_arguments") + " -auth " + cfg->getOption("authfile");
+ 	char* args = new char[argOption.length()+2]; /* NULL plus vt */
+ 	strcpy(args, argOption.c_str());
+ 
+@@ -1233,7 +1233,7 @@
+ 	authfile = cfg->getOption("authfile");
+ 	remove(authfile.c_str());
+ 	putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
+-	Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
++	Util::add_mcookie(mcookie, cfg->getOption("display_name").c_str(), cfg->getOption("xauth_path"),
+ 	  authfile);
+ }
+ 
+--- a/cfg.cpp	1970-01-01 01:00:00.000000000 +0100
++++ b/cfg.cpp	2019-04-27 13:49:40.511773743 +0200
+@@ -31,6 +31,7 @@
+ 	/* Configuration options */
+ 	options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
+ 	options.insert(option("default_xserver","/usr/bin/X"));
++	options.insert(option("display_name",":0.0"));
+ 	options.insert(option("xserver_arguments",""));
+ 	options.insert(option("numlock",""));
+ 	options.insert(option("daemon",""));
+--- a/switchuser.cpp	1970-01-01 01:00:00.000000000 +0100
++++ b/switchuser.cpp	2019-04-27 13:50:19.380096651 +0200
+@@ -54,6 +54,6 @@
+ 	string home = string(Pw->pw_dir);
+ 	string authfile = home + "/.Xauthority";
+ 	remove(authfile.c_str());
+-	Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
++	Util::add_mcookie(mcookie, displayName.c_str(), cfg->getOption("xauth_path"),
+ 	  authfile);
+ }
diff --git a/gnu/packages/patches/upower-builddir.patch b/gnu/packages/patches/upower-builddir.patch
index d59d4364b8..51295f2076 100644
--- a/gnu/packages/patches/upower-builddir.patch
+++ b/gnu/packages/patches/upower-builddir.patch
@@ -7,17 +7,10 @@ some things, so we patch the Makefile.in instead.
 Also fix to not try to create /var/lib/upower if /var isn't writable.
 
 Patch by Andy Wingo <wingo@igalia.com>
+Reduced to upower 0.99.10 by Tobias Geerinckx-Rice <me@tobias.gr>
 
 --- upower-0.99.2.orig/src/Makefile.in	2014-12-18 10:32:01.000000000 +0100
 +++ upower-0.99.2/src/Makefile.in	2015-04-04 19:49:28.020843678 +0200
-@@ -780,6 +780,7 @@
- 
- @UP_BUILD_TESTS_TRUE@up_self_test_CFLAGS = $(AM_CFLAGS) $(WARNINGFLAGS_C)
- @UP_BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = $(DBUS_LAUNCH)
-+@UP_BUILD_TESTS_TRUE@AM_TESTS_ENVIRONMENT = UPOWER_CONF_FILE_NAME=$(top_srcdir)/etc/UPower.conf
- dbusservicedir = $(datadir)/dbus-1/system-services
- dbusservice_in_files = org.freedesktop.UPower.service.in
- dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
 @@ -1789,7 +1790,7 @@
  @HAVE_SYSTEMDSYSTEMUNITDIR_TRUE@	@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
  
@@ -27,18 +20,3 @@ Patch by Andy Wingo <wingo@igalia.com>
  		mkdir -p $(DESTDIR)$(historydir); \
  	fi
  
---- upower-0.99.2.orig/src/up-self-test.c	2014-07-17 09:46:15.000000000 +0200
-+++ upower-0.99.2/src/up-self-test.c	2015-04-04 18:43:04.952741927 +0200
-@@ -295,12 +295,6 @@
- #endif
- 	g_test_init (&argc, &argv, NULL);
- 
--	/* make check, vs. make distcheck */
--	if (g_file_test ("../etc/UPower.conf", G_FILE_TEST_EXISTS))
--		g_setenv ("UPOWER_CONF_FILE_NAME", "../etc/UPower.conf", TRUE);
--	else
--		g_setenv ("UPOWER_CONF_FILE_NAME", "../../../etc/UPower.conf", TRUE);
--
- 	/* tests go here */
- 	g_test_add_func ("/power/backend", up_test_backend_func);
- 	g_test_add_func ("/power/device", up_test_device_func);
diff --git a/gnu/packages/patches/webkitgtk-sans-gstreamer-gl.patch b/gnu/packages/patches/webkitgtk-sans-gstreamer-gl.patch
new file mode 100644
index 0000000000..4577c81edb
--- /dev/null
+++ b/gnu/packages/patches/webkitgtk-sans-gstreamer-gl.patch
@@ -0,0 +1,24 @@
+Fix build failure when USE_GSTREAMER_GL=off.  See
+<https://bugs.webkit.org/show_bug.cgi?id=196440>.
+
+This patch is taken from the upstream source repository:
+<https://git.webkit.org/?p=WebKit.git;a=commitdiff;h=e2dd6decbe25ea9498f1ba213808f34b232740c7>.
+
+diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+index 00a2af6489e..5cb5f7536ac 100644
+--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
++++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp
+@@ -1000,11 +1000,13 @@ void MediaPlayerPrivateGStreamerBase::updateTextureMapperFlags()
+         break;
+     }
+ 
++#if USE(GSTREAMER_GL)
+     // When the imxvpudecoder is used, the texture sampling of the
+     // directviv-uploaded texture returns an RGB value, so there's no need to
+     // convert it.
+     if (m_videoDecoderPlatform != WebKitGstVideoDecoderPlatform::ImxVPU)
+         m_textureMapperFlags |= TEXTURE_MAPPER_COLOR_CONVERT_FLAG;
++#endif
+ }
+ #endif
+ 
diff --git a/gnu/packages/patches/webkitgtk-sse2.patch b/gnu/packages/patches/webkitgtk-sse2.patch
deleted file mode 100644
index df70e38919..0000000000
--- a/gnu/packages/patches/webkitgtk-sse2.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-Fix build on i686.
-
-This patch is taken from upstream, with ChangeLog entries omitted.
-
-From 5048338c5f21605441c6833907d1136ac9640b35 Mon Sep 17 00:00:00 2001
-From: "mcatanzaro@igalia.com"
- <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
-Date: Wed, 10 Apr 2019 18:27:25 +0000
-Subject: [PATCH] Unreviewed, rolling out r243989.
-
-Broke i686 builds
-
-Reverted changeset:
-
-"[CMake] Detect SSE2 at compile time"
-https://bugs.webkit.org/show_bug.cgi?id=196488
-https://trac.webkit.org/changeset/243989
-
-git-svn-id: http://svn.webkit.org/repository/webkit/trunk@244138 268f45cc-cd09-0410-ab3c-d52691b4dbfc
----
- CMakeLists.txt                                | 10 ---
- ChangeLog                                     | 12 ++++
- Source/JavaScriptCore/ChangeLog               | 12 ++++
- .../assembler/MacroAssemblerX86Common.cpp     |  7 ++
- .../assembler/MacroAssemblerX86Common.h       | 30 +++++++++
- Source/cmake/FindSSE2.cmake                   | 65 -------------------
- 6 files changed, 61 insertions(+), 75 deletions(-)
- delete mode 100644 Source/cmake/FindSSE2.cmake
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index acd77f4b623..d3e8a23f9ff 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,16 +114,6 @@ else ()
-     set(WTF_CPU_UNKNOWN 1)
- endif ()
- 
--#---------------------------
--# Make sure SSE2 is present.
--#---------------------------
--if (WTF_CPU_X86)
--    include(FindSSE2)
--    if (NOT SSE2_SUPPORT_FOUND)
--        message(FATAL_ERROR "SSE2 support is required to compile WebKit")
--    endif ()
--endif ()
--
- # -----------------------------------------------------------------------------
- # Determine the operating system
- # -----------------------------------------------------------------------------
-diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp
-index 8c752c0d030..31753589df7 100644
---- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp
-+++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp
-@@ -168,6 +168,11 @@ static_assert(PROBE_OFFSETOF_REG(cpu.fprs, X86Registers::xmm15) == PROBE_CPU_XMM
- static_assert(sizeof(Probe::State) == PROBE_SIZE, "Probe::State::size's matches ctiMasmProbeTrampoline");
- static_assert((PROBE_EXECUTOR_OFFSET + PTR_SIZE) <= (PROBE_SIZE + OUT_SIZE), "Must have room after ProbeContext to stash the probe handler");
- 
-+#if CPU(X86)
-+// SSE2 is a hard requirement on x86.
-+static_assert(isSSE2Present(), "SSE2 support is required in JavaScriptCore");
-+#endif
-+
- #undef PROBE_OFFSETOF
- 
- #if CPU(X86)
-@@ -787,6 +792,7 @@ void MacroAssemblerX86Common::collectCPUFeatures()
-     std::call_once(onceKey, [] {
-         {
-             CPUID cpuid = getCPUID(0x1);
-+            s_sse2CheckState = (cpuid[3] & (1 << 26)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
-             s_sse4_1CheckState = (cpuid[2] & (1 << 19)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
-             s_sse4_2CheckState = (cpuid[2] & (1 << 20)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
-             s_popcntCheckState = (cpuid[2] & (1 << 23)) ? CPUIDCheckState::Set : CPUIDCheckState::Clear;
-@@ -803,6 +809,7 @@ void MacroAssemblerX86Common::collectCPUFeatures()
-     });
- }
- 
-+MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse2CheckState = CPUIDCheckState::NotChecked;
- MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_1CheckState = CPUIDCheckState::NotChecked;
- MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_sse4_2CheckState = CPUIDCheckState::NotChecked;
- MacroAssemblerX86Common::CPUIDCheckState MacroAssemblerX86Common::s_avxCheckState = CPUIDCheckState::NotChecked;
-diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
-index ff097290ef3..097bcb0bb86 100644
---- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
-+++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
-@@ -4197,11 +4197,41 @@ private:
-     }
- #endif
- 
-+#if CPU(X86)
-+#if OS(MAC_OS_X)
-+
-+    // All X86 Macs are guaranteed to support at least SSE2,
-+    static bool isSSE2Present()
-+    {
-+        return true;
-+    }
-+
-+#else // OS(MAC_OS_X)
-+    static bool isSSE2Present()
-+    {
-+        if (s_sse2CheckState == CPUIDCheckState::NotChecked)
-+            collectCPUFeatures();
-+        return s_sse2CheckState == CPUIDCheckState::Set;
-+    }
-+
-+#endif // OS(MAC_OS_X)
-+#elif !defined(NDEBUG) // CPU(X86)
-+
-+    // On x86-64 we should never be checking for SSE2 in a non-debug build,
-+    // but non debug add this method to keep the asserts above happy.
-+    static bool isSSE2Present()
-+    {
-+        return true;
-+    }
-+
-+#endif
-+
-     using CPUID = std::array<unsigned, 4>;
-     static CPUID getCPUID(unsigned level);
-     static CPUID getCPUIDEx(unsigned level, unsigned count);
-     JS_EXPORT_PRIVATE static void collectCPUFeatures();
- 
-+    JS_EXPORT_PRIVATE static CPUIDCheckState s_sse2CheckState;
-     JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_1CheckState;
-     JS_EXPORT_PRIVATE static CPUIDCheckState s_sse4_2CheckState;
-     JS_EXPORT_PRIVATE static CPUIDCheckState s_avxCheckState;
-diff --git a/Source/cmake/FindSSE2.cmake b/Source/cmake/FindSSE2.cmake
-deleted file mode 100644
-index 7a947feadd4..00000000000
---- a/Source/cmake/FindSSE2.cmake
-+++ /dev/null
-@@ -1,65 +0,0 @@
--#################################
--# Check for the presence of SSE2.
--#
--# Once done, this will define:
--# - SSE2_SUPPORT_FOUND - the system supports (at least) SSE2.
--#
--# Copyright (c) 2014, Pablo Fernandez Alcantarilla, Jesus Nuevo
--# Copyright (c) 2019, Igalia S.L.
--#
--# Redistribution and use in source and binary forms, with or without modification,
--# are permitted provided that the following conditions are met:
--#
--#   * Redistributions of source code must retain the above copyright notice,
--#     this list of conditions and the following disclaimer.
--#
--#   * Redistributions in binary form must reproduce the above copyright notice,
--#     this list of conditions and the following disclaimer in the documentation
--#     and/or other materials provided with the distribution.
--#
--#   * Neither the name of the copyright holders nor the names of its contributors
--#     may be used to endorse or promote products derived from this software without
--#     specific prior written permission.
--#
--# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
--# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
--# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
--# SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
--# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
--# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
--# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
--# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
--# WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
--set(SSE2_SUPPORT_FOUND FALSE)
--
--macro(CHECK_FOR_SSE2)
--    include(CheckCXXSourceRuns)
--
--    check_cxx_source_runs("
--        #include <emmintrin.h>
--        int main ()
--        {
--            __m128d a, b;
--            double vals[2] = {0};
--            a = _mm_loadu_pd (vals);
--            b = _mm_add_pd (a,a);
--            _mm_storeu_pd (vals,b);
--            return(0);
--        }"
--        HAVE_SSE2_EXTENSIONS)
--
--    if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
--        if (HAVE_SSE2_EXTENSIONS)
--            set(SSE2_SUPPORT_FOUND TRUE)
--        endif ()
--    elseif (MSVC AND NOT CMAKE_CL_64)
--        if (HAVE_SSE2_EXTENSIONS)
--            set(SSE2_SUPPORT_FOUND TRUE)
--            message(STATUS "Found SSE2 extensions.")
--        endif (HAVE_SSE2_EXTENSIONS)
--    endif ()
--
--endmacro(CHECK_FOR_SSE2)
--
--CHECK_FOR_SSE2()
--- 
-2.21.0
-
diff --git a/gnu/packages/patches/xf86-video-voodoo-pcitag.patch b/gnu/packages/patches/xf86-video-voodoo-pcitag.patch
new file mode 100644
index 0000000000..5cadef3928
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-voodoo-pcitag.patch
@@ -0,0 +1,34 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Mon, 20 May 2019 04:52:33 +0200
+Subject: [PATCH] gnu: xf86-video-voodoo: Don't use PCITAG.
+
+Copied verbatim from upstream repository[0].
+
+[0]: https://cgit.freedesktop.org/xorg/driver/-xf86-video-voodoo/patch/?id=9172ae566a0e85313fc80ab62b4455393eefe593
+
+From 9172ae566a0e85313fc80ab62b4455393eefe593 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 22 Sep 2014 10:56:02 +1000
+Subject: don't use PCITAG in struct anymore
+
+---
+ src/voodoo.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/voodoo.h b/src/voodoo.h
+index bfed497..c3eb64e 100644
+--- a/src/voodoo.h
++++ b/src/voodoo.h
+@@ -23,7 +23,9 @@ typedef struct {
+   
+   Bool		      Voodoo2;		/* Set if Voodoo2 */
+   pciVideoPtr	      PciInfo;		/* PCI data */
++#ifndef XSERVER_LIBPCIACCESS
+   PCITAG	      PciTag;
++#endif
+   CARD32	      PhysBase;
+   
+   CARD32	      Width;		/* Current width */
+-- 
+cgit v1.0
+
diff --git a/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch
new file mode 100644
index 0000000000..a43889d2c6
--- /dev/null
+++ b/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch
@@ -0,0 +1,47 @@
+https://dev.lovelyhq.com/libburnia/libisoburn/commit/1eb51f44dadb8b6c5f87533ca357186cdc1ac625
+diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
+index b3948c99..dcd9d696 100755
+--- a/frontend/grub-mkrescue-sed.sh
++++ b/frontend/grub-mkrescue-sed.sh
+@@ -120,6 +120,7 @@ fi
+ # "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
+ # Some EFI implementations get stuck when seeing in the EFI partition a
+ # partition table entry which begins at LBA 0.
++# "extra" not only zeros the partition table but also the MBR signature.
+ efi_zero_inner_pt=no
+ if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
+ then
+@@ -192,24 +193,31 @@ then
+   find "$dir"
+ fi
+ 
+-if test "$efi_zero_inner_pt" = yes
++if test "$efi_zero_inner_pt" = yes -o "$efi_zero_inner_pt" = extra
+ then
+   did_dd=0
+   if test -e "$dir"/efi.img
+   then
++    # Look for 0x55 0xAA in bytes 510 and 511
+     magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
+             od -c | head -1 | awk '{print $2 " " $3}')
+     if test "$magic" = "U 252"
+     then
++      echo "Performing actions for MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
+       dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
+       did_dd=1
++      if test "$efi_zero_inner_pt" = extra
++      then
++        dd if=/dev/zero bs=1 seek=510 count=2 conv=notrunc of="$dir"/efi.img
++      fi
++      echo >&2
+     fi
+   fi
+   if test "$did_dd" = 0
+   then
+     echo >&2
+     echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
+-    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
++    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2
+     echo >&2
+   fi
+ fi
diff --git a/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch
new file mode 100644
index 0000000000..a719ca1f89
--- /dev/null
+++ b/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch
@@ -0,0 +1,107 @@
+https://dev.lovelyhq.com/libburnia/libisoburn/commit/3a2a3ba737a06162c22ace0ae09d33ba97aa2673
+diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh
+index d772ff22..b3948c99 100755
+--- a/frontend/grub-mkrescue-sed.sh
++++ b/frontend/grub-mkrescue-sed.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ 
+-# Copyright (C) 2015 - 2016
++# Copyright (C) 2015 - 2019
+ # Thomas Schmitt <scdbackup@gmx.net>, libburnia-project.org
+ # Provided under BSD license: Use, modify, and distribute as you like.
+ 
+@@ -117,6 +117,15 @@ fi
+ #  command line.)
+ # Each argument must be a single word. No whitespace. No quotation marks.
+ 
++# "yes" overwrites the MBR partition table area in the EFI boot image by zeros.
++# Some EFI implementations get stuck when seeing in the EFI partition a
++# partition table entry which begins at LBA 0.
++efi_zero_inner_pt=no
++if test -n "$MKRESCUE_SED_IN_EFI_NO_PT"
++then
++  efi_zero_inner_pt="$MKRESCUE_SED_IN_EFI_NO_PT"
++fi
++
+ 
+ #
+ #                               Do the work 
+@@ -183,12 +192,48 @@ then
+   find "$dir"
+ fi
+ 
++if test "$efi_zero_inner_pt" = yes
++then
++  did_dd=0
++  if test -e "$dir"/efi.img
++  then
++    magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \
++            od -c | head -1 | awk '{print $2 " " $3}')
++    if test "$magic" = "U 252"
++    then
++      dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img
++      did_dd=1
++    fi
++  fi
++  if test "$did_dd" = 0
++  then
++    echo >&2
++    echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2
++    echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2
++    echo >&2
++  fi
++fi
++
+ efi_tmp_name=
++if test x"$mode" = xmjg \
++     -o x"$mode" = xmbr_only \
++     -o x"$mode" = xgpt_appended \
++     -o x"$mode" = xmbr_hfs
++then
++  # Move EFI partition image file out of the "$dir" tree, i.e. out of the ISO
++  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
++  if test -e "$dir"/efi.img
++  then
++    mv "$dir"/efi.img /tmp/$efi_tmp_name
++  elif test -e /tmp/$efi_tmp_name
++  then
++    rm /tmp/$efi_tmp_name
++  fi
++fi
++
+ if test x"$mode" = xmjg
+ then
+   # Exchange arguments for the experimental GRUB2 mjg layout
+-  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
+-  mv "$dir"/efi.img /tmp/$efi_tmp_name
+   x=$(echo " $*" | sed \
+     -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition $partno 0xef \/tmp\/$efi_tmp_name/" \
+     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_${partno}:all:: -no-emul-boot -isohybrid-gpt-basdat/" \
+@@ -207,8 +252,6 @@ then
+ elif test x"$mode" = xmbr_only
+ then
+   # Exchange arguments for no-HFS MBR-only layout
+-  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
+-  mv "$dir"/efi.img /tmp/$efi_tmp_name
+   x=$(echo " $*" | sed \
+     -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
+     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
+@@ -228,8 +271,6 @@ then
+ elif test x"$mode" = xmbr_hfs
+ then
+   # Exchange arguments for MBR and HFS+ layout
+-  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
+-  mv "$dir"/efi.img /tmp/$efi_tmp_name
+   x=$(echo " $*" | sed \
+     -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \
+     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
+@@ -247,8 +288,6 @@ then
+ elif test x"$mode" = xgpt_appended
+ then
+   # Exchange arguments for no-HFS MBR-only layout
+-  efi_tmp_name=grub-mkrescue-sed-efi-img.$$
+-  mv "$dir"/efi.img /tmp/$efi_tmp_name
+   x=$(echo " $*" | sed \
+     -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name -appended_part_as_gpt -partition_offset 16/" \
+     -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 0f9d590476..2e3db689f0 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -89,7 +89,7 @@ POSIX regular expression API.")
 (define-public pcre2
   (package
     (name "pcre2")
-    (version "10.32")
+    (version "10.33")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/pcre/pcre2/"
@@ -97,7 +97,7 @@ POSIX regular expression API.")
 
               (sha256
                (base32
-                "0bkwp2czcckvvbdls7b331cad11rxsm020aqhrbz84z8bp68k7pj"))))
+                "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m"))))
    (build-system gnu-build-system)
    (inputs `(("bzip2" ,bzip2)
              ("readline" ,readline)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 659e9b6bfe..eab97a1a52 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xdisorg)
@@ -993,7 +994,7 @@ python-pypdf2 instead.")
     (home-page "https://pythonhosted.org/pdftools.pdfposter/")
     (synopsis "Scale and tile PDF images/pages to print on multiple pages")
     (description "@command{pdfposter} can be used to create a large poster by
-building it from multple pages and/or printing it on large media.  It expects
+building it from multiple pages and/or printing it on large media.  It expects
 as input a PDF file, normally printing on a single page.  The output is again
 a PDF file, maybe containing multiple pages together building the poster.  The
 input page will be scaled to obtain the desired size.
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 8f953cf3ad..9ec802472a 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -161,7 +161,7 @@
 text manipulation and now used for a wide range of tasks including system
 administration, web development, network programming, GUI development, and
 more.")
-    (home-page "http://www.perl.org/")
+    (home-page "https://www.perl.org/")
     (license gpl1+)))                          ; or "Artistic"
 
 (define-public perl-algorithm-c3
@@ -1795,7 +1795,7 @@ they are copies of each other.")
     (home-page "https://metacpan.org/release/Data-Uniqid")
     (synopsis "Perl extension for generating unique identifiers")
     (description "@code{Data::Uniqid} provides three simple routines for
-generating unique ids.  These ids are coded with a Base62 systen to make them
+generating unique ids.  These ids are coded with a Base62 system to make them
 short and handy (e.g. to use it as part of a URL).")
     (license (package-license perl))))
 
@@ -1885,15 +1885,14 @@ indentation and newlines plus sub deparsing.")
 (define-public perl-data-page
   (package
     (name "perl-data-page")
-    (version "2.02")
+    (version "2.03")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://cpan/authors/id/L/LB/LBROCARD/"
+       (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
                            "Data-Page-" version ".tar.gz"))
        (sha256
-        (base32
-         "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554"))))
+        (base32 "12rxrr2b11qjk0c437cisw2kfqkafw1awcng09cv6yhzglb55yif"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
@@ -6243,7 +6242,7 @@ installing configuration files or for finding any piece of settings.")
     (description
      "@code{MooX::HandlesVia} is an extension of Moo's @code{handles}
 attribute functionality.  It provides a means of proxying functionality from
-an external class to the given atttribute.")
+an external class to the given attribute.")
     (license perl-license)))
 
 (define-public perl-moox-late
@@ -8430,14 +8429,14 @@ text sequences from strings.")
 (define-public perl-text-csv
   (package
     (name "perl-text-csv")
-    (version "1.99")
+    (version "2.00")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "mirror://cpan/authors/id/I/IS/ISHIGAKI/"
                            "Text-CSV-" version ".tar.gz"))
        (sha256
-        (base32 "1llccsl6sr11g9affh43m6q5r85qgnpi9n7idcs1vi9cn4ww0kp7"))))
+        (base32 "1hmjrc8h622nybdq8lpqi3hlrcjvb474s4a4b2cjs8h5b0cxkjwc"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Text-CSV")
     (synopsis "Manipulate comma-separated values")
@@ -8459,7 +8458,7 @@ can combine fields into a CSV string and parse a CSV string into fields.")
         (base32 "1gcy1bxym6f7qsxivkl3c5p94r1bjhf9csy1x38a1gk8mx744kma"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/Text-CSV_XS")
-    (synopsis "Rountines for manipulating CSV files")
+    (synopsis "Routines for manipulating CSV files")
     (description "@code{Text::CSV_XS} provides facilities for the composition
 and decomposition of comma-separated values.  An instance of the
 @code{Text::CSV_XS} class will combine fields into a CSV string and parse a
@@ -8824,15 +8823,14 @@ $object->TIEHASH are avoided.")
 (define-public perl-time-duration
   (package
     (name "perl-time-duration")
-    (version "1.20")
+    (version "1.21")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://cpan/authors/id/A/AV/AVIF/"
+       (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
                            "Time-Duration-" version ".tar.gz"))
        (sha256
-        (base32
-         "1f5vkid4pl5iq3hal01hk1zjbbzrqpx4m1djawbp93l152shb0j5"))))
+        (base32 "1f59z2svfydxgd1gzrb5k3hl6d432kzmskk7jhv2dyb5hyx0wd7y"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 328eddfbfa..2bf53d1c1e 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -429,7 +429,7 @@ and enhance them.")
 (define-public hugin
   (package
     (name "hugin")
-    (version "2018.0.0")
+    (version "2019.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
@@ -437,7 +437,7 @@ and enhance them.")
                                   "/hugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "1jv5wpqbq49fhbl5g521g1qxhdm1rm7acxd18fr3n3n5d830vbyk"))))
+                "1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gnu-gettext)
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index 45dd2bdd3a..68043051b5 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -58,7 +58,7 @@
 (define-public php
   (package
     (name "php")
-    (version "7.3.4")
+    (version "7.3.5")
     (home-page "https://secure.php.net/")
     (source (origin
               (method url-fetch)
@@ -66,7 +66,7 @@
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "10rvj9dn41213w0q2l123rn6sycr29syik88czprhpv5z2hrzrvg"))
+                "0wi4vd1c3ylsv7cs5b74pkspybb22qwk6fs5r2as3m3glhw1h0g1"))
               (modules '((guix build utils)))
               (snippet
                '(with-directory-excursion "ext"
@@ -322,6 +322,8 @@
                          "ext/mbstring/tests/bug77370.phpt"
                          "ext/mbstring/tests/bug77371.phpt"
                          "ext/mbstring/tests/bug77381.phpt"
+                         "ext/mbstring/tests/mbregex_stack_limit.phpt"
+                         "ext/mbstring/tests/mbregex_stack_limit2.phpt"
                          "ext/ldap/tests/ldap_set_option_error.phpt"
 
                          ;; Sometimes cannot start the LDAP server.
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index 42d6d6a72a..57f6b5ca81 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Dave Love <fx@gnu.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.
 ;;;
@@ -173,21 +173,18 @@ memory-efficient event trace data format plus support library.")
 (define-public opari2
   (package
     (name "opari2")
-    (version "2.0.3")
+    (version "2.0.4")
     (source
      (origin
-      (method url-fetch)
-      (uri (let* ((parts (string-split version #\.) )
-                  (major (car parts))
-                  (minor (cadr parts)))
-             (string-append "http://www.vi-hps.org/upload/packages/opari2/opari2-"
-                            version ".tar.gz")))
-      (sha256 (base32 "0v785mhw9azj3ln5v7akj5b1cxvzfkxz8kj565pfwllir7xzqbky"))))
+       (method url-fetch)
+       (uri (string-append "https://www.vi-hps.org/cms/upload/packages/opari2/"
+                           "opari2-" version ".tar.gz"))
+       (sha256 (base32 "0cd1l30x8hygvbh6yay7mn483vjq3z4b7wnsffs80rznj93k57pn"))))
     (build-system gnu-build-system)
     (inputs `(("gfortran" ,gfortran)))
-    (native-inputs `(("gawk" ,gawk)     ;for tests
+    (native-inputs `(("gawk" ,gawk)     ; for tests
                      ("which" ,which)))
-    (home-page "http://www.vi-hps.org/projects/score-p")
+    (home-page "https://www.vi-hps.org/projects/score-p")
     (synopsis "OpenMP runtime performance measurement instrumenter")
     (description "OPARI2 is a source-to-source instrumentation tool for OpenMP
 and hybrid codes.  It surrounds OpenMP directives and runtime library calls
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 7001a8137b..96d15bdf9c 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -154,6 +154,11 @@ rates.")
                                               (assoc-ref %outputs "out")
                                               "/lib/udev/rules.d"))
        #:phases (modify-phases %standard-phases
+                  (add-before 'configure 'fix-alsa-include
+                    (lambda _
+                      (substitute* '("configure" "src/modules/alsa/alsa-ucm.h")
+                        (("use-case\\.h") "alsa/use-case.h"))
+                      #t))
                  (add-before 'check 'pre-check
                    (lambda _
                      ;; 'tests/lock-autospawn-test.c' wants to create a file
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 1c9ccefa6b..f889e50590 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -28,6 +28,7 @@
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -61,6 +62,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages time)
   #:use-module (gnu packages web)
@@ -299,6 +301,28 @@ other HTTP libraries.")
 (define-public python2-httplib2
   (package-with-python2 python-httplib2))
 
+(define-public python-html2text
+  (package
+    (name "python-html2text")
+    (version "2018.1.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "html2text" version))
+       (sha256
+        (base32
+         "1m6d7ciq30adc3d1n8g6r46072n7q8kdy039pqvnnmp763xi8xb2"))))
+    (build-system python-build-system)
+    (home-page "https://pypi.org/project/html2text/")
+    (synopsis "Convert HTML into plain text")
+    (description "html2text takes HTML and converts it into plain ASCII text
+which is also valid markdown.  html2text was originally written by Aaron
+Swartz.")
+    (license license:gpl3+)))
+
+(define-public python2-html2text
+  (package-with-python2 python-html2text))
+
 (define-public python-mechanicalsoup
   (package
     (name "python-mechanicalsoup")
@@ -637,6 +661,28 @@ options.")
 (define-public python2-cssutils
   (package-with-python2 python-cssutils))
 
+(define-public python-css-parser
+  (package
+    (inherit python-cssutils)
+    (name "python-css-parser")
+    (version "1.0.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "css-parser" version ".tar.gz"))
+       (sha256
+        (base32
+         "0i4xfykiffxzr4f6y0m2ggqvx1rzam6pw6krlr5k6ldf29akbay7"))))
+    (home-page "https://github.com/ebook-utils/css-parser")
+    (synopsis "Fork of cssutils modified for parsing ebooks")
+    (description
+     "Css-parser is a fork of cssutils 1.0.2, updated and modified for parsing
+ebooks, due to cssutils not receiving updates as of 1.0.2.")
+    (license license:lgpl3+)))
+
+(define-public python2-css-parser
+  (package-with-python2 python-css-parser))
+
 (define-public python-cssselect
   (package
     (name "python-cssselect")
@@ -816,6 +862,7 @@ term.js Javascript terminal emulator library.")
       (propagated-inputs
        `(("python2-backport-ssl-match-hostname"
           ,python2-backport-ssl-match-hostname)
+         ("python2-futures" ,python2-futures)
           ,@(package-propagated-inputs terminado))))))
 
 (define-public python-wsgi-intercept
@@ -1280,13 +1327,13 @@ WebSocket usage in Python programs.")
 (define-public python-requests
   (package
     (name "python-requests")
-    (version "2.21.0")
+    (version "2.22.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "requests" version))
              (sha256
               (base32
-               "13jr0wkj9c2j8c0c8iaal9iivi0bpxghnsdn6lxcpnmc657q4ajh"))))
+               "1d5ybh11jr5sm7xp6mz8fyc7vrp4syifds91m7sj60xalal0gq0i"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-certifi" ,python-certifi)
@@ -1387,34 +1434,36 @@ with python-requests.")
 (define-public python-oauthlib
   (package
     (name "python-oauthlib")
-    (version "1.0.3")
+    (version "3.0.1")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "oauthlib" version))
               (sha256
                (base32
-                "1bfrj70vdjxjw74khbyh6f0dksv7p5rh2346jnlrffyacd3gwjzg"))))
+                "163jg4a8f7c5ki655grrr47kgljy12wri3qly7ijf64sk1fjrqqc"))))
     (build-system python-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda _
+                      (invoke "pytest" "-vv"))))))
     (native-inputs
-     `(("python-nose" ,python-nose)
-       ("python-mock" ,python-mock)
-       ("python-cryptography" ,python-cryptography)
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-mock" ,python-mock)))
+    (propagated-inputs
+     `(("python-cryptography" ,python-cryptography)
        ("python-pyjwt" ,python-pyjwt)
        ("python-blinker" ,python-blinker)))
-    (home-page "https://github.com/idan/oauthlib")
+    (home-page "https://github.com/oauthlib/oauthlib")
     (synopsis "OAuth implementation for Python")
     (description
      "Oauthlib is a generic, spec-compliant, thorough implementation of the
 OAuth request-signing logic.")
-    (license license:bsd-3)
-    (properties `((python2-variant . ,(delay python2-oauthlib))))))
+    (license license:bsd-3)))
 
 (define-public python2-oauthlib
-  (let ((base (package-with-python2 (strip-python2-variant python-oauthlib))))
-    (package
-      (inherit base)
-      (native-inputs `(("python2-unittest2" ,python2-unittest2)
-                       ,@(package-native-inputs base))))))
+  (package-with-python2 python-oauthlib))
 
 (define-public python-rauth
   (package
@@ -1451,14 +1500,14 @@ authenticated session objects providing things like keep-alive.")
 (define-public python-urllib3
   (package
     (name "python-urllib3")
-    (version "1.24.1")
+    (version "1.25.3")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "urllib3" version))
         (sha256
          (base32
-          "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy"))))
+          "0cij8qcvvpj62g1q8n785qjkdymfh4b7vf45si4sw64l41rr3rfv"))))
     (build-system python-build-system)
     (arguments `(#:tests? #f))
     (propagated-inputs
@@ -1819,14 +1868,14 @@ concurrent HTTP client library for python using @code{gevent}.")
 (define-public python-requests-oauthlib
   (package
     (name "python-requests-oauthlib")
-    (version "0.6.2")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "requests-oauthlib" version))
        (sha256
         (base32
-         "0ykff67sjcl227c23g0rxzfx34rr5bf21kwv0z3zmgk0lfmch7hn"))))
+         "0mrglgcvq7k48pf27s4gifdk0za8xmgpf55jy15yjj471qrk6rdx"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -1837,7 +1886,8 @@ concurrent HTTP client library for python using @code{gevent}.")
              (delete-file "tests/test_core.py")
              #t)))))
     (native-inputs
-     `(("python-requests-mock" ,python-requests-mock)
+     `(("python-pyjwt" ,python-pyjwt)
+       ("python-requests-mock" ,python-requests-mock)
        ("python-mock" ,python-mock)))
     (propagated-inputs
      `(("python-oauthlib" ,python-oauthlib)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bf1c0e3eb9..a921d2aab8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -44,7 +44,7 @@
 ;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
@@ -59,6 +59,7 @@
 ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
 ;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
 ;;; Copyright © 2019 Sam <smbaines8@gmail.com>
+;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -124,6 +125,7 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages search)
   #:use-module (gnu packages shells)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages tex)
@@ -2325,14 +2327,14 @@ for Python.")
 (define-public python-jinja2
   (package
     (name "python-jinja2")
-    (version "2.10")
+    (version "2.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Jinja2" version))
        (sha256
         (base32
-         "190l36hfw3wb2n3n68yacjabxyb1pnxwn7vjx96cmjj002xy2jzq"))))
+         "04shqrs56aj04ipyqykj512rw2l0zfammvj9krawzxz7xc14yp06"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-markupsafe" ,python-markupsafe)))
@@ -2489,14 +2491,14 @@ reStructuredText.")
 (define-public python-pygments
   (package
     (name "python-pygments")
-    (version "2.2.0")
+    (version "2.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Pygments" version))
        (sha256
         (base32
-         "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv"))))
+         "1xb5n3hvhk63kxypc03k7kfry20pny6gygi4bsl9kw1rnzzsdjri"))))
     (build-system python-build-system)
     (arguments
      ;; FIXME: Tests require sphinx, which depends on this.
@@ -2510,174 +2512,6 @@ reStructuredText.")
 (define-public python2-pygments
   (package-with-python2 python-pygments))
 
-(define-public python-sphinxcontrib-websupport
-  (package
-    (name "python-sphinxcontrib-websupport")
-    (version "1.1.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "sphinxcontrib-websupport" version))
-              (sha256
-               (base32
-                "1ff3ix76xi1y6m99qxhaq5161ix9swwzydilvdya07mgbcvpzr4x"))))
-    (build-system python-build-system)
-    (arguments
-     ;; FIXME: Tests depend on Sphinx, which depends on this.
-     `(#:tests? #f))
-    (home-page "http://sphinx-doc.org/")
-    (synopsis "Sphinx API for web applications")
-    (description "This package provides a Python API to easily integrate
-Sphinx documentation into your web application.  It provides tools to
-integrate Sphinx documents in web templates and to handle searches.")
-    (license license:bsd-3)))
-
-(define-public python2-sphinxcontrib-websupport
-  (package-with-python2 python-sphinxcontrib-websupport))
-
-(define-public python-sphinx
-  (package
-    (name "python-sphinx")
-    (version "1.7.7")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "Sphinx" version))
-       (sha256
-        (base32
-         "0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (replace 'check
-           (lambda _
-             ;; Requires Internet access.
-             (delete-file "tests/test_build_linkcheck.py")
-             (substitute* "tests/test_build_latex.py"
-               (("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
-                "@pytest.mark.skip()"))
-             (when (which "python")
-               ;; XXX: These tests are broken when using Python2:
-               ;; <https://github.com/sphinx-doc/sphinx/issues/4710>.
-               (delete-file "tests/test_api_translator.py")
-               (delete-file "tests/test_setup_command.py"))
-             (invoke "make" "test"))))))
-    (propagated-inputs
-     `(("python-imagesize" ,python-imagesize)
-       ("python-sphinx-alabaster-theme"
-        ,python-sphinx-alabaster-theme)
-       ("python-babel" ,python-babel)
-       ("python-snowballstemmer" ,python-snowballstemmer)
-       ("python-docutils" ,python-docutils)
-       ("python-jinja2" ,python-jinja2)
-       ("python-packaging" ,python-packaging)
-       ("python-pygments" ,python-pygments)
-       ("python-requests" ,python-requests)
-       ("python-six" ,python-six)
-       ("python-sphinxcontrib-websupport" ,python-sphinxcontrib-websupport)))
-    (native-inputs
-     `(("graphviz" ,graphviz)
-       ("imagemagick" ,imagemagick)                    ;for "convert"
-       ("python-html5lib" ,python-html5lib)
-       ("python-mock" ,python-mock)
-       ("python-nose" ,python-nose)
-       ("python-pytest" ,python-pytest)))
-    (home-page "http://sphinx-doc.org/")
-    (synopsis "Python documentation generator")
-    (description "Sphinx is a tool that makes it easy to create documentation
-for Python projects or other documents consisting of multiple reStructuredText
-sources.")
-    (license license:bsd-3)
-    (properties `((python2-variant . ,(delay python2-sphinx))))))
-
-(define-public python2-sphinx
-  (let ((base (package-with-python2 (strip-python2-variant python-sphinx))))
-    (package
-      (inherit base)
-      (native-inputs `(("python2-mock" ,python2-mock)
-                       ("python2-enum34" ,python2-enum34)
-                       ,@(package-native-inputs base)))
-      (propagated-inputs `(("python2-pytz" ,python2-pytz)
-                           ("python2-typing" ,python2-typing)
-                       ,@(package-propagated-inputs base))))))
-
-(define-public python-sphinx-gallery
-  (package
-    (name "python-sphinx-gallery")
-    (version "0.1.13")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/sphinx-gallery/sphinx-gallery"
-                                  "/archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "03fs99mcb1r7qp0xixqv07vcz98sk21yq19ffdysi0infdcpzfkd"))))
-    (build-system python-build-system)
-    (arguments
-     ;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>,
-     ;; <https://docs.scipy.org/doc/numpy/objects.inv>, and
-     ;; <https://matplotlib.org/objects.inv>.
-     `(#:tests? #f))
-    (native-inputs
-     `(("python-pytest-runner" ,python-pytest-runner)))
-    (home-page "https://sphinx-gallery.github.io/")
-    (synopsis "Generate an examples gallery automatically")
-    (description
-     "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
-from any set of Python scripts and puts it into an examples gallery.")
-    (license license:bsd-3)))
-
-(define-public python2-sphinx-gallery
-  (package-with-python2 python-sphinx-gallery))
-
-(define-public python-sphinx-rtd-theme
-  (package
-    (name "python-sphinx-rtd-theme")
-    (version "0.2.4")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "sphinx_rtd_theme" version))
-       (sha256
-        (base32
-         "05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
-    (build-system python-build-system)
-    (arguments '(#:tests? #f)) ; No tests.
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (home-page "https://github.com/snide/sphinx_rtd_theme/")
-    (synopsis "ReadTheDocs.org theme for Sphinx")
-    (description "A theme for Sphinx used by ReadTheDocs.org.")
-    (license license:expat)))
-
-(define-public python2-sphinx-rtd-theme
-  (package-with-python2 python-sphinx-rtd-theme))
-
-(define-public python-guzzle-sphinx-theme
-  (package
-    (name "python-guzzle-sphinx-theme")
-    (version "0.7.11")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "guzzle_sphinx_theme" version))
-        (sha256
-         (base32
-          "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
-    (build-system python-build-system)
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
-    (synopsis "Sphinx theme used by Guzzle")
-    (description "This package provides guzzle_sphinx_theme, a theme for the
-Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
-and several other projects.")
-    (license license:expat)))
-
-(define-public python2-guzzle-sphinx-theme
-  (package-with-python2 python-guzzle-sphinx-theme))
-
 (define-public python-bumpversion
   (package
     (name "python-bumpversion")
@@ -3069,7 +2903,7 @@ Language (TOML) configuration files.")
      "https://github.com/palantir/python-jsonrpc-server")
     (synopsis "JSON RPC 2.0 server library")
     (description
-     "This packages provides a JSON RPC 2.0 server library for Python.")
+     "This package provides a JSON RPC 2.0 server library for Python.")
     (license license:expat)))
 
 (define-public python-pydocstyle
@@ -3231,6 +3065,32 @@ Markdown input files, and more.  Pelican uses Jinja2 for templating
 and is very extensible.")
     (license license:agpl3+)))
 
+(define-public mallard-ducktype
+  (package
+    (name "mallard-ducktype")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       ;; git-reference because a proper source tarball is not available
+       ;; https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00209.html
+       (uri (git-reference
+             (url "https://github.com/projectmallard/mallard-ducktype.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0crland0kmpsyjfmnflcw7gaqy5b87b6ah17cmr9d5z1kyazf54n"))))
+    (build-system python-build-system)
+    (home-page "http://projectmallard.org")
+    (synopsis "Convert Ducktype to Mallard documentation markup")
+    (description
+     "Ducktype is a lightweight syntax that can represent all the semantics
+of the Mallard XML documentation system.  Ducktype files can be converted to
+Mallard using the @command{ducktype} tool.  The yelp-tools package
+provides additional functionality on the produced Mallard documents.")
+    (license license:expat)))
+
 (define-public python-scikit-image
   (package
     (name "python-scikit-image")
@@ -3270,14 +3130,14 @@ and is very extensible.")
 (define-public python-cython
   (package
     (name "python-cython")
-    (version "0.29.6")
+    (version "0.29.7")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Cython" version))
        (sha256
         (base32
-         "1bp7cn0pp5qy63k9hbp4ka34fm01kvysh478phpkhr68npqk6pbc"))))
+         "1s61hq2ikawxp6qvmkbfvvaxy9rqj67cddzwgcfc3dwi44b83l2m"))))
     (build-system python-build-system)
     ;; we need the full python package and not just the python-wrapper
     ;; because we need libpython3.3m.so
@@ -4842,7 +4702,7 @@ cluster without needing to write any wrapper code yourself.")
     (synopsis "Manage Procfile-based applications")
     (description
       "A Procfile is a file which describes how to run an application
-consisting of serveral processes. honcho starts all listed processes.
+consisting of several processes. honcho starts all listed processes.
 The output of all running processes is collected by honcho and
 displayed.")
     (license license:expat)))
@@ -5566,6 +5426,39 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.")
               (strip-python2-variant python-beautifulsoup4)))
     (arguments `(#:python ,python-2))))
 
+(define-public python-soupsieve
+  (package
+    (name "python-soupsieve")
+    (version "1.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "soupsieve" version))
+       (sha256
+        (base32
+         "1jnzkiwmjl6yvqckc9mf689g87b6yz07sv868hap2aa5arggy3mj"))))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f))
+    ;;XXX: 2 tests fail currently despite claming they were to be
+    ;;skipped. Also, beautifulsoup4 may depend on this in the future, so we
+    ;;don't want to create a circular dependency.
+    (home-page "https://github.com/facelessuser/soupsieve")
+    (synopsis "CSS selector library")
+    (description
+     "Soup Sieve is a CSS selector library designed to be used with Beautiful
+Soup 4.  It aims to provide selecting, matching, and filtering using modern
+CSS selectors.  Soup Sieve currently provides selectors from the CSS level 1
+specifications up through the latest CSS level 4 drafts and beyond (though
+some are not yet implemented).")
+    (license license:expat)))
+
+(define-public python2-soupsieve
+  (let ((base (package-with-python2 python-soupsieve)))
+    (package
+      (inherit base)
+      (propagated-inputs
+       `(("python2-backports-functools-lru-cache" ,python2-backports-functools-lru-cache))))))
+
 (define-public python-netifaces
   (package
     (name "python-netifaces")
@@ -5821,7 +5714,7 @@ more advanced mathematics.")
     (home-page "https://github.com/mdickinson/bigfloat")
     (synopsis "Arbitrary precision floating-point arithmetic for Python")
     (description
-     "This packages provides a Python interface to the MPFR library for
+     "This package provides a Python interface to the MPFR library for
 multiprecision arithmetic.")
     (license license:lgpl3+)))
 
@@ -6356,14 +6249,14 @@ Python.")
 (define-public python-markdown
   (package
     (name "python-markdown")
-    (version "3.1")
+    (version "3.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Markdown" version))
        (sha256
         (base32
-         "0l62x154r9mgdvfap06gf0nkrmjd7xixlfshsxcdif2nlrlnyjpw"))))
+         "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-nose" ,python-nose)
@@ -6737,7 +6630,7 @@ and MAC network addresses.")
     (native-inputs `(("python-nose"       ,python-nose)))
     (home-page "http://www.python-excel.org/")
     (synopsis "Library for extracting data from Excel files")
-    (description "This packages provides a library to extract data from
+    (description "This package provides a library to extract data from
 spreadsheets using Microsoft Excel proprietary file formats @samp{.xls} and
 @samp{.xlsx} (versions 2.0 onwards).  It has support for Excel dates and is
 Unicode-aware.  It is not intended as an end-user tool.")
@@ -7653,7 +7546,7 @@ automatically detect a wide range of file encodings.")
     (synopsis "Command-line interface description language for Python")
     (description "This library allows the user to define a command-line
 interface from a program's help message rather than specifying it
-programatically with command-line parsers like @code{getopt} and
+programmatically with command-line parsers like @code{getopt} and
 @code{argparse}.")
     (license license:expat)))
 
@@ -7976,26 +7869,6 @@ files for use with Python.")
     (home-page "https://github.com/collective/icalendar")
     (license license:bsd-2)))
 
-(define-public python-sphinxcontrib-newsfeed
-  (package
-    (name "python-sphinxcontrib-newsfeed")
-    (version "0.1.4")
-    (source (origin
-             (method url-fetch)
-             (uri (pypi-uri "sphinxcontrib-newsfeed" version))
-             (sha256
-              (base32
-               "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
-    (arguments '(#:tests? #f)) ; No tests.
-    (build-system python-build-system)
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (synopsis "News Feed extension for Sphinx")
-    (description "Sphinxcontrib-newsfeed is an extension for adding a simple
-Blog, News or Announcements section to a Sphinx website.")
-    (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
-    (license license:bsd-2)))
-
 (define-public python-args
   (package
     (name "python-args")
@@ -8438,14 +8311,14 @@ python-xdo for newer bindings.)")
 (define-public python-mako
   (package
     (name "python-mako")
-    (version "1.0.8")
+    (version "1.0.10")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Mako" version))
        (sha256
         (base32
-         "0hr89gcda0y0baz25cm4yq7fbl7cvid4zsns8cgv0jfzq102j284"))))
+         "0r9rysn19fmrxnzfcn7sg20kjhcrx9qri0my9n5vdzp1g2g92rbi"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-markupsafe" ,python-markupsafe)))
@@ -8798,56 +8671,6 @@ programmatically interfacing with your system's $EDITOR.")
 (define-public python2-editor
   (package-with-python2 python-editor))
 
-(define-public python-sphinxcontrib-programoutput
-  (package
-    (name "python-sphinxcontrib-programoutput")
-    (version "0.10")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "sphinxcontrib-programoutput" version))
-              (sha256
-               (base32
-                "153hhnlbx4688zj9wd64819ps5znc2jlyp5crkgzvn5hxgy99vpx"))))
-    (build-system python-build-system)
-    (arguments
-     ;; FIXME: Many tests are failing and the upstream is gone.
-     '(#:tests? #f))
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (synopsis "Sphinx extension to include program output")
-    (description "A Sphinx extension to literally insert the output of arbitrary
-commands into documents, helping you to keep your command examples up to date.")
-    (home-page "https://github.com/lunaryorn/sphinxcontrib-programoutput")
-    (license license:bsd-2)))
-
-(define-public python2-sphinxcontrib-programoutput
-  (package-with-python2 python-sphinxcontrib-programoutput))
-
-(define-public python-sphinx-repoze-autointerface
-  (package
-    (name "python-sphinx-repoze-autointerface")
-    (version "0.8")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "repoze.sphinx.autointerface" version))
-              (sha256
-               (base32
-                "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
-    (build-system python-build-system)
-    (arguments '(#:tests? #f)) ; No tests.
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)
-       ("python-zope-interface" ,python-zope-interface)))
-    (synopsis "Auto-generate Sphinx API docs from Zope interfaces")
-    (description "This package defines an extension for the Sphinx documentation
-system.  The extension allows generation of API documentation by
-introspection of @code{zope.interface} instances in code.")
-    (home-page "https://github.com/repoze/repoze.sphinx.autointerface")
-    (license license:repoze)))
-
-(define-public python2-sphinx-repoze-autointerface
-  (package-with-python2 python-sphinx-repoze-autointerface))
-
 (define-public python-vobject
   (package
     (name "python-vobject")
@@ -9270,14 +9093,14 @@ development version of CPython that are not available in older releases.")
 (define-public python-future
   (package
     (name "python-future")
-    (version "0.16.0")
+    (version "0.17.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "future" version))
        (sha256
         (base32
-         "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773"))))
+         "1f2rlqn9rh7adgir52dlbqz69gsab44x0mlm8gf1cs7xvhv54137"))))
     (build-system python-build-system)
     ;; Many tests connect to the network or are otherwise flawed.
     ;; https://github.com/PythonCharmers/python-future/issues/210
@@ -10138,7 +9961,7 @@ addresses, and phone numbers.")
     (description
      "pyaml is a PyYAML based python module to produce pretty and readable
 YAML-serialized data.")
-    (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/"))))
+    (license license:wtfpl2)))
 
 (define-public python2-pyaml
   (package-with-python2 python-pyaml))
@@ -10228,17 +10051,17 @@ characters, mouse support, and auto suggestions.")
 (define-public python-jedi
   (package
     (name "python-jedi")
-    (version "0.13.2")
+    (version "0.13.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "jedi" version))
        (sha256
         (base32
-         "1za944msp0f8x36qa8l309jhv0kzlsdh7r9nj3z12y8npnsh45sp"))))
+         "0nsrjlb57njqppxmi8wjsb1dkad7qa7svx67jbkhixq66lz61c1b"))))
     (build-system python-build-system)
     (arguments
-     `( ;; Many tests are failing with Python 3.7.x as of version 0.13.2 (see:
+     `( ;; Many tests are failing with Python 3.7.x as of version 0.13.3 (see:
         ;; https://github.com/davidhalter/jedi/issues/1263)
        #:tests? #f
        #:phases
@@ -10264,7 +10087,11 @@ well.")
     (license license:expat)))
 
 (define-public python2-jedi
-  (package-with-python2 python-jedi))
+  (let ((base (package-with-python2 (strip-python2-variant python-jedi))))
+    (package
+      (inherit base)
+      (arguments (substitute-keyword-arguments (package-arguments base)
+                   ((#:tests? _) #t))))))
 
 (define-public ptpython
   (package
@@ -10833,52 +10660,6 @@ English stemmer.")
 (define-public python2-snowballstemmer
   (package-with-python2 python-snowballstemmer))
 
-(define-public python-sphinx-cloud-sptheme
-  (package
-    (name "python-sphinx-cloud-sptheme")
-    (version "1.8.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "cloud_sptheme" version))
-              (sha256
-               (base32
-                "1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
-    (build-system python-build-system)
-    ;; FIXME: The 'pypi' release archive does not contain tests.
-    (arguments '(#:tests? #f))
-    (native-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (home-page "https://bitbucket.org/ecollins/cloud_sptheme")
-    (synopsis "'Cloud' theme for Sphinx documenter")
-    (description "This package contains the \"Cloud\" theme for Sphinx and some
-related extensions.")
-    (license license:bsd-3)))
-
-(define-public python2-sphinx-cloud-sptheme
-  (package-with-python2 python-sphinx-cloud-sptheme))
-
-(define-public python-sphinx-alabaster-theme
-  (package
-    (name "python-sphinx-alabaster-theme")
-    (version "0.7.12")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "alabaster" version))
-              (sha256
-               (base32
-                "00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
-    (build-system python-build-system)
-    (propagated-inputs
-     `(("python-pygments" ,python-pygments)))
-    (home-page "https://alabaster.readthedocs.io/")
-    (synopsis "Configurable sidebar-enabled Sphinx theme")
-    (description "Alabaster is a visually (c)lean, responsive, configurable
-theme for the Sphinx documentation system.  It's the default theme of Sphinx.")
-    (license license:bsd-3)))
-
-(define-public python2-sphinx-alabaster-theme
-  (package-with-python2 python-sphinx-alabaster-theme))
-
 (define-public python-setproctitle
 (package
   (name "python-setproctitle")
@@ -12171,30 +11952,6 @@ make common patterns shorter and easier.")
 (define-public python2-utils
   (package-with-python2 python-utils))
 
-(define-public python-sphinx-me
-  (package
-    (name "python-sphinx-me")
-    (version "0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "sphinx-me" version))
-       (sha256
-        (base32
-         "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
-    (build-system python-build-system)
-    (home-page "https://github.com/stephenmcd/sphinx-me")
-    (synopsis "Create a Sphinx documentation shell")
-    (description
-      "Create a Sphinx documentation shell for your project and include the
-README file as the documentation index.  It handles extracting the required
-meta data such as the project name, author and version from your project for
-use in your Sphinx docs.")
-    (license license:bsd-2)))
-
-(define-public python2-sphinx-me
-  (package-with-python2 python-sphinx-me))
-
 (define-public python-diff-match-patch
   (package
     (name "python-diff-match-patch")
@@ -13020,13 +12777,15 @@ window memory map manager.")
 (define-public python-regex
   (package
     (name "python-regex")
-    (version "2017.06.07")
+    (version "2019.04.14")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "regex" version))
               (sha256
                (base32
-                "06r6b7yigikbj3a72whl85r2b64pj1r0ypmw9yalmkm0wnxq8mz4"))))
+                "1a6hhfs6l6snr1z654ay6wzbmwdkmv282fzfkd5hk2d1n73y8v6m"))))
+    ;; TODO: Fix and enable regex_test.py tests that complain about the
+    ;; test.support module not existing.
     (build-system python-build-system)
     (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
     (synopsis "Alternative regular expression module")
@@ -13156,14 +12915,14 @@ requirements is not met.")
 (define-public python-pysocks
   (package
     (name "python-pysocks")
-    (version "1.6.8")
+    (version "1.7.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "PySocks" version))
        (sha256
         (base32
-         "0wn6xafwy9c1gamwljw3fyvih5w19qy9xp39zmv8c90ai5ajrr9z"))))
+         "0z4p31bpqm893cf87qqgb30k7nwd8kqfjwwjm5cvxb6zbyj1w0yr"))))
     (build-system python-build-system)
     (arguments `(#:tests? #f))
     (home-page "https://github.com/Anorov/PySocks")
@@ -15570,21 +15329,23 @@ file-based data structures that are @code{mmap}ped into memory so that many
 processes may share the same data.")
     (license license:asl2.0)))
 
-(define-public python-sphinxcontrib-svg2pdfconverter
+(define-public python-pylzma
   (package
-    (name "python-sphinxcontrib-svg2pdfconverter")
-    (version "0.1.0")
-    (source (origin
-              (method url-fetch)
-              (uri (pypi-uri "sphinxcontrib-svg2pdfconverter" version))
-              (sha256
-               (base32
-                "1abvbgkkii13q8nsb10r0gc5lm0p9iq1iwhfhakn5ifn6asa0183"))))
+    (name "python-pylzma")
+    (version "0.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pylzma" version))
+        (sha256
+          (base32
+            "074anvhyjgsv2iby2ql1ixfvjgmhnvcwjbdz8gk70xzkzcm1fx5q"))))
     (build-system python-build-system)
-    (propagated-inputs
-     `(("python-sphinx" ,python-sphinx)))
-    (home-page "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/releases")
-    (synopsis "Sphinx SVG to PDF converter extension")
-    (description "A Sphinx extension to convert SVG images to PDF in case the builder does not support
-SVG images natively (e.g. LaTeX).")
-    (license license:bsd-3)))
+    (home-page "http://www.joachim-bauch.de/projects/pylzma/")
+    (synopsis "Python bindings for the LZMA library by Igor Pavlov.")
+    (description "This package provides Python bindings for the LZMA library
+by Igor Pavlov.")
+    (license license:lgpl2.1+)))
+
+(define-public python2-pylzma
+  (package-with-python2 python-pylzma))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 244e0d1a1b..0e22c4a47c 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -44,7 +44,7 @@
 ;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 934b8ac557..49e0b9fe73 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2468,7 +2468,7 @@ It allows writing tests, checking results and automated testing in Ruby.")
     (synopsis "Write HTML pages in pure Ruby")
     (description
      "Markaby allows writing HTML packages in pure Ruby.  This is similar to
-the functionality provided by @acronym{ERB, Embeded Ruby}, but without the
+the functionality provided by @acronym{ERB, Embedded Ruby}, but without the
 mixture of HTML and additional ERB syntax.")
     (home-page "http://markaby.github.io/")
     (license license:expat)))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 5f1f2be5a0..50d7a70ab3 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -55,7 +55,6 @@
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-26))
 
-(define %cargo-reference-project-file "/dev/null")
 (define %cargo-reference-hash
   "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
 
@@ -69,63 +68,20 @@
     ("mips64el-linux" "mips64el-unknown-linux-gnuabi64")
     (_                (nix-system->gnu-triplet system))))
 
-
-(define* (rust-source-pre-1.32 version hash
-                               #:key
-                               (patches '())
-                               (patch-flags '("-p1")))
-  (origin
-    (method url-fetch)
-    (uri (string-append "https://static.rust-lang.org/dist/"
-                        "rustc-" version "-src.tar.gz"))
-    (sha256 (base32 hash))
-    (modules '((guix build utils)))
-    (snippet '(begin (delete-file-recursively "src/llvm") #t))
-    (patches (map search-patch patches))
-    (patch-flags patch-flags)))
+(define* (rust-uri version #:key (dist "static"))
+  (string-append "https://" dist ".rust-lang.org/dist/"
+                 "rustc-" version "-src.tar.gz"))
 
-(define* (rust-bootstrapped-package-pre-1.32 base-rust version checksum
-                                             #:key
-                                             (patches '())
-                                             (patch-flags '("-p1")))
-  "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST.
-Specific to rust versions before 1.32."
+(define* (rust-bootstrapped-package base-rust version checksum)
+  "Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST."
   (package
     (inherit base-rust)
     (version version)
     (source
-     (rust-source-pre-1.32 version checksum #:patches patches #:patch-flags patch-flags))
-    (native-inputs
-     (alist-replace "cargo-bootstrap" (list base-rust "cargo")
-                    (alist-replace "rustc-bootstrap" (list base-rust)
-                                   (package-native-inputs base-rust))))))
-
-(define* (rust-source version hash
-                      #:key
-                      (patches '())
-                      (patch-flags '("-p1")))
-  (origin
-    (method url-fetch)
-    (uri (string-append "https://static.rust-lang.org/dist/"
-                        "rustc-" version "-src.tar.gz"))
-    (sha256 (base32 hash))
-    (modules '((guix build utils)))
-    (snippet '(begin (delete-file-recursively "src/llvm")
-                     (delete-file-recursively "vendor/jemalloc-sys/jemalloc")
-                     #t))
-    (patches (map search-patch patches))
-    (patch-flags patch-flags)))
-
-(define* (rust-bootstrapped-package base-rust version checksum
-                                    #:key
-                                    (patches '())
-                                    (patch-flags '("-p1")))
-  "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST."
-  (package
-    (inherit base-rust)
-    (version version)
-    (source
-     (rust-source version checksum #:patches patches #:patch-flags patch-flags))
+      (origin
+        (inherit (package-source base-rust))
+        (uri (rust-uri version))
+        (sha256 (base32 checksum))))
     (native-inputs
      (alist-replace "cargo-bootstrap" (list base-rust "cargo")
                     (alist-replace "rustc-bootstrap" (list base-rust)
@@ -155,8 +111,7 @@ Specific to rust versions before 1.32."
        `(("bison" ,bison)
          ("flex" ,flex)
          ;; Required for the libstd sources.
-         ("rustc"
-          ,(rust-source-pre-1.32 "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
+         ("rustc" ,(package-source rust-1.19))))
       (arguments
        `(#:test-target "local_tests"
          #:make-flags (list (string-append "LLVM_CONFIG="
@@ -229,8 +184,14 @@ safety and thread safety guarantees.")
   (package
     (name "rust")
     (version "1.19.0")
-    (source (rust-source-pre-1.32 version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"
-            #:patches '("rust-1.19-mrustc.patch")))
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rust-uri "1.19.0"))
+        (sha256 (base32 "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))
+        (modules '((guix build utils)))
+        (snippet '(begin (delete-file-recursively "src/llvm") #t))
+        (patches (map search-patch '("rust-1.19-mrustc.patch")))))
     (outputs '("out" "cargo"))
     (properties '((timeout . 72000)               ;20 hours
                   (max-silent-time . 18000)))     ;5 hours (for armel)
@@ -320,7 +281,7 @@ test = { path = \"../libtest\" }
                   (display (string-append
                             "patch-cargo-checksums: generate-checksums for "
                             dir "\n"))
-                  (generate-checksums dir ,%cargo-reference-project-file)))
+                  (generate-checksums dir)))
               (find-files "src/vendor" ".cargo-checksum.json"))
              #t))
          ;; This phase is overridden by newer versions.
@@ -462,10 +423,18 @@ safety and thread safety guarantees.")
 
 (define-public rust-1.20
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.19 "1.20.0"
+         (rust-bootstrapped-package rust-1.19 "1.20.0"
           "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (snippet '(begin
+                      (delete-file-recursively "src/jemalloc")
+                      (delete-file-recursively "src/llvm")
+                      #t))
+          (patches '())))
       (outputs '("out" "doc" "cargo"))
       ;; Since rust-1.19 is local, it's quite probable that Hydra
       ;; will build rust-1.19 only as a dependency of rust-1.20.
@@ -595,6 +564,24 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                    (("prefix = \"[^\"]*\"")
                     (string-append "prefix = \"" (assoc-ref outputs "cargo") "\"")))
                  (invoke "./x.py" "install" "cargo")))
+             (add-after 'install 'delete-install-logs
+               (lambda* (#:key outputs #:allow-other-keys)
+                 (define (delete-manifest-file out-path file)
+                   (delete-file (string-append out-path "/lib/rustlib/" file)))
+
+                 (let ((out (assoc-ref outputs "out"))
+                       (cargo-out (assoc-ref outputs "cargo")))
+                   (for-each
+                     (lambda (file) (delete-manifest-file out file))
+                     '("install.log"
+                       "manifest-rust-docs"
+                       "manifest-rust-std-x86_64-unknown-linux-gnu"
+                       "manifest-rustc"))
+                   (for-each
+                     (lambda (file) (delete-manifest-file cargo-out file))
+                     '("install.log"
+                       "manifest-cargo"))
+                   #t)))
              (add-after 'install 'wrap-rustc
                (lambda* (#:key inputs outputs #:allow-other-keys)
                  (let ((out (assoc-ref outputs "out"))
@@ -607,7 +594,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                    #t))))))))))
 
 (define-public rust-1.21
-  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.20 "1.21.0"
+  (let ((base-rust (rust-bootstrapped-package rust-1.20 "1.21.0"
                     "1yj8lnxybjrybp00fqhxw8fpr641dh8wcn9mk44xjnsb4i1c21qp")))
     (package
       (inherit base-rust)
@@ -623,7 +610,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  #t)))))))))
 
 (define-public rust-1.22
-  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.21 "1.22.1"
+  (let ((base-rust (rust-bootstrapped-package rust-1.21 "1.22.1"
                     "1lrzzp0nh7s61wgfs2h6ilaqi6iq89f1pd1yaf65l87bssyl4ylb")))
     (package
       (inherit base-rust)
@@ -639,7 +626,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                  #t)))))))))
 
 (define-public rust-1.23
-  (let ((base-rust (rust-bootstrapped-package-pre-1.32 rust-1.22 "1.23.0"
+  (let ((base-rust (rust-bootstrapped-package rust-1.22 "1.23.0"
                     "14fb8vhjzsxlbi6yrn1r6fl5dlbdd1m92dn5zj5gmzfwf4w9ar3l")))
     (package
       (inherit base-rust)
@@ -658,7 +645,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.24
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.23 "1.24.1"
+         (rust-bootstrapped-package rust-1.23 "1.24.1"
           "1vv10x2h9kq7fxh2v01damdq8pvlp5acyh1kzcda9sfjx12kv99y")))
     (package
       (inherit base-rust)
@@ -680,11 +667,20 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 ;;; Keep using llvm 3.9.1 until builds become determenistic
 (define-public rust-1.25
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.24 "1.25.0"
-          "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"
-          #:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch"))))
+         (rust-bootstrapped-package rust-1.24 "1.25.0"
+          "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (snippet '(begin
+                      (delete-file-recursively "src/jemalloc")
+                      (delete-file-recursively "src/llvm")
+                      (delete-file-recursively "src/llvm-emscripten")
+                      #t))
+          (patches (map search-patch
+                        '("rust-1.25-accept-more-detailed-gdb-lines.patch")))))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -711,12 +707,16 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.26
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.25 "1.26.2"
-          "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv"
-          #:patches '("rust-coresimd-doctest.patch"
-                      "rust-1.25-accept-more-detailed-gdb-lines.patch"))))
+         (rust-bootstrapped-package rust-1.25 "1.26.2"
+          "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches (map search-patch
+                        '("rust-coresimd-doctest.patch"
+                          "rust-1.25-accept-more-detailed-gdb-lines.patch")))))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -776,15 +776,17 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.27
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.26 "1.27.2"
-          "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
-          #:patches
-          '("rust-coresimd-doctest.patch"
-            "rust-bootstrap-stage0-test.patch"
-            "rust-1.25-accept-more-detailed-gdb-lines.patch"
-            "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package rust-1.26 "1.27.2"
+          "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches (map search-patch '("rust-coresimd-doctest.patch"
+                                       "rust-bootstrap-stage0-test.patch"
+                                       "rust-1.25-accept-more-detailed-gdb-lines.patch"
+                                       "rust-reproducible-builds.patch")))))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -805,15 +807,17 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.28
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.27 "1.28.0"
-          "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx"
-          #:patches
-          '("rust-coresimd-doctest.patch"
-            "rust-bootstrap-stage0-test.patch"
-            "rust-1.25-accept-more-detailed-gdb-lines.patch"
-            "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package rust-1.27 "1.28.0"
+          "11k4rn77bca2rikykkk9fmprrgjswd4x4kaq7fia08vgkir82nhx")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches (map search-patch '("rust-coresimd-doctest.patch"
+                                       "rust-bootstrap-stage0-test.patch"
+                                       "rust-1.25-accept-more-detailed-gdb-lines.patch"
+                                       "rust-reproducible-builds.patch")))))
       (inputs
        ;; Use LLVM 6.0
        (alist-replace "llvm" (list llvm-6)
@@ -839,24 +843,35 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.29
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.28 "1.29.2"
-          "1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h"
-          #:patches
-          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-            "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package rust-1.28 "1.29.2"
+          "1jb787080z754caa2w3w1amsygs4qlzj9rs1vy64firfmabfg22h")))
     (package
-      (inherit base-rust))))
+      (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches (map search-patch '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+                                       "rust-reproducible-builds.patch"))))))))
 
 (define-public rust-1.30
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.29 "1.30.1"
-          "0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn"
-          #:patches
-          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-            "rust-1.30-gdb-llvm.patch"
-            "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package rust-1.29 "1.30.1"
+          "0aavdc1lqv0cjzbqwl5n59yd0bqdlhn0zas61ljf38yrvc18k8rn")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (snippet '(begin
+                      (delete-file-recursively "src/jemalloc")
+                      (delete-file-recursively "src/llvm")
+                      (delete-file-recursively "src/llvm-emscripten")
+                      (delete-file-recursively "src/tools/clang")
+                      (delete-file-recursively "src/tools/lldb")
+                      #t))
+          (patches (map search-patch '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+                                       "rust-1.30-gdb-llvm.patch"
+                                       "rust-reproducible-builds.patch")))))
       (inputs
        ;; Use LLVM 7.0
        (alist-replace "llvm" (list llvm)
@@ -896,14 +911,16 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust-1.31
   (let ((base-rust
-         (rust-bootstrapped-package-pre-1.32 rust-1.30 "1.31.1"
-          "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli"
-          #:patches
-          '("rust-1.25-accept-more-detailed-gdb-lines.patch"
-            "rust-1.30-gdb-llvm.patch"
-            "rust-reproducible-builds.patch"))))
+         (rust-bootstrapped-package rust-1.30 "1.31.1"
+          "0sk84ff0cklybcp0jbbxcw7lk7mrm6kb6km5nzd6m64dy0igrlli")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches (map search-patch '("rust-1.25-accept-more-detailed-gdb-lines.patch"
+                                       "rust-1.30-gdb-llvm.patch"
+                                       "rust-reproducible-builds.patch")))))
       (arguments
        (substitute-keyword-arguments (package-arguments base-rust)
          ((#:phases phases)
@@ -940,13 +957,22 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 (define-public rust-1.32
   (let ((base-rust
          (rust-bootstrapped-package rust-1.31 "1.32.0"
-          "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac"
-          #:patches '("rust-reproducible-builds.patch")
-          ;; the vendor directory has moved to the root of
-          ;; the tarball, so we have to strip an extra prefix
-          #:patch-flags '("-p2"))))
+          "0ji2l9xv53y27xy72qagggvq47gayr5lcv2jwvmfirx029vlqnac")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (snippet '(begin (delete-file-recursively "src/llvm")
+                           (delete-file-recursively "src/llvm-emscripten")
+                           (delete-file-recursively "src/tools/clang")
+                           (delete-file-recursively "src/tools/lldb")
+                           (delete-file-recursively "vendor/jemalloc-sys/jemalloc")
+                           #t))
+          (patches (map search-patch '("rust-reproducible-builds.patch")))
+          ;; the vendor directory has moved to the root of
+          ;; the tarball, so we have to strip an extra prefix
+          (patch-flags '("-p2"))))
       (inputs
        ;; Downgrade to LLVM 6, all LTO tests appear to fail with LLVM 7.0.1
        (alist-replace "llvm" (list llvm-6)
@@ -970,7 +996,7 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
                       (display (string-append
                                 "patch-cargo-checksums: generate-checksums for "
                                 dir "\n"))
-                      (generate-checksums dir ,%cargo-reference-project-file)))
+                      (generate-checksums dir)))
                   (find-files "vendor" ".cargo-checksum.json"))
                  #t))
              (add-after 'enable-codegen-tests 'override-jemalloc
@@ -993,10 +1019,14 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 (define-public rust-1.33
   (let ((base-rust
          (rust-bootstrapped-package rust-1.32 "1.33.0"
-                                    "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as"
-                                    #:patches '())))
+           "152x91mg7bz4ygligwjb05fgm1blwy2i70s2j03zc9jiwvbsh0as")))
     (package
       (inherit base-rust)
+      (source
+        (origin
+          (inherit (package-source base-rust))
+          (patches '())
+          (patch-flags '("-p1"))))
       (inputs
        ;; Upgrade to jemalloc@5.1.0
        (alist-replace "jemalloc" (list jemalloc)
@@ -1017,9 +1047,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
 
 (define-public rust
   (let ((base-rust
-         (rust-bootstrapped-package rust-1.33 "1.34.0"
-                                    "0n8z1wngkxab1rvixqg6w8b727hzpnm9wp9h8iy3mpbrzp7mmj3s"
-                                    #:patches '())))
+         (rust-bootstrapped-package rust-1.33 "1.34.1"
+           "19s09k7y5j6g3y4d2rk6kg9pvq6ml94c49w6b72dmq8p9lk8bixh")))
     (package
       (inherit base-rust)
       (source
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 8a117799ef..7803a1c8d1 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -153,14 +153,14 @@ anywhere.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.10.2")
+    (version "4.10.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.samba.org/pub/samba/stable/"
                                  "samba-" version ".tar.gz"))
              (sha256
               (base32
-               "112yizx9cpjhi8c7mh9znqg0c9dkj3383hwr8dhgpykl3g2zv347"))))
+               "0xhfbh42dihccc85ffx243lyhf3jnphhi6xfcsr3a6mhsm7w1p26"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index fe51900179..9b2876c359 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml))
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 8aa3f0caef..5fb75ce617 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -407,7 +407,7 @@ PCSC API Python wrapper module.")
 (define-public libu2f-host
   (package
     (name "libu2f-host")
-    (version "1.1.9")
+    (version "1.1.10")
     (source (origin
               (method url-fetch)
               (uri
@@ -416,7 +416,7 @@ PCSC API Python wrapper module.")
                 "/libu2f-host/Releases/libu2f-host-" version ".tar.xz"))
               (sha256
                (base32
-                "1hnh3f4scx07v9jfkr1nnxasmydk1cmivn0nijcp2p75bc1fznip"))))
+                "0vrivl1dwql6nfi48z6dy56fwy2z13d7abgahgrs2mcmqng7hra2"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 2c6642f727..9ed983db98 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
-;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017, 2018 ng0 <ng0@n0.is>
@@ -671,7 +671,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.")
 (define-public loksh
   (package
     (name "loksh")
-    (version "6.4")
+    (version "6.5")
     (source
      (origin
        (method git-fetch)
@@ -680,7 +680,7 @@ The OpenBSD Korn Shell is a cleaned up and enhanced ksh.")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1d92cf5iadj1vwg0wwksaq1691zaxjrd2y4qygj4sdd25zsahj6p"))))
+        (base32 "01ra64zm1ryb4jsbmh8c3fjaymyy1992hzpm6iydbfxn1sjdihha"))))
     (build-system gnu-build-system)
     (inputs
      `(("libbsd" ,libbsd)
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 56359ce160..f7542ea759 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -25,7 +25,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages python)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -61,8 +61,7 @@
     (synopsis "Save and restore environment variables")
     (description "Envstore is a program for sharing environment variables
 between various shells or commands.")
-    (license
-     (non-copyleft "http://www.wtfpl.net/txt/copying/"))))
+    (license license:wtfpl2)))
 
 (define-public trash-cli
   (package
@@ -98,7 +97,7 @@ between various shells or commands.")
 FreeDesktop.org trash can used by GNOME, KDE, XFCE, and other common desktop
 environments.  It can move files to the trash, and remove or list files that
 are already there.")
-    (license gpl2+)))
+    (license license:gpl2+)))
 
 (define-public direnv
   (package
@@ -151,7 +150,7 @@ allows project-specific environment variables without using @file{~/.profile}.
 Before each prompt, direnv checks for the existence of a @file{.envrc} file in
 the current and parent directories.  This file is then used to alter the
 environment variables of the current shell.")
-    (license expat)))
+    (license license:expat)))
 
 (define-public fzy
   (package
@@ -186,7 +185,7 @@ or different parts of the path.
 fzy is designed to be used both as an editor plugin and on the command
 line.  Rather than clearing the screen, fzy displays its interface directly
 below the current cursor position, scrolling the screen if necessary.")
-    (license expat)))
+    (license license:expat)))
 
 (define-public hstr
   (package
@@ -228,4 +227,4 @@ HSTR can also manage your command history (for instance you can remove
 commands that are obsolete or contain a piece of sensitive information) or
 bookmark your favourite commands.")
     (home-page "http://me.mindforger.com/projects/hh.html")
-    (license asl2.0)))
+    (license license:asl2.0)))
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index b0c19f2664..cee50f627a 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -29,14 +29,14 @@
 (define-public skalibs
   (package
     (name "skalibs")
-    (version "2.8.0.1")
+    (version "2.8.1.0")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://skarnet.org/software/skalibs/skalibs-"
                           version ".tar.gz"))
       (sha256
-       (base32 "00mh15jx3p4xzhkslxzpgi1c0xglywck1ik7ffi0hfwcq092wla7"))))
+       (base32 "1fk6n402ywn4kpy6ng7sfnnqcg0mp6wq2hrv8sv3kxd0nh3na723"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no tests exist
@@ -103,14 +103,14 @@ complexity.")))
 (define-public s6
   (package
    (name "s6")
-   (version "2.8.0.0")
+   (version "2.8.0.1")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "http://skarnet.org/software/s6/s6-"
                          version ".tar.gz"))
      (sha256
-      (base32 "01milx5shixvniaxxmanfzz54vcymjfi86433w62rk5ypvc94ir8"))))
+      (base32 "1n1i3jm3kp9ii54cxj1sgh89m6nyna7vhy8714ma6py1frdqzq6v"))))
    (build-system gnu-build-system)
    (inputs `(("skalibs" ,skalibs)
              ("execline" ,execline)))
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 2d6c63e3f9..dbdbe7ea49 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -145,7 +145,7 @@ efficiency through the use of a compact vector representation of n-grams.")
 (define-public speech-dispatcher
   (package
     (name "speech-dispatcher")
-    (version "0.9.0")
+    (version "0.9.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/brailcom/speechd/releases"
@@ -153,11 +153,13 @@ efficiency through the use of a compact vector representation of n-grams.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1yd2rb02565picga4gh2a0bvfxbhdyaj0cv9aaj5a8fc5zs29fbk"))))
+                "16bg52hnkrsrs7kgbzanb34b9zb6fqxwj0a9bmsxmj1skkil1h1p"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--disable-static"
+
                            ;; Disable support for proprietary TTS engines.
+                           "--with-ibmtts=no"
                            "--with-kali=no" "--with-baratinoo=no")))
     (native-inputs
      `(("intltool" ,intltool)
@@ -176,11 +178,11 @@ device independent layer for access to speech synthesis through a simple,
 stable and well documented interface.")
     (home-page "https://devel.freebsoft.org/speechd")
     ;; The software is distributed under GPL2+, but includes a number
-    ;; of files covered by other licenses.
+    ;; of files covered by other licenses.  Note: in practice, this
+    ;; is linked against dotconf, which is LGPL 2.1 only.
     (license (list license:gpl2+
                    license:fdl1.2+ ; Most files in doc/ are dual gpl2+/fdl1.2+.
                    license:lgpl2.1+
-                   license:gpl2
                    (license:non-copyleft
                     ;; festival_client.{c,h} carries an expat-style license.
                     "See src/modules/festival_client.c in the distribution.")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
new file mode 100644
index 0000000000..1bc7149c24
--- /dev/null
+++ b/gnu/packages/sphinx.scm
@@ -0,0 +1,524 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 David Thompson <davet@gnu.org>
+;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
+;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;;
+;;; 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 sphinx)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix build-system python)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages python-web)
+  #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages time))
+
+(define-public python-sphinx
+  (package
+    (name "python-sphinx")
+    (version "2.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "Sphinx" version))
+       (sha256
+        (base32
+         "0js0rnbzm0nsb4gm2v4z79wlbmr05awqzic57kfl8ydkdxj80cj2"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; Requires Internet access.
+             (delete-file "tests/test_build_linkcheck.py")
+             (substitute* "tests/test_build_latex.py"
+               (("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
+                "@pytest.mark.skip()"))
+             (invoke "make" "test"))))))
+    (propagated-inputs
+     `(("python-imagesize" ,python-imagesize)
+       ("python-sphinx-alabaster-theme"
+        ,python-sphinx-alabaster-theme)
+       ("python-babel" ,python-babel)
+       ("python-snowballstemmer" ,python-snowballstemmer)
+       ("python-docutils" ,python-docutils)
+       ("python-jinja2" ,python-jinja2)
+       ("python-packaging" ,python-packaging)
+       ("python-pygments" ,python-pygments)
+       ("python-requests" ,python-requests)
+       ("python-sphinxcontrib-applehelp" ,python-sphinxcontrib-applehelp)
+       ("python-sphinxcontrib-devhelp" ,python-sphinxcontrib-devhelp)
+       ("python-sphinxcontrib-htmlhelp" ,python-sphinxcontrib-htmlhelp)
+       ("python-sphinxcontrib-jsmath" ,python-sphinxcontrib-jsmath)
+       ("python-sphinxcontrib-qthelp" ,python-sphinxcontrib-qthelp)
+       ("python-sphinxcontrib-serializinghtml"
+        ,python-sphinxcontrib-serializinghtml)))
+    (native-inputs
+     `(("graphviz" ,graphviz)
+       ("imagemagick" ,imagemagick)                    ;for "convert"
+       ("python-html5lib" ,python-html5lib)
+       ("python-mock" ,python-mock)
+       ("python-nose" ,python-nose)
+       ("python-pytest" ,python-pytest)))
+    (home-page "http://sphinx-doc.org/")
+    (synopsis "Python documentation generator")
+    (description "Sphinx is a tool that makes it easy to create documentation
+for Python projects or other documents consisting of multiple reStructuredText
+sources.")
+    (license license:bsd-3)
+    (properties `((python2-variant . ,(delay python2-sphinx))))))
+
+;; Sphinx 2 does not support Python 2, so we stick with this older version here.
+;; Remove this package once python2-pbcore no longer requires it.
+(define-public python2-sphinx
+  (let ((base (package-with-python2 (strip-python2-variant python-sphinx))))
+    (package
+      (inherit base)
+      (version "1.7.7")
+      (source (origin
+                (method url-fetch)
+                (uri (pypi-uri "Sphinx" version))
+                (sha256
+                 (base32
+                  "0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-before 'check 'disable-broken-tests
+               (lambda _
+                 ;; These tests are broken when using Python2:
+                 ;; <https://github.com/sphinx-doc/sphinx/issues/4710>.
+                 (for-each delete-file '("tests/test_api_translator.py"
+                                         "tests/test_setup_command.py"))
+                 #t))))))
+      (native-inputs `(("python2-mock" ,python2-mock)
+                       ("python2-enum34" ,python2-enum34)
+                       ,@(package-native-inputs base)))
+      ;; Sphinx 2 has some dependencies that do not support Python 2, so
+      ;; we keep our own propagated-inputs here instead of inheriting.
+      (propagated-inputs `(("python2-pytz" ,python2-pytz)
+                           ("python2-typing" ,python2-typing)
+                           ("python2-imagesize" ,python2-imagesize)
+                           ("python2-sphinx-alabaster-theme"
+                            ,python2-sphinx-alabaster-theme)
+                           ("python2-babel" ,python2-babel)
+                           ("python2-snowballstemmer" ,python2-snowballstemmer)
+                           ("python2-docutils" ,python2-docutils)
+                           ("python2-jinja2" ,python2-jinja2)
+                           ("python2-packaging" ,python2-packaging)
+                           ("python2-pygments" ,python2-pygments)
+                           ("python2-requests" ,python2-requests)
+                           ("python2-six" ,python2-six)
+                           ("python2-sphinxcontrib-websupport"
+                            ,python2-sphinxcontrib-websupport))))))
+
+(define-public python-sphinxcontrib-applehelp
+  (package
+    (name "python-sphinxcontrib-applehelp")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-applehelp" version))
+              (sha256
+               (base32
+                "15rqmgphj4wqf4m5wnzxgmwxx5jwfzb0j0nb94ql0x5wnar0mapd"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-applehelp")
+    (synopsis "Sphinx extension for creating Apple help books")
+    (description
+     "@code{sphinxcontrib-applehelp} is a Sphinx extension which outputs
+Apple help books.")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-devhelp
+  (package
+    (name "python-sphinxcontrib-devhelp")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-devhelp" version))
+              (sha256
+               (base32
+                "0d2a57kqxl72i55rns0ly1i044y2x234b9sdi89ajc3kjdvv0r3c"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-devhelp")
+    (synopsis "Sphinx extension for creating Devhelp documents")
+    (description
+     "@code{sphinxcontrib-devhelp} is a Sphinx extension which outputs
+@url{Devhelp,https://wiki.gnome.org/Apps/Devhelp} documents.")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-htmlhelp
+  (package
+    (name "python-sphinxcontrib-htmlhelp")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-htmlhelp" version))
+              (sha256
+               (base32
+                "08l4x8a2l4xjqdd5rhvmfsqihmlgg4prdayj9b6pigaii6gzjw26"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp")
+    (synopsis "Sphinx exension for rendering HTML help files")
+    (description
+     "@code{sphinxcontrib-htmlhelp} is a Sphinx extension which renders
+HTML help files.")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-jsmath
+  (package
+    (name "python-sphinxcontrib-jsmath")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-jsmath" version))
+              (sha256
+               (base32
+                "1f64w19j33sp151jimibraw6qrbhd5gxy8hs3797w9478m55x4m9"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-jsmath")
+    (synopsis "Sphinx extension to render math equations")
+    (description
+     "@code{sphinxcontrib-jsmath} is a Sphinx extension which renders display
+math in HTML via JavaScript.")
+    (license license:bsd-3)))
+
+(define-public python-sphinxcontrib-newsfeed
+  (package
+    (name "python-sphinxcontrib-newsfeed")
+    (version "0.1.4")
+    (source (origin
+             (method url-fetch)
+             (uri (pypi-uri "sphinxcontrib-newsfeed" version))
+             (sha256
+              (base32
+               "1d7gam3mn8v4in4p16yn3v10vps7nnaz6ilw99j4klij39dqd37p"))))
+    (arguments '(#:tests? #f)) ; No tests.
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (synopsis "News Feed extension for Sphinx")
+    (description "Sphinxcontrib-newsfeed is an extension for adding a simple
+Blog, News or Announcements section to a Sphinx website.")
+    (home-page "https://bitbucket.org/prometheus/sphinxcontrib-newsfeed")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-programoutput
+  (package
+    (name "python-sphinxcontrib-programoutput")
+    (version "0.10")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-programoutput" version))
+              (sha256
+               (base32
+                "153hhnlbx4688zj9wd64819ps5znc2jlyp5crkgzvn5hxgy99vpx"))))
+    (build-system python-build-system)
+    (arguments
+     ;; FIXME: Many tests are failing and the upstream is gone.
+     '(#:tests? #f))
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (synopsis "Sphinx extension to include program output")
+    (description "A Sphinx extension to literally insert the output of arbitrary
+commands into documents, helping you to keep your command examples up to date.")
+    (home-page "https://github.com/lunaryorn/sphinxcontrib-programoutput")
+    (license license:bsd-2)))
+
+(define-public python2-sphinxcontrib-programoutput
+  (package-with-python2 python-sphinxcontrib-programoutput))
+
+(define-public python-sphinxcontrib-qthelp
+  (package
+    (name "python-sphinxcontrib-qthelp")
+    (version "1.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-qthelp" version))
+              (sha256
+               (base32
+                "0vs09m6kf5vhiivpi5s5pks59iq0lqlsbkdycpqlysg53bhmqikr"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-qthelp")
+    (synopsis "Sphinx extension to output QtHelp documents")
+    (description
+     "@code{sphinxcontrib-qthelp} is a Sphinx extension which outputs QtHelp
+documents.")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-serializinghtml
+  (package
+    (name "python-sphinxcontrib-serializinghtml")
+    (version "1.1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-serializinghtml" version))
+              (sha256
+               (base32
+                "09sj3nwahwr4iymg86gczbh151cfczqhf2kclbblzh2jh0zv7vy0"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f))                    ;XXX: circular dependency on Sphinx
+    (home-page "https://github.com/sphinx-doc/sphinxcontrib-serializinghtml")
+    (synopsis "Sphinx extension to serialize HTML files")
+    (description
+     "@code{sphinxcontrib-serializinghtml} is a Sphinx extension which outputs
+\"serialized\" HTML files.")
+    (license license:bsd-2)))
+
+(define-public python-sphinxcontrib-svg2pdfconverter
+  (package
+    (name "python-sphinxcontrib-svg2pdfconverter")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-svg2pdfconverter" version))
+              (sha256
+               (base32
+                "1abvbgkkii13q8nsb10r0gc5lm0p9iq1iwhfhakn5ifn6asa0183"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter/releases")
+    (synopsis "Sphinx SVG to PDF converter extension")
+    (description "A Sphinx extension to convert SVG images to PDF in case the builder does not support
+SVG images natively (e.g. LaTeX).")
+    (license license:bsd-3)))
+
+(define-public python-sphinxcontrib-websupport
+  (package
+    (name "python-sphinxcontrib-websupport")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "sphinxcontrib-websupport" version))
+              (sha256
+               (base32
+                "1ff3ix76xi1y6m99qxhaq5161ix9swwzydilvdya07mgbcvpzr4x"))))
+    (build-system python-build-system)
+    (arguments
+     ;; FIXME: Tests depend on Sphinx, which depends on this.
+     `(#:tests? #f))
+    (home-page "http://sphinx-doc.org/")
+    (synopsis "Sphinx API for web applications")
+    (description "This package provides a Python API to easily integrate
+Sphinx documentation into your web application.  It provides tools to
+integrate Sphinx documents in web templates and to handle searches.")
+    (license license:bsd-3)))
+
+(define-public python2-sphinxcontrib-websupport
+  (package-with-python2 python-sphinxcontrib-websupport))
+
+(define-public python-sphinx-gallery
+  (package
+    (name "python-sphinx-gallery")
+    (version "0.1.13")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/sphinx-gallery/sphinx-gallery"
+                                  "/archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "03fs99mcb1r7qp0xixqv07vcz98sk21yq19ffdysi0infdcpzfkd"))))
+    (build-system python-build-system)
+    (arguments
+     ;; FIXME: Tests attempt to download <https://docs.python.org/3/objects.inv>,
+     ;; <https://docs.scipy.org/doc/numpy/objects.inv>, and
+     ;; <https://matplotlib.org/objects.inv>.
+     `(#:tests? #f))
+    (native-inputs
+     `(("python-pytest-runner" ,python-pytest-runner)))
+    (home-page "https://sphinx-gallery.github.io/")
+    (synopsis "Generate an examples gallery automatically")
+    (description
+     "@code{sphinx_gallery} is a Sphinx extension that builds an HTML version
+from any set of Python scripts and puts it into an examples gallery.")
+    (license license:bsd-3)))
+
+(define-public python2-sphinx-gallery
+  (package-with-python2 python-sphinx-gallery))
+
+(define-public python-sphinx-me
+  (package
+    (name "python-sphinx-me")
+    (version "0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sphinx-me" version))
+       (sha256
+        (base32
+         "06jzgp213zihnvpcy2y5jy3ykid3apc2ncp2pg6a2g05lhiziglq"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/stephenmcd/sphinx-me")
+    (synopsis "Create a Sphinx documentation shell")
+    (description
+      "Create a Sphinx documentation shell for your project and include the
+README file as the documentation index.  It handles extracting the required
+meta data such as the project name, author and version from your project for
+use in your Sphinx docs.")
+    (license license:bsd-2)))
+
+(define-public python2-sphinx-me
+  (package-with-python2 python-sphinx-me))
+
+(define-public python-sphinx-repoze-autointerface
+  (package
+    (name "python-sphinx-repoze-autointerface")
+    (version "0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "repoze.sphinx.autointerface" version))
+              (sha256
+               (base32
+                "08ycivzf7bh4a1zcyp31hbyqs1b2c9r26raa3vxjwwmbfqr3iw4f"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f)) ; No tests.
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)
+       ("python-zope-interface" ,python-zope-interface)))
+    (synopsis "Auto-generate Sphinx API docs from Zope interfaces")
+    (description "This package defines an extension for the Sphinx documentation
+system.  The extension allows generation of API documentation by
+introspection of @code{zope.interface} instances in code.")
+    (home-page "https://github.com/repoze/repoze.sphinx.autointerface")
+    (license license:repoze)))
+
+(define-public python2-sphinx-repoze-autointerface
+  (package-with-python2 python-sphinx-repoze-autointerface))
+
+(define-public python-sphinx-alabaster-theme
+  (package
+    (name "python-sphinx-alabaster-theme")
+    (version "0.7.12")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "alabaster" version))
+              (sha256
+               (base32
+                "00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pygments" ,python-pygments)))
+    (home-page "https://alabaster.readthedocs.io/")
+    (synopsis "Configurable sidebar-enabled Sphinx theme")
+    (description "Alabaster is a visually (c)lean, responsive, configurable
+theme for the Sphinx documentation system.  It's the default theme of Sphinx.")
+    (license license:bsd-3)))
+
+(define-public python2-sphinx-alabaster-theme
+  (package-with-python2 python-sphinx-alabaster-theme))
+
+(define-public python-sphinx-cloud-sptheme
+  (package
+    (name "python-sphinx-cloud-sptheme")
+    (version "1.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "cloud_sptheme" version))
+              (sha256
+               (base32
+                "1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
+    (build-system python-build-system)
+    ;; FIXME: The 'pypi' release archive does not contain tests.
+    (arguments '(#:tests? #f))
+    (native-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://bitbucket.org/ecollins/cloud_sptheme")
+    (synopsis "'Cloud' theme for Sphinx documenter")
+    (description "This package contains the \"Cloud\" theme for Sphinx and some
+related extensions.")
+    (license license:bsd-3)))
+
+(define-public python2-sphinx-cloud-sptheme
+  (package-with-python2 python-sphinx-cloud-sptheme))
+
+(define-public python-guzzle-sphinx-theme
+  (package
+    (name "python-guzzle-sphinx-theme")
+    (version "0.7.11")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "guzzle_sphinx_theme" version))
+        (sha256
+         (base32
+          "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
+    (synopsis "Sphinx theme used by Guzzle")
+    (description "This package provides guzzle_sphinx_theme, a theme for the
+Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
+and several other projects.")
+    (license license:expat)))
+
+(define-public python2-guzzle-sphinx-theme
+  (package-with-python2 python-guzzle-sphinx-theme))
+
+(define-public python-sphinx-rtd-theme
+  (package
+    (name "python-sphinx-rtd-theme")
+    (version "0.2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "sphinx_rtd_theme" version))
+       (sha256
+        (base32
+         "05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f)) ; No tests.
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/snide/sphinx_rtd_theme/")
+    (synopsis "ReadTheDocs.org theme for Sphinx")
+    (description "A theme for Sphinx used by ReadTheDocs.org.")
+    (license license:expat)))
+
+(define-public python2-sphinx-rtd-theme
+  (package-with-python2 python-sphinx-rtd-theme))
diff --git a/gnu/packages/squirrel.scm b/gnu/packages/squirrel.scm
new file mode 100644
index 0000000000..1da0ad9fe3
--- /dev/null
+++ b/gnu/packages/squirrel.scm
@@ -0,0 +1,55 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Li-cheng (Andy) Tai <atai@atai.org>
+;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages squirrel)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages cmake)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build utils)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define-public squirrel
+  (let ((commit "51137b84e66c4d526809fd8a59f4ba1d38138c76"))
+    (package
+      (name "squirrel")
+      (version "3.1")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/albertodemichelis/squirrel.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0vbiv1q3qcy2vj8y0b9a2ckswl9ld398n3jnxijvwddrjgya5zav"))))
+      (build-system cmake-build-system)
+      (arguments
+       '(#:tests? #f)) ; no tests
+      (native-inputs
+       `(("cmake" ,cmake)))
+      (home-page "https://squirrel-lang.org/")
+      (synopsis "High level imperative, object-oriented programming language")
+      (description
+       "Squirrel is a high level imperative, object-oriented programming
+language, designed to be a light-weight scripting language that fits in the
+size, memory bandwidth, and real-time requirements of applications like video
+games.")
+      (license license:expat))))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index a763c6aba2..c04fa6fbfd 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -424,12 +424,13 @@ especially over Wi-Fi, cellular, and long-distance links.")
     (version "3.1.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/MisterTea/EternalTCP/archive/et-v"
-             version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/MisterTea/EternalTCP.git")
+             (commit (string-append "et-v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1n2w2kqbshdmbb0gz4yizyw9gqfls6qm2dnwx1d9c2hz7hmi7521"))))
+        (base32 "1m5caxckn2ihwp9s2pbyh5amxlpwr7yc54q8s0kb10fr52w2vfnm"))))
     (build-system cmake-build-system)
     (arguments `(#:tests? #f))
     (native-inputs
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index cc9fa69a32..06f0aa1e75 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -66,6 +66,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tex)
@@ -459,16 +460,16 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.0.8")
+    (version "2.0.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "0jkmlhjknndh0lmyvqz7s7j1hhnarixm6zb39np4ssw47flk0nfc"))))
+         "1bg5dvs4bzj0rp75jpxaklz12rvyh5w99h7zkvfgpgn86ljg1rlf"))))
     (build-system r-build-system)
-    (inputs
+    (native-inputs
      `(("gfortran" ,gfortran)))
     (home-page "https://cran.r-project.org/web/packages/cluster")
     (synopsis "Methods for cluster analysis")
@@ -586,14 +587,14 @@ and operations on them using LAPACK and SuiteSparse.")
 (define-public r-nlme
   (package
     (name "r-nlme")
-    (version "3.1-139")
+    (version "3.1-140")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "nlme" version))
        (sha256
         (base32
-         "0fap121c18nbznyzvnqvsdiszg2nbmkas6zhgrz1f8jiv1lzqq04"))))
+         "0k9x5j34fx093a023da9ny3b3101lbwpmfm27mkvfj950l22z88x"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lattice" ,r-lattice)))
@@ -802,13 +803,13 @@ effects of different types of color-blindness.")
 (define-public r-digest
   (package
     (name "r-digest")
-    (version "0.6.18")
+    (version "0.6.19")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "digest" version))
        (sha256
-        (base32 "0k3iv0r8wy8w7zchmgrnrqv3bc149075j4817kf0q521vi4f6vbj"))))
+        (base32 "1x6cbj9qvkk7pxv9xdqibazw3x8psjp6x0m0ildx1jwyb2ymkl98"))))
     (build-system r-build-system)
     ;; Vignettes require r-knitr, which requires r-digest, so we have to
     ;; disable them and the tests.
@@ -1225,19 +1226,19 @@ and to generate base64 encoded string from raster matrix.")
 (define-public r-svglite
   (package
     (name "r-svglite")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "svglite" version))
        (sha256
         (base32
-         "1bws3lc4hlhln11zd7lalhiyc43yk6c6vrzy41fkxk1dkjazfx51"))))
+         "1gwv51wqp6pgm2f9gavsiq65njs77fr49n8y6y9ax60k3a4vvg14"))))
     (build-system r-build-system)
-    (native-inputs  `(("r-rcpp" ,r-rcpp)))
     (propagated-inputs
      `(("r-bh" ,r-bh)
-       ("r-gdtools" ,r-gdtools)))
+       ("r-gdtools" ,r-gdtools)
+       ("r-rcpp" ,r-rcpp)))
     (home-page "https://github.com/hadley/svglite")
     (synopsis "SVG graphics device")
     (description
@@ -1447,13 +1448,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
 (define-public r-knitr
   (package
     (name "r-knitr")
-    (version "1.22")
+    (version "1.23")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "knitr" version))
               (sha256
                (base32
-                "1iks80g1cj25rvgyf0y2jc2pmfvsq4sbgdp788w9016bk71wzdcs"))))
+                "16ba4258c915xydhniw4cw7fvv1vp4cnwd1w49ykx7zw00rznfq6"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-evaluate" ,r-evaluate)
@@ -1695,13 +1696,13 @@ and printing capabilities than traditional data frames.")
 (define-public r-dplyr
   (package
     (name "r-dplyr")
-    (version "0.8.0.1")
+    (version "0.8.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "dplyr" version))
               (sha256
                (base32
-                "0p6dbjrgqyklc67g53v1a5xdp9x2jpcsdcs6v3djf9d366fqh244"))))
+                "1nw12hzk1jcac5879nfmf1yp98jpb3i59qkb8sfpk2cd6zqgfgjz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -2072,13 +2073,13 @@ jackknifed confidence intervals are available for most estimates.")
 (define-public r-rversions
   (package
     (name "r-rversions")
-    (version "1.1.0")
+    (version "2.0.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "rversions" version))
               (sha256
                (base32
-                "0g4wvq6m9inhy6ww18lvkhkgarb1m9dp2kdxkkyk5qvldgqa598l"))))
+                "0mkg9zrjxlbwqzijiysivrs523x48syqj30xdfp88clpkqfk435m"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-curl" ,r-curl)
@@ -2135,14 +2136,14 @@ R version.")
 (define-public r-checkmate
   (package
     (name "r-checkmate")
-    (version "1.9.1")
+    (version "1.9.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "checkmate" version))
        (sha256
         (base32
-         "1y4ylzn55kpyfpzcx9rxb9413d3ck6hair36ldl0ak61ia5kc75p"))))
+         "15ccwvmw73c2zz1k10k5zdn8px0rrbnvs1b4nzvlb0iwj7cimhp4"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-backports" ,r-backports)))
@@ -2201,14 +2202,14 @@ or source files in a key-value fashion.")
 (define-public r-batchjobs
   (package
     (name "r-batchjobs")
-    (version "1.7")
+    (version "1.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "BatchJobs" version))
        (sha256
         (base32
-         "035658marnw57p4f38g99rwmvmb6hpbq0fhlxp3qbw22zfnnkvs9"))))
+         "1zz4sspj596pijxlz321g0jy2rg9ki83j6fihbwisjwr66p2vk1m"))))
     (properties `((upstream-name . "BatchJobs")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2596,13 +2597,13 @@ well as additional utilities such as panel and axis annotation functions.")
 (define-public r-rcpparmadillo
   (package
     (name "r-rcpparmadillo")
-    (version "0.9.400.2.0")
+    (version "0.9.400.3.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppArmadillo" version))
               (sha256
                (base32
-                "01bf8jdlzndmqqzw16lpwx7zz1hkykd001dxxd9rzrgmn86f2xvs"))))
+                "1c0kmp54xgg67hxpqm8bibcxmmwljbdvm9p1d9wzirp83x86v4sn"))))
     (properties `((upstream-name . "RcppArmadillo")))
     (build-system r-build-system)
     ;; All needed for vignettes
@@ -3003,14 +3004,14 @@ statements.")
 (define-public r-segmented
   (package
     (name "r-segmented")
-    (version "0.5-3.0")
+    (version "0.5-4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "segmented" version))
        (sha256
         (base32
-         "0nrik5fyq59hwiwjcpbi4p5yfavgfjq6wyrynhkrbm4k6v1g1wlq"))))
+         "0wa0xjda2j33284jkp5hj1wdjysc5f4paj1s1lcixgawj4ckmxkz"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/segmented")
     (synopsis "Regression models with breakpoints estimation")
@@ -3161,13 +3162,13 @@ using the multicore functionality of the parallel package.")
 (define-public r-dt
   (package
     (name "r-dt")
-    (version "0.5")
+    (version "0.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "DT" version))
               (sha256
                (base32
-                "1s5d3sld4l8zygpkvprvlbqa0pm2cv1bm7h7p999wxlap28vnnqf"))))
+                "05kr88yshq6siarp5q7aapvsr63vx3p0aqablwgifn8m2sfqxmif"))))
     (properties
      `((upstream-name . "DT")))
     (build-system r-build-system)
@@ -3237,14 +3238,14 @@ analysis of large sparse or dense matrices.")
 (define-public r-glmnet
   (package
    (name "r-glmnet")
-   (version "2.0-16")
+   (version "2.0-18")
    (source
     (origin
      (method url-fetch)
      (uri (cran-uri "glmnet" version))
      (sha256
       (base32
-       "1brr51z1fzbpyj6myyir4g6dhbp6xwl7nx4xnvrjarnf5y0csk55"))))
+       "0sr5akaiaab1sdh9c8gfmc4kp9b4vqhd90d9ig0rqpqhp3bykp78"))))
    (build-system r-build-system)
    (inputs
     `(("gfortran" ,gfortran)))
@@ -3776,14 +3777,14 @@ and tidyr provides no margins or aggregation.")
 (define-public r-hexbin
   (package
     (name "r-hexbin")
-    (version "1.27.2")
+    (version "1.27.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "hexbin" version))
        (sha256
         (base32
-         "0lpfl0015lg5x7lvv9dr302bca22c7fs91pnd896ypgpzqg7pm26"))))
+         "14f181lw6sj5xhfxbrpyyinsjfl0nzqilq6z80lgrhj2cnkj593y"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lattice" ,r-lattice)))
@@ -4108,14 +4109,14 @@ hierarchical clustering dendrograms.")
 (define-public r-preprocesscore
   (package
     (name "r-preprocesscore")
-    (version "1.44.0")
+    (version "1.46.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "preprocessCore" version))
        (sha256
         (base32
-         "0ijyjqi8mxxf350dhvgp36swwww5ag7ac9a6r6ymihc5syjr4w4j"))))
+         "0iiyn42hlvmc5vabg5x15mls11124i23sh4qijwk0narh438cqm0"))))
     (properties
      `((upstream-name . "preprocessCore")))
     (build-system r-build-system)
@@ -4154,14 +4155,14 @@ existing packages provide.")
 (define-public r-sfsmisc
   (package
     (name "r-sfsmisc")
-    (version "1.1-3")
+    (version "1.1-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sfsmisc" version))
        (sha256
         (base32
-         "1y25nnw09qfm66523w1z4q766lv15a6ykvsq30r154n7m7aggvsq"))))
+         "0zaw617zarmwir8l60riky0z6r1j3mwfnm1f32vqcbljb74akdj4"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/sfsmisc")
     (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
@@ -4443,13 +4444,13 @@ data at that region, and avoids over-plotting.")
 (define-public r-ggthemes
   (package
     (name "r-ggthemes")
-    (version "4.1.1")
+    (version "4.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggthemes" version))
               (sha256
                (base32
-                "092hks6bxi6al8nclgswnzfmx5wp6n3qf63aqiajca7dx8w8n0m2"))))
+                "0rrkzfggc1nlda1w1lbqdycx6nawxbkac1szhvkwrqlzh6agxcsv"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
@@ -4817,14 +4818,14 @@ can be efficiently implemented directly in the R language.")
 (define-public r-robustbase
   (package
     (name "r-robustbase")
-    (version "0.93-4")
+    (version "0.93-5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "robustbase" version))
        (sha256
         (base32
-         "1q56y0iqp7qhavm4xnpzhs64q7l893y7yiq3b20fllpghka077pa"))))
+         "0mkzbsjl5nihyj7mzks14p6kr3spp44xvygjz4ran11gspdn9rdx"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -4833,7 +4834,7 @@ can be efficiently implemented directly in the R language.")
     (home-page "http://robustbase.r-forge.r-project.org/")
     (synopsis "Basic robust statistics")
     (description
-     "This packages allows to analyze data with robust methods such as
+     "This package allows to analyze data with robust methods such as
 regression methodology including model selections and multivariate statistics.")
     (license license:gpl2+)))
 
@@ -5396,14 +5397,14 @@ first and second order derivatives.")
 (define-public r-sn
   (package
     (name "r-sn")
-    (version "1.5-3")
+    (version "1.5-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sn" version))
        (sha256
         (base32
-         "10via4lg0vx9pzq350vwhz5wv1dhzxr2l3r6jq99nk37vmyvj8fc"))))
+         "0x46gxkplxbnhaqbpiav1r4xlv4ib7n57kxmca7scqwj22y7wrs6"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-mnormt" ,r-mnormt)
@@ -5411,7 +5412,7 @@ first and second order derivatives.")
     (home-page "http://azzalini.stat.unipd.it/SN")
     (synopsis "The skew-normal and skew-t distributions")
     (description
-     "This packages provides functionalities to build and manipulate
+     "This package provides functionalities to build and manipulate
 probability distributions of the skew-normal family and some related
 ones, notably the skew-t family, and provides related statistical
 methods for data fitting and diagnostics, in the univariate and the
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index b9f435cc57..25c27d6a9d 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -47,6 +47,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml))
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 136ffec9e7..51ed0317bc 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -37,11 +37,11 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages rsync)
   #:use-module (gnu packages selinux)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls))
 
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 5db822d8f9..acc9eda152 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -30,7 +30,7 @@
 (define-public syncthing
   (package
     (name "syncthing")
-    (version "1.1.1")
+    (version "1.1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/syncthing/syncthing"
@@ -38,7 +38,7 @@
                                   "/syncthing-source-v" version ".tar.gz"))
               (sha256
                (base32
-                "0xrlw95yp2p66rlvp2a2czf92m3hb3l8v3p39cwnaiw928y5i5m7"))
+                "0x2203xa4fxadj7ra7l2ac285j3gi1qgghpkssl4hkcq0kjmxqrk"))
               (modules '((guix build utils)))
               ;; Delete bundled ("vendored") free software source code.
               (snippet '(begin
@@ -112,7 +112,6 @@
 
     (arguments
      `(#:import-path "github.com/syncthing/syncthing"
-       #:unpack-path "github.com/syncthing"
        ;; We don't need to install the source code for end-user applications.
        #:install-source? #f
        #:phases
@@ -193,7 +192,7 @@ Protocol.")
       (arguments
        `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
       (synopsis "Port mapping and discovery of external IP address")
-      (description "This packages provides a Go client for the NAT-PMP internet
+      (description "This package provides a Go client for the NAT-PMP internet
 protocol for port mapping and discovering the external IP address of a
 firewall.")
       (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
@@ -336,7 +335,7 @@ structs in the Go programming language.")
       (arguments
         `(#:import-path "github.com/gobwas/glob"))
       (synopsis "Go globbing library")
-      (description "This packages provides a Go implementation of globs.")
+      (description "This package provides a Go implementation of globs.")
       (home-page "https://github.com/gobwas/glob")
       (license expat))))
 
@@ -436,7 +435,7 @@ address of the default LAN gateway.")
        ;; Postgres instance.
        #:tests? #f))
     (synopsis "Golang Postgres driver for Go's database/sql")
-    (description "This packages provides a pure Go Postgres driver for Go's
+    (description "This package provides a pure Go Postgres driver for Go's
 database/sql package.")
     (home-page "https://github.com/lib/pq")
     (license expat)))
@@ -463,7 +462,7 @@ database/sql package.")
      `(#:import-path "github.com/oschwald/geoip2-golang"
        #:tests? #f)) ; Requires some unpackaged software and test data
     (synopsis "MaxMind GeoIP2 reader")
-    (description "This packages provides a library for reading MaxMind
+    (description "This package provides a library for reading MaxMind
 GeoLite2 and GeoIP2 databases in Go.")
     (home-page "https://github.com/oschwald/geoip2-golang")
     (license isc)))
@@ -757,7 +756,7 @@ hashes.")
     (arguments
      `(#:import-path "github.com/pkg/errors"))
     (synopsis "Go error handling primitives")
-    (description "This packages provides @code{error}, which offers simple
+    (description "This package provides @code{error}, which offers simple
 error handling primitives in Go.")
     (home-page "https://github.com/pkg/errors")
     (license bsd-2)))
@@ -782,7 +781,7 @@ error handling primitives in Go.")
       (arguments
        '(#:import-path "github.com/petermattis/goid"))
       (synopsis "Identify the running goroutine")
-      (description "This package offers a method of programatically retrieving
+      (description "This package offers a method of programmatically retrieving
 the current goroutine's ID.")
       (home-page "https://github.com/petermattis/goid")
       (license asl2.0))))
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 370c0f425e..b8f324274a 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -28,15 +28,16 @@
 (define-public tbb
   (package
     (name "tbb")
-    (version "2019_U5")
+    (version "2019_U6")
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url "https://github.com/01org/tbb")
                     (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0390da1iya2mvn3ribjb1f8yvzsqsf5b16wn6dqbjxcz0crmwlzk"))
+                "1zbf06l659vq6s5wp3ln96ycwcd42caffan5vilqvqyxqvjljyic"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index a3ea05538b..84454b2e0e 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -68,6 +69,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages xdisorg)
@@ -688,8 +690,8 @@ desktop installed to have a decent terminal emulator.")
     (license license:gpl2)))
 
 (define-public go-github.com-nsf-termbox-go
-  (let ((commit "4ed959e0540971545eddb8c75514973d670cf739")
-        (revision "0"))
+  (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3")
+        (revision "1"))
     (package
       (name "go-github.com-nsf-termbox-go")
       (version (git-version "0.0.0" revision commit))
@@ -701,7 +703,7 @@ desktop installed to have a decent terminal emulator.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1vx64i1mg660if3wwm81p4b7lzxfb3qbr39i7misdyld3fc486p9"))))
+                  "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4"))))
       (build-system go-build-system)
       (arguments
        '(#:import-path "github.com/nsf/termbox-go"))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 2287a2ff08..765eaf4be4 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4921,13 +4921,13 @@ than the bitmaps Metafont creates.")
 (define-public texlive-latex-acmart
   (package
     (name "texlive-latex-acmart")
-    (version "1.45")
+    (version "1.60")
     (source (origin
               (method svn-fetch)
               (uri (texlive-ref "latex" "acmart"))
               (sha256
                (base32
-                "10zs8ga88ksypv1v4p6mynmfa7749q2hgxlr4shnwfjd9wrb421q"))
+                "0n62cs8dhcbn29y9ij1nnyigzr76yhk36kyahhqkkmvbafbys9s7"))
               (file-name (string-append name "-" version "-checkout"))))
     (build-system texlive-build-system)
     (arguments '(#:tex-directory "latex/acmart"))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index da5cd011d8..c204fb9b92 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -364,7 +364,7 @@ as existing hashing techniques, with provably negligible risk of collisions.")
 (define-public oniguruma
   (package
     (name "oniguruma")
-    (version "6.9.1")
+    (version "6.9.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/kkos/"
@@ -372,7 +372,7 @@ as existing hashing techniques, with provably negligible risk of collisions.")
                                   "/onig-" version ".tar.gz"))
               (sha256
                (base32
-                "04pa6dk946xbzy8wz6d2zrpjwhks6559n8zc5ngwr9a5psvzxhy7"))))
+                "0slp4hpw9qxk4xhn7abyw7065sd355xwkyfq72glxczcjsqxsynv"))))
     (build-system gnu-build-system)
     (home-page "https://github.com/kkos/oniguruma")
     (synopsis "Regular expression library")
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index b2add0ec9e..1052d588f3 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -59,6 +59,7 @@
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages time)
   #:use-module (gnu packages base)
@@ -493,13 +494,13 @@ netcat implementation that supports TLS.")
   (package
     (name "python-acme")
     ;; Remember to update the hash of certbot when updating python-acme.
-    (version "0.33.1")
+    (version "0.34.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "acme" version))
               (sha256
                (base32
-                "10ks4wp55qxzkf8ms3xcfs5njg2zz7w499wh24gzw7h7s1qxp35k"))))
+                "0anwc102fmlva6x2k1bxrgdb7mi1jy9wgrqjzvk2nam8pky0snxx"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -550,7 +551,7 @@ netcat implementation that supports TLS.")
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1nf3bb6j3nmdd5bcp3k7d6jqilmwvpzllzpr5niwaghgqlr3y86m"))))
+                "1fy91rnq4wwblp5gi2qb2c3xk6j2w1maf5f52228pk8cn7f2swrh"))))
     (build-system python-build-system)
     (arguments
      `(,@(substitute-keyword-arguments (package-arguments python-acme)
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 91d0af6313..c1e136915b 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -23,7 +23,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages tmux)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -58,7 +58,7 @@
 windows), each running a separate program, to be created, accessed, and
 controlled from a single screen.  tmux may be detached from a screen and
 continue running in the background, then later reattached.")
-    (license isc)))
+    (license license:isc)))
 
 (define-public tmux-themepack
   (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48")
@@ -90,8 +90,7 @@ continue running in the background, then later reattached.")
       (home-page "https://github.com/jimeh/tmux-themepack")
       (synopsis "Collection of themes for Tmux")
       (description "A collection of various themes for Tmux.")
-      (license
-       (non-copyleft "http://www.wtfpl.net/txt/copying/")))))
+      (license license:wtfpl2))))
 
 (define-public tmuxifier
   (package
@@ -136,7 +135,7 @@ continue running in the background, then later reattached.")
 @code{layout} files, which are simple shell scripts where you use the tmux
 command and helper commands provided by tmuxifier to manage Tmux sessions and
 windows.")
-    (license expat)))
+    (license license:expat)))
 
 (define-public tmux-xpanes
   (package
@@ -183,4 +182,4 @@ following features:
 @item Display pane title on each pane.
 @item Generate command lines from standard input (Pipe mode).
 @end itemize")
-    (license expat)))
+    (license license:expat)))
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index a24923c045..25bd520d6b 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -49,18 +49,15 @@
 (define-public tor
   (package
     (name "tor")
-    (version "0.3.4.11")
+    (version "0.4.0.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://dist.torproject.org/tor-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "04l42k86y5saab4ijnkd8vjvd0lvrkrg359ddkir5gwgfb3mvijq"))))
+               "0vk9j3ybz5dwwbmqrdj1bjcsxy76pc8frmfvflkdzwfkvkqcp8mm"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:configure-flags (list "--enable-gcc-hardening"
-                               "--enable-linker-hardening")))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python-2)))           ; for tests
diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm
index f1584c896a..da912dc465 100644
--- a/gnu/packages/valgrind.scm
+++ b/gnu/packages/valgrind.scm
@@ -32,7 +32,7 @@
 (define-public valgrind
   (package
     (name "valgrind")
-    (version "3.14.0")
+    (version "3.15.0")
     (source (origin
               (method url-fetch)
               (uri (list (string-append "http://www.valgrind.org/downloads"
@@ -41,7 +41,7 @@
                                         "/valgrind-" version ".tar.bz2")))
               (sha256
                (base32
-                "19ds42jwd89zrsjb94g7gizkkzipn8xik3xykrpcqxylxyzi2z03"))
+                "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21"))
               (patches (search-patches "valgrind-enable-arm.patch"))))
     (build-system gnu-build-system)
     (outputs '("doc"                              ;16 MB
@@ -79,18 +79,3 @@ tools.  There are Valgrind tools that can automatically detect many memory
 management and threading bugs, and profile your programs in detail.  You can
 also use Valgrind to build new tools.")
     (license gpl2+)))
-
-(define-public valgrind-3.15
-  (package
-    (inherit valgrind)
-    (version "3.15.0")
-    (source (origin
-              (method url-fetch)
-              (uri (list (string-append "http://www.valgrind.org/downloads"
-                                        "/valgrind-" version ".tar.bz2")
-                         (string-append "ftp://sourceware.org/pub/valgrind"
-                                        "/valgrind-" version ".tar.bz2")))
-              (sha256
-               (base32
-                "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21"))
-              (patches (search-patches "valgrind-enable-arm.patch"))))))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3b993e09aa..938fdac227 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
 ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -93,6 +94,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages sync)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
@@ -522,7 +524,7 @@ everything from small to very large projects with speed and efficiency.")
 (define-public libgit2
   (package
     (name "libgit2")
-    (version "0.28.1")
+    (version "0.28.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -531,7 +533,7 @@ everything from small to very large projects with speed and efficiency.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0j5p0hhz2wizvgkf0nbpd8g32mb5bg1vp8ckpbhb0pq38ja4h43r"))
+                "0cm8fvs05rj0baigs2133q5a0sm3pa234y8h6hmwhl2bz9xq3k4b"))
               (patches (search-patches "libgit2-avoid-python.patch"
                                        "libgit2-mtime-0.patch"))
 
@@ -1221,14 +1223,14 @@ control to Git repositories.")
 (define-public mercurial
   (package
     (name "mercurial")
-    (version "4.7.2")
+    (version "5.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://www.mercurial-scm.org/"
                                  "release/mercurial-" version ".tar.gz"))
              (sha256
               (base32
-               "1yq9r8s9jzj8hk2yizjk25s4w16yx9b8mbdj6wp8ld7j2r15kw4p"))))
+               "0akivl76sb4q2s42zncrm8jcsn86718wdcngfcw8i6wd2fh7dv2l"))))
     (build-system python-build-system)
     (arguments
      `(;; Restrict to Python 2, as Python 3 would require
@@ -1533,14 +1535,14 @@ reviewing large, complex patch files.")
 (define-public cssc
   (package
     (name "cssc")
-    (version "1.4.0")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/" name "/CSSC-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "15191dh8hr46cvssmv4v52gymiiyk6ca9j1bfimlqakcqab6y51h"))))
+                "1vsisqq573xjr2qpn19iwmpqgl3mq03m790akpa4rvj60b4d1gni"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1877,6 +1879,48 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
 repository\" with git-annex.")
     (license license:gpl3+)))
 
+(define-public git-annex-remote-rclone
+  (package
+    (name "git-annex-remote-rclone")
+    (version "0.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/DanielDent/git-annex-remote-rclone.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0j0hlxji8d974fq7zd4xc02n0jpi31ylhxc7z4zp8iiwad5mkpxp"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((bash (string-append (assoc-ref %build-inputs "bash")
+                                    "/bin/bash"))
+               (rclone (string-append (assoc-ref %build-inputs "rclone")
+                                      "/bin/rclone")))
+           (copy-file (string-append (assoc-ref %build-inputs "source")
+                                     "/git-annex-remote-rclone")
+                      "git-annex-remote-rclone")
+           (substitute* "git-annex-remote-rclone"
+             (("/bin/bash") bash)
+             (("runcmd rclone") (string-append "runcmd " rclone)))
+           (install-file "git-annex-remote-rclone"
+                         (string-append %output "/bin"))
+           #t))))
+    (inputs
+     `(("bash" ,bash)
+       ("rclone" ,rclone)))
+    (home-page "https://github.com/DanielDent/git-annex-remote-rclone")
+    (synopsis "Use rclone-supported cloud storage providers with git-annex")
+    (description "This wrapper around rclone makes any destination supported
+by rclone usable with git-annex.")
+    (license license:gpl3+)))
+
 (define-public fossil
   (package
     (name "fossil")
@@ -2159,7 +2203,7 @@ interrupted, published, and collaborated on while in progress.")
 (define-public git-lfs
   (package
     (name "git-lfs")
-    (version "2.7.1")
+    (version "2.7.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2168,7 +2212,7 @@ interrupted, published, and collaborated on while in progress.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "10v38w8qfz0x8750kv31n8gg2dimvq4wz40m374pd1xaypfs9670"))))
+                "1nf40rbdz901vsahg5cm09pznpina6wimmxl0lmh8pn0mi51yzvc"))))
     (build-system go-build-system)
     (arguments
      '(#:import-path "github.com/git-lfs/git-lfs"))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 420d37f020..c5b83c8c8c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -26,7 +26,7 @@
 ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2018, 2019 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
@@ -700,7 +700,7 @@ libebml is a C++ library to read and write EBML files.")
 (define-public libva
   (package
     (name "libva")
-    (version "2.4.0")
+    (version "2.4.1")
     (source
      (origin
        (method url-fetch)
@@ -712,7 +712,7 @@ libebml is a C++ library to read and write EBML files.")
              (string-append "https://www.freedesktop.org/software/vaapi/releases/"
                             "libva/libva-" version "/libva-" version ".tar.bz2")))
        (sha256
-        (base32 "14ckq67z3pcd7jrnrm3ckss440g6dzp2m0ff5rps54qmq9b309lr"))))
+        (base32 "0w7fkkrnfizzglviybxiyhxcvd3mfsiqlpda7rwj3ccihn857q79"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -1446,7 +1446,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2019.04.30")
+    (version "2019.05.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@@ -1454,7 +1454,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1s43adnky8ayhjwmgmiqy6rmmygd4c23v36jhy2lzr2jpn8l53z1"))))
+                "1y272jgdqwhf2njzqfln80zb2pmw83rvp6lxza6wghb7cld249j1"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index dadffa3ab1..8789060b3c 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 HiPhish <hiphish@posteo.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -729,16 +730,17 @@ are detected, the user is notified.")))
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.3.4")
+    (version "0.3.5")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/neovim/neovim/"
-                           "archive/v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/neovim/neovim")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "03mwfhr9rq86p8lypbdfyl7c7xyn6nzv2ipd8jc33bxzvs5i0hd6"))))
+         "113lrr9gwimvvzlkwlishm4cjqcf30xq9jfxn7vh41ckgnbiwf3w"))))
     (build-system cmake-build-system)
     (arguments
      `(#:modules ((srfi srfi-26)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0c8e8e85b8..0c607e60c8 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -244,13 +244,13 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer
 (define-public openconnect
   (package
    (name "openconnect")
-   (version "8.02")
+   (version "8.03")
    (source (origin
             (method url-fetch)
             (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/"
                                 "openconnect-" version ".tar.gz"))
             (sha256 (base32
-                     "04p0vzc1791h68hd9803wsyb64zrwm8qpdqx0szhj9pig71g5a0w"))))
+                     "1wlypi68kqqg2mdck8wvf6aanhrmf9i7z6lngyxvcrp23jdzz34h"))))
    (build-system gnu-build-system)
    (inputs
     `(("libxml2" ,libxml2)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 60a9661040..2e5605657e 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -120,7 +120,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
 (define-public glslang
   (package
     (name "glslang")
-    (version "7.11.3188")
+    (version "7.11.3214")
     (source
      (origin
        (method git-fetch)
@@ -129,7 +129,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
              (commit version)))
        (sha256
         (base32
-         "04y4dd1cqdkd4qffmhgmg3agf9j07ii2w38vpp4jw53ir818bqdq"))
+         "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins"))
        (file-name (string-append name "-" version "-checkout"))))
     (build-system cmake-build-system)
     (arguments
@@ -159,7 +159,7 @@ interpretation of the specifications for these languages.")
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.1.106")
+    (version "1.1.107")
     (source
      (origin
        (method git-fetch)
@@ -169,7 +169,7 @@ interpretation of the specifications for these languages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0idw7q715ikj575qmspvgq2gzc6c1sj581b8z3xnv6wz9qbzrmsd"))))
+         "0kyf83n6fghqmjj5jbwhy08yq5sl598qnmw3kbavrnw9avqqm0c4"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
@@ -193,7 +193,7 @@ interpretation of the specifications for these languages.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ypjd2gfxdwldnqrrqy6bnjln5mml62a9k5pfi451srcxznijjai"))))
+         "1p64k9x5r7nsrs0cn6d61687xbajqvsm78xk6j85w9wfin5dxs30"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
@@ -244,7 +244,7 @@ and the ICD.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0swqyk16mbkivyk79dpqbhpw05a7yrakqynywznr5zgqbc0z4gj8"))))
+         "1mak96jdg3wv043b4jxyv1fm2cz4nnallg0yb90my3yp5q64grrw"))))
     (build-system cmake-build-system)
     (inputs
      `(("glslang" ,glslang)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 6bbd903578..cb281920e9 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -368,7 +368,7 @@ driven and does not detract you from your daily work.")
 (define-public next-gtk-webkit
   (package
     (name "next-gtk-webkit")
-    (version "1.2.0")
+    (version "1.2.2")
     (source
      (origin
        (method git-fetch)
@@ -377,7 +377,7 @@ driven and does not detract you from your daily work.")
              (commit version)))
        (sha256
         (base32
-         "0a066f56hnb9znbwnv1blm31j0ysv05n4wzlkli0zgw087c9047x"))
+         "1bif1k738knhifxhkn0d2x1m521zkx40pri44vyjqncp9r95hkbk"))
        (file-name (git-file-name "next" version))))
     (build-system glib-or-gtk-build-system)
     (arguments
@@ -455,6 +455,10 @@ features for productive professionals.")
        ;; Lisp libraries:
        ("trivial-features" ,sbcl-trivial-features)
        ("alexandria" ,sbcl-alexandria)
+       ("anaphora" ,sbcl-anaphora)
+       ("closer-mop" ,sbcl-closer-mop)
+       ("log4cl" ,sbcl-log4cl)
+       ("find-port" ,sbcl-find-port)
        ("cl-strings" ,sbcl-cl-strings)
        ("cl-string-match" ,sbcl-cl-string-match)
        ("puri" ,sbcl-puri)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 6d591b88cb..6ddeb48d2c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -31,6 +31,7 @@
 ;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Brendan Tildesley <mail@brendan.scot>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -49,7 +50,7 @@
 
 (define-module (gnu packages web)
   #:use-module (ice-9 match)
-  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -73,6 +74,7 @@
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages cyrus-sasl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages bison)
@@ -115,13 +117,13 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
-  #:use-module (gnu packages valgrind)
-  #:use-module (gnu packages xml)
-  #:use-module (gnu packages curl)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages valgrind)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages xml))
 
 (define-public httpd
   (package
@@ -158,7 +160,7 @@ freely-available source code implementation of an HTTP (Web) server.  The
 project is jointly managed by a group of volunteers located around the world,
 using the Internet and the Web to communicate, plan, and develop the server
 and its related documentation.")
-    (license l:asl2.0)
+    (license license:asl2.0)
     (home-page "https://httpd.apache.org/")))
 
 (define-public mod-wsgi
@@ -189,7 +191,7 @@ and its related documentation.")
      "The mod_wsgi module for the Apache HTTPD Server adds support for running
 applications that support the Python @acronym{WSGI, Web Server Gateway
 Interface} specification.")
-    (license l:asl2.0)
+    (license license:asl2.0)
     (home-page "https://modwsgi.readthedocs.io/")))
 
 (define-public nginx
@@ -199,14 +201,14 @@ Interface} specification.")
     ;; ’stable’ and recommends that “in general you deploy the NGINX mainline
     ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
     ;; Consider updating the nginx-documentation package together with this one.
-    (version "1.15.12")
+    (version "1.17.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1giavdph0jqhywdkj4650s5qhz6qfd6nrv74k9q005yy2ym90nrx"))))
+                "1aqgmrjzmklmv2iiyirk2h0hy35v1a76gczhjkxnms2krl35s6z2"))))
     (build-system gnu-build-system)
     (inputs `(("openssl" ,openssl)
               ("pcre" ,pcre)
@@ -285,7 +287,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
     ;;   * The 'nginx-http-push' module is covered by the expat license.
     ;;   * The 'nginx-development-kit' module is mostly covered by bsd-3,
     ;;     except for two source files which are bsd-4 licensed.
-    (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4))))
+    (license (list license:bsd-2 license:expat license:bsd-3 license:bsd-4))))
 
 (define nginx-xslscript
   (let ((revision 11)
@@ -327,7 +329,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
        "XSLScript is a terse notation for writing complex XSLT stylesheets.
 This is modified version, specifically intended for use with the NGinx
 documentation.")
-      (license l:bsd-2))))
+      (license license:bsd-2))))
 
 (define-public nginx-documentation
   ;; This documentation should be relevant for nginx@1.15.9.
@@ -380,7 +382,7 @@ documentation.")
       (synopsis "Documentation for the nginx web server")
       (description
        "This package provides HTML documentation for the nginx web server.")
-      (license l:bsd-2))))
+      (license license:bsd-2))))
 
 (define-public fcgi
   (package
@@ -408,7 +410,7 @@ that provides high performance without the limitations of server specific
 APIs.")
     ;; This package is released under the Open Market License, a variant of
     ;; the Expat license, incompatible with the GPL.
-    (license (l:non-copyleft "file://LICENSE.TERMS"))))
+    (license (license:non-copyleft "file://LICENSE.TERMS"))))
 
 (define-public fcgiwrap
   (package
@@ -438,7 +440,7 @@ APIs.")
     (description "Fcgiwrap is a simple server for running CGI applications
 over FastCGI.  It hopes to provide clean CGI support to Nginx (and other web
 servers that may need it).")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public starman
   (package
@@ -470,7 +472,7 @@ servers that may need it).")
     (description "Starman is a PSGI perl web server that has unique features
 such as high performance, preforking, signal support, superdaemon awareness,
 and UNIX socket support.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public icedtea-web
   (package
@@ -506,7 +508,7 @@ Protocol}, also known as Java Web Start.  This package provides tools and
 libraries for working with JNLP applets.")
     ;; The program is mainly GPL2+, with some individual files under LGPL2.1+
     ;; or dual licenses.
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public jansson
   (package
@@ -528,7 +530,7 @@ libraries for working with JNLP applets.")
     (description
      "Jansson is a C library for encoding, decoding and manipulating JSON
 data.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public json-c
   (package
@@ -559,7 +561,7 @@ data.")
 easily construct JSON objects in C, output them as JSON-formatted strings and
 parse JSON-formatted strings back into the C representation of JSON objects.
 It aims to conform to RFC 7159.")
-    (license l:x11)))
+    (license license:x11)))
 
 ;; TODO: remove this old version when all dependents have been updated.
 (define-public json-c-0.12
@@ -616,7 +618,7 @@ project)
 @item Never recurses or allocates more memory than it needs
 @item Very simple API with operator sugar for C++
 @end itemize")
-    (license l:bsd-2)))
+    (license license:bsd-2)))
 
 (define-public qjson
   (package
@@ -656,7 +658,7 @@ project)
 @code{QVariant} objects.  JSON arrays will be mapped to @code{QVariantList}
 instances, while JSON's objects will be mapped to @code{QVariantMap}.")
     ;; Only version 2.1 of the license
-    (license l:lgpl2.1)))
+    (license license:lgpl2.1)))
 
 (define-public krona-tools
   (package
@@ -743,7 +745,7 @@ hierarchical data, such as metagenomic classifications, using a radial,
 space-filling display.  It is implemented using HTML5 and JavaScript, allowing
 charts to be explored locally or served over the Internet, requiring only a
 current version of any major web browser.")
-   (license l:bsd-3)))
+   (license license:bsd-3)))
 
 (define-public rapidjson
   (package
@@ -783,7 +785,7 @@ current version of any major web browser.")
     (description
      "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
 style API.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libyajl
   (package
@@ -812,7 +814,7 @@ style API.")
     (description
      "Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON
 parser written in ANSI C and a small validating JSON generator.")
-    (license l:isc)))
+    (license license:isc)))
 
 (define-public libwebsockets
   (package
@@ -848,12 +850,12 @@ for efficient socket-like bidirectional reliable communication channels.")
     (home-page "http://libwebsockets.org/")
 
     ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
-    (license l:lgpl2.1)))
+    (license license:lgpl2.1)))
 
 (define-public libpsl
   (package
     (name "libpsl")
-    (version "0.20.2")
+    (version "0.21.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/rockdaboot/libpsl/"
@@ -861,7 +863,7 @@ for efficient socket-like bidirectional reliable communication channels.")
                                   "/libpsl-" version ".tar.gz"))
               (sha256
                (base32
-                "03sn3fbcrmgl9x2f1gc6rbrdlbrnwbhrnkgi733gqb95cvmhmzgq"))))
+                "04pfagb7ppq3yibx4lhazd1v9nwkxdfkyy2rgcrmrf3mldsirga1"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -886,7 +888,7 @@ domain verification, finds the longest public part of a given domain, finds
 the shortest private part of a given domain, works with international
 domains (UTF-8 and IDNA2008 Punycode), is thread-safe, and handles IDNA2008
 UTS#46.")
-    (license l:x11)))
+    (license license:x11)))
 
 (define-public tidy
   (package
@@ -922,7 +924,7 @@ UTS#46.")
     (description "HTML Tidy is a command-line tool and C library that can be
 used to validate and fix HTML data.")
     (home-page "http://tidy.sourceforge.net/")
-    (license (l:x11-style "file:///include/tidy.h"))))
+    (license (license:x11-style "file:///include/tidy.h"))))
 
 (define-public tinyproxy
   (package
@@ -957,7 +959,7 @@ daemon.  Designed from the ground up to be fast and yet small, it is an ideal
 solution for use cases such as embedded deployments where a full featured HTTP
 proxy is required, but the system resources for a larger proxy are
 unavailable.")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public polipo
   (package
@@ -990,7 +992,7 @@ unavailable.")
      "Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy
 server).  It was primarily designed to be used by one person or a small group
 of people.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public websockify
   (package
@@ -1020,7 +1022,7 @@ of people.")
 traffic.  Websockify accepts the WebSockets handshake, parses it, and then
 begins forwarding traffic between the client and the target in both
 directions.")
-    (license l:lgpl3)))
+    (license license:lgpl3)))
 
 (define-public wwwoffle
   (package
@@ -1048,7 +1050,7 @@ intermittent internet links.  It can cache HTTP, HTTPS, FTP, and finger
 protocols, and supports browsing and requesting pages while offline, indexing,
 modifying pages and incoming and outgoing headers, monitoring pages for
 changes, and much more.")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public liboauth
   (package
@@ -1076,7 +1078,7 @@ specifications and offers high-level functionality built on top to sign
 requests or verify signatures using either NSS or OpenSSL for calculating the
 hash/signatures.")
     ;; Source code may be distributed under either license.
-    (license (list l:expat l:gpl2+))))
+    (license (list license:expat license:gpl2+))))
 
 (define-public libyaml
   (package
@@ -1096,7 +1098,7 @@ hash/signatures.")
     (synopsis "YAML 1.1 parser and emitter written in C")
     (description
      "LibYAML is a YAML 1.1 parser and emitter written in C.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libquvi-scripts
   (package
@@ -1115,7 +1117,7 @@ hash/signatures.")
     (synopsis "Media stream URL parser")
     (description "This package contains support scripts called by libquvi to
 parse media stream properties.")
-    (license l:lgpl2.1+)))
+    (license license:lgpl2.1+)))
 
 (define-public libquvi
   (package
@@ -1149,7 +1151,7 @@ parse media stream properties.")
     (synopsis "Media stream URL parser")
     (description "libquvi is a library with a C API for parsing media stream
 URLs and extracting their actual media files.")
-    (license l:lgpl2.1+)))
+    (license license:lgpl2.1+)))
 
 (define-public quvi
   (package
@@ -1172,7 +1174,7 @@ URLs and extracting their actual media files.")
     (synopsis "Media stream URL parser")
     (description "quvi is a command-line-tool suite to extract media files
 from streaming URLs.  It is a command-line wrapper for the libquvi library.")
-    (license l:lgpl2.1+)))
+    (license license:lgpl2.1+)))
 
 (define-public serf
   (package
@@ -1250,7 +1252,7 @@ communication asynchronously.  Memory copies and transformations are kept to a
 minimum to provide high performance operation.")
     ;; Most of the code is covered by the Apache License, Version 2.0, but the
     ;; bundled CuTest framework uses a different non-copyleft license.
-    (license (list l:asl2.0 (l:non-copyleft "file://test/CuTest-README.txt")))))
+    (license (list license:asl2.0 (license:non-copyleft "file://test/CuTest-README.txt")))))
 
 (define-public libsass
   (package
@@ -1284,7 +1286,7 @@ minimum to provide high performance operation.")
 library designed for portability and efficiency.  To actually compile SASS
 stylesheets, you'll need to use another program that uses this library,
 @var{sassc} for example.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public sassc
   (package
@@ -1333,7 +1335,7 @@ stylesheets, you'll need to use another program that uses this library,
     (description "SassC is a compiler written in C for the CSS pre-processor
 language known as SASS.")
     (home-page "http://sass-lang.com/libsass")
-    (license l:expat)))
+    (license license:expat)))
 
 
 (define-public perl-apache-logformat-compiler
@@ -1361,7 +1363,7 @@ language known as SASS.")
     (synopsis "Compile a log format string to perl-code")
     (description "This module provides methods to compile a log format string
 to perl-code, for faster generation of access_log lines.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-authen-sasl
   (package
@@ -1389,7 +1391,7 @@ to perl-code, for faster generation of access_log lines.")
     (home-page "https://metacpan.org/release/Authen-SASL")
     (synopsis "SASL authentication framework")
     (description "Authen::SASL provides an SASL authentication framework.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-action-renderview
   (package
@@ -1416,7 +1418,7 @@ to perl-code, for faster generation of access_log lines.")
     (synopsis "Sensible default Catalyst action")
     (description "This Catalyst action implements a sensible default end
 action, which will forward to the first available view.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-action-rest
   (package
@@ -1452,7 +1454,7 @@ REST requests.  It takes a normal Catalyst action, and changes the dispatch to
 append an underscore and method name.  First it will try dispatching to an
 action with the generated name, and failing that it will try to dispatch to a
 regular method.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-authentication-store-dbix-class
   (package
@@ -1488,7 +1490,7 @@ regular method.")
     (description "The Catalyst::Authentication::Store::DBIx::Class class
 provides access to authentication information stored in a database via
 DBIx::Class.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-component-instancepercontext
   (package
@@ -1514,7 +1516,7 @@ DBIx::Class.")
     (synopsis "Create only one instance of Moose component per context")
     (description "Catalyst::Component::InstancePerContext returns a new
 instance of a component on each request.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-devel
   (package
@@ -1556,7 +1558,7 @@ to run them.  Catalyst-Devel includes the Catalyst::Helper system, which
 autogenerates scripts and tests; Module::Install::Catalyst, a Module::Install
 extension for Catalyst; and requirements for a variety of development-related
 modules.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-dispatchtype-regex
   (package
@@ -1586,7 +1588,7 @@ core.  It is recommend that you use Chained methods or other techniques
 instead.  As part of the refactoring, the dispatch priority of Regex vs Regexp
 vs LocalRegex vs LocalRegexp may have changed.  Priority is now influenced by
 when the dispatch type is first seen in your application.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-model-dbic-schema
   (package
@@ -1632,7 +1634,7 @@ when the dispatch type is first seen in your application.")
   (synopsis "DBIx::Class::Schema Model Class")
   (description "This is a Catalyst Model for DBIx::Class::Schema-based
 Models.")
-  (license l:perl-license)))
+  (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-accesslog
   (package
@@ -1657,7 +1659,7 @@ Models.")
     (description "This Catalyst plugin enables you to create \"access logs\"
 from within a Catalyst application instead of requiring a webserver to do it
 for you.  It will work even with Catalyst debug logging turned off.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-authentication
   (package
@@ -1693,7 +1695,7 @@ for you.  It will work even with Catalyst debug logging turned off.")
 Catalyst apps.  It is the basis for both authentication (checking the user is
 who they claim to be), and authorization (allowing the user to do what the
 system authorises them to do).")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-authorization-roles
   (package
@@ -1723,7 +1725,7 @@ system authorises them to do).")
     (synopsis "Role-based authorization for Catalyst")
     (description "Catalyst::Plugin::Authorization::Roles provides role-based
 authorization for Catalyst based on Catalyst::Plugin::Authentication.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-captcha
   (package
@@ -1747,7 +1749,7 @@ authorization for Catalyst based on Catalyst::Plugin::Authentication.")
     (synopsis "Captchas for Catalyst")
     (description "This plugin creates and validates Captcha images for
 Catalyst.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-configloader
   (package
@@ -1776,7 +1778,7 @@ Catalyst.")
     (description "This module will attempt to load find and load configuration
 files of various types.  Currently it supports YAML, JSON, XML, INI and Perl
 formats.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-session
   (package
@@ -1807,7 +1809,7 @@ formats.")
     (synopsis "Catalyst generic session plugin")
     (description "This plugin links the two pieces required for session
 management in web applications together: the state, and the store.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-session-state-cookie
   (package
@@ -1838,7 +1840,7 @@ management in web applications together: the state, and the store.")
 ID needs to be stored on the client, and the session data needs to be stored
 on the server.  This plugin stores the session ID on the client using the
 cookie mechanism.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-session-store-fastmmap
   (package
@@ -1868,7 +1870,7 @@ cookie mechanism.")
     (description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
 storage plugin for Catalyst that uses an mmap'ed file to act as a shared
 memory interprocess cache.  It is based on Cache::FastMmap.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-stacktrace
   (package
@@ -1895,7 +1897,7 @@ memory interprocess cache.  It is based on Cache::FastMmap.")
 including a stack trace of your application up to the point where the error
 occurred.  Each stack frame is displayed along with the package name, line
 number, file name, and code context surrounding the line number.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-plugin-static-simple
   (package
@@ -1927,7 +1929,7 @@ looking at the file extension in the URL (such as .css or .png or .js).  The
 plugin uses the lightweight MIME::Types module to map file extensions to
 IANA-registered MIME types, and will serve your static files with the correct
 MIME type directly to the browser, without being processed through Catalyst.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-runtime
   (package
@@ -1987,7 +1989,7 @@ MIME type directly to the browser, without being processed through Catalyst.")
 It is designed to make it easy to manage the various tasks you need to do to
 run an application on the web, either by doing them itself, or by letting you
 \"plug in\" existing Perl modules that do what you need.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-traitfor-request-proxybase
   (package
@@ -2019,7 +2021,7 @@ run an application on the web, either by doing them itself, or by letting you
 flexibility in your application's deployment configurations when deployed
 behind a proxy.  Using this module, the request base ($c->req->base) is
 replaced with the contents of the X-Request-Base header.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-view-download
   (package
@@ -2046,7 +2048,7 @@ replaced with the contents of the X-Request-Base header.")
     (description "The purpose of this module is to provide a method for
 downloading data into many supportable formats.  For example, downloading a
 table based report in a variety of formats (CSV, HTML, etc.).")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-view-json
   (package
@@ -2072,7 +2074,7 @@ table based report in a variety of formats (CSV, HTML, etc.).")
     (synopsis "Catalyst JSON view")
     (description "Catalyst::View::JSON is a Catalyst View handler that returns
 stash data in JSON format.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalyst-view-tt
   (package
@@ -2099,7 +2101,7 @@ stash data in JSON format.")
   (synopsis "Template View Class")
   (description "This module is a Catalyst view class for the Template
 Toolkit.")
-  (license l:perl-license)))
+  (license license:perl-license)))
 
 (define-public perl-catalystx-component-traits
   (package
@@ -2132,7 +2134,7 @@ Catalyst component base class that reads the optional \"traits\" parameter
 from app and component config and instantiates the component subclass with
 those traits using \"new_with_traits\" in MooseX::Traits from
 MooseX::Traits::Pluggable.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalystx-roleapplicator
   (package
@@ -2155,7 +2157,7 @@ MooseX::Traits::Pluggable.")
     (synopsis "Apply roles to Catalyst classes")
     (description "CatalystX::RoleApplicator applies roles to Catalyst
 application classes.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-catalystx-script-server-starman
   (package
@@ -2183,7 +2185,7 @@ application classes.")
     (synopsis "Catalyst development server with Starman")
     (description "This module provides a Catalyst extension to replace the
 development server with Starman.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-cgi
   (package
@@ -2211,7 +2213,7 @@ processing and preparing HTTP requests and responses.  Major features include
 processing form submissions, file uploads, reading and writing cookies, query
 string generation and manipulation, and processing and preparing HTTP
 headers.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-cgi-formbuilder
   (package
@@ -2235,7 +2237,7 @@ headers.")
     (description
      "@code{CGI::FormBuilder} provides an easy way to generate and process CGI
 form-based applications.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-cgi-session
   (package
@@ -2262,7 +2264,7 @@ form-based applications.")
     (description
      "@code{CGI::Session} provides modular session management system across
 HTTP requests.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-cgi-simple
   (package
@@ -2286,7 +2288,7 @@ HTTP requests.")
     (description "CGI::Simple provides a relatively lightweight drop in
 replacement for CGI.pm.  It shares an identical OO interface to CGI.pm for
 parameter parsing, file upload, cookie handling and header generation.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-cgi-struct
   (package
@@ -2307,7 +2309,7 @@ parameter parsing, file upload, cookie handling and header generation.")
     (synopsis "Build structures from CGI data")
     (description "This is a module for building structured data from CGI
 inputs, in a manner reminiscent of how PHP does.")
-    (license l:bsd-2)))
+    (license license:bsd-2)))
 
 (define-public perl-datetime-format-http
   (package
@@ -2331,7 +2333,7 @@ inputs, in a manner reminiscent of how PHP does.")
     (synopsis "Date conversion routines")
     (description "This module provides functions that deal with the date
 formats used by the HTTP protocol.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-digest-md5-file
   (package
@@ -2352,7 +2354,7 @@ formats used by the HTTP protocol.")
     (synopsis "MD5 sums for files and urls")
     (description "Digest::MD5::File is a Perl extension for getting MD5 sums
 for files and urls.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-encode-locale
   (package
@@ -2367,7 +2369,7 @@ for files and urls.")
               (base32
                "1h8fvcdg3n20c2yp7107yhdkkx78534s9hnvn7ps8hpmf4ks0vqp"))))
     (build-system perl-build-system)
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl locale encoding determination")
     (description
      "The POSIX locale system is used to specify both the language
@@ -2409,7 +2411,7 @@ with Encode::decode(locale => $string).")
     (description "@code{Feed::Find} implements feed auto-discovery for finding
 syndication feeds, given a URI.  It will discover the following feed formats:
 RSS 0.91, RSS 1.0, RSS 2.0, Atom.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-file-listing
   (package
@@ -2426,7 +2428,7 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-http-date" ,perl-http-date)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl directory listing parser")
     (description
      "The File::Listing module exports a single function called parse_dir(),
@@ -2464,7 +2466,7 @@ which can be used to parse directory listings.")
    (description
     "Finance::Quote gets stock quotes from various internet sources, including
 Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange.")
-   (license l:gpl2)))
+   (license license:gpl2)))
 
 (define-public perl-gssapi
   (package
@@ -2487,7 +2489,7 @@ Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange.")
     (synopsis "Perl extension providing access to the GSSAPIv2 library")
     (description "This is a Perl extension for using GSSAPI C bindings as
 described in RFC 2744.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-element-extended
   (package
@@ -2509,7 +2511,7 @@ described in RFC 2744.")
     (description
      "HTML::Element::Extended is a Perl extension for manipulating a table
 composed of HTML::Element style components.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-form
   (package
@@ -2534,7 +2536,7 @@ composed of HTML::Element style components.")
     (synopsis "Perl class representing an HTML form element")
     (description "Objects of the HTML::Form class represents a single HTML
 <form> ... </form> instance.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-scrubber
   (package
@@ -2566,7 +2568,7 @@ composed of HTML::Element style components.")
      "Perl extension for scrubbing/sanitizing html")
     (description
      "@code{HTML::Scrubber} Perl extension for scrubbing/sanitizing HTML.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-lint
   (package
@@ -2588,7 +2590,7 @@ composed of HTML::Element style components.")
     (synopsis "Check for HTML errors in a string or file")
     (description "HTML::Lint is a pure-Perl HTML parser and checker for
 syntactic legitmacy.")
-    (license l:artistic2.0)))
+    (license license:artistic2.0)))
 
 (define-public perl-html-tableextract
   (package
@@ -2611,7 +2613,7 @@ syntactic legitmacy.")
     (description
      "HTML::TableExtract is a Perl module for extracting the content contained
 in tables within an HTML document, either as text or encoded element trees.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-tree
   (package
@@ -2637,7 +2639,7 @@ in tables within an HTML document, either as text or encoded element trees.")
     (synopsis "Work with HTML in a DOM-like tree structure")
     (description "This distribution contains a suite of modules for
 representing, creating, and extracting information from HTML syntax trees.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-html-parser
   (package
@@ -2655,7 +2657,7 @@ representing, creating, and extracting information from HTML syntax trees.")
     (inputs
      `(("perl-html-tagset" ,perl-html-tagset)
        ("perl-http-message" ,perl-http-message)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl HTML parser class")
     (description
      "Objects of the HTML::Parser class will recognize markup and separate
@@ -2677,7 +2679,7 @@ are invoked.")
               (base32
                "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd"))))
     (build-system perl-build-system)
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl data tables useful in parsing HTML")
     (description
      "The HTML::Tagset module contains several data tables useful in various
@@ -2708,7 +2710,7 @@ It extends standard HTML with a few new HTML-esque tags: @code{<TMPL_VAR>},
 these new tags is called a template.  Using this module you fill in the values
 for the variables, loops and branches declared in the template.  This allows
 you to separate design from the data.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-body
   (package
@@ -2733,7 +2735,7 @@ you to separate design from the data.")
     (description "HTTP::Body parses chunks of HTTP POST data and supports
 application/octet-stream, application/json, application/x-www-form-urlencoded,
 and multipart/form-data.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-cookiejar
   (package
@@ -2760,7 +2762,7 @@ and multipart/form-data.")
     (synopsis "Minimalist HTTP user agent cookie jar")
     (description "This module implements a minimalist HTTP user agent cookie
 jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
-    (license l:asl2.0)))
+    (license license:asl2.0)))
 
 (define-public perl-http-cookies
   (package
@@ -2777,7 +2779,7 @@ jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-http-message" ,perl-http-message)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl HTTP cookie jars")
     (description
      "The HTTP::Cookies class is for objects that represent a cookie jar,
@@ -2801,7 +2803,7 @@ object knows about.")
     (propagated-inputs
      `(("perl-http-message" ,perl-http-message)
        ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl simple http server class")
     (description
      "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
@@ -2822,7 +2824,7 @@ IO::Socket::INET, so you can perform socket operations directly on it too.")
               (base32
                "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8"))))
     (build-system perl-build-system)
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl date conversion routines")
     (description
      "The HTTP::Date module provides functions that deal with date formats
@@ -2850,7 +2852,7 @@ used by the HTTP protocol (and then some more).")
        ("perl-io-html" ,perl-io-html)
        ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
        ("perl-uri" ,perl-uri)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl HTTP style message")
     (description
      "An HTTP::Message object contains some headers and a content body.")
@@ -2871,7 +2873,7 @@ used by the HTTP protocol (and then some more).")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-http-message" ,perl-http-message)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl http content negotiation")
     (description
      "The HTTP::Negotiate module provides a complete implementation of the
@@ -2904,7 +2906,7 @@ fields in the request.")
 received and returns a @code{hint} as to what is required, or returns the
 HTTP::Request when a complete request has been read.  HTTP/1.1 chunking is
 supported.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-parser-xs
   (package
@@ -2925,7 +2927,7 @@ supported.")
     (synopsis "Fast HTTP request parser")
     (description "HTTP::Parser::XS is a fast, primitive HTTP request/response
 parser.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-request-ascgi
   (package
@@ -2947,7 +2949,7 @@ parser.")
     (synopsis "Set up a CGI environment from an HTTP::Request")
     (description "This module provides a convenient way to set up a CGI
 environment from an HTTP::Request.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-server-simple
   (package
@@ -2982,7 +2984,7 @@ environment from an HTTP::Request.")
     (description "HTTP::Server::Simple is a simple standalone HTTP daemon with
 no non-core module dependencies.  It can be used for building a standalone
 http-based UI to your existing tools.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-tiny
   (package
@@ -3008,7 +3010,7 @@ http-based UI to your existing tools.")
     (description "This is a very simple HTTP/1.1 client, designed for doing
 simple requests without the overhead of a large framework like LWP::UserAgent.
 It supports proxies and redirection.  It also correctly resumes after EINTR.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-http-tinyish
   (package
@@ -3035,7 +3037,7 @@ It supports proxies and redirection.  It also correctly resumes after EINTR.")
 @code{HTTP::Tiny}, curl and wget.
 
 It provides an API compatible to HTTP::Tiny.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-io-html
   (package
@@ -3050,7 +3052,7 @@ It provides an API compatible to HTTP::Tiny.")
               (base32
                "06nj3a0xgp5jxwxx6ayglfk2v7npf5a7gwkqsjlkapjkybarzqh4"))))
     (build-system perl-build-system)
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl module to open an HTML file with automatic charset detection")
     (description
      "IO::HTML provides an easy way to open a file containing HTML while
@@ -3076,7 +3078,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.")
     (synopsis "Family-neutral IP socket supporting both IPv4 and IPv6")
     (description "This module provides a protocol-independent way to use IPv4
 and IPv6 sockets, intended as a replacement for IO::Socket::INET.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-io-socket-ssl
   (package
@@ -3103,7 +3105,7 @@ necessary functionality into the familiar IO::Socket interface and providing
 secure defaults whenever possible.  This way existing applications can be made
 SSL-aware without much effort, at least if you do blocking I/O and don't use
 select or poll.")
-    (license l:perl-license)
+    (license license:perl-license)
     (home-page "https://github.com/noxxi/p5-io-socket-ssl")))
 
 (define-public perl-libwww
@@ -3136,7 +3138,7 @@ select or poll.")
        ("perl-try-tiny" ,perl-try-tiny)
        ("perl-uri" ,perl-uri)
        ("perl-www-robotrules" ,perl-www-robotrules)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl modules for the WWW")
     (description
      "The libwww-perl collection is a set of Perl modules which provides a
@@ -3174,7 +3176,7 @@ of the nastiest technical questions there is: am I on the internet?
 A host of networking and security issues make this problem very difficult.
 There are firewalls, proxies (both well behaved and badly behaved).  We might
 not have DNS.  We might not have a network card at all!")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-lwp-mediatypes
   (package
@@ -3189,7 +3191,7 @@ not have DNS.  We might not have a network card at all!")
               (base32
                "0xmnblp962qy02akah30sji8bxrqcyqlff2w95l199ghql60ny8q"))))
     (build-system perl-build-system)
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl module to guess the media type for a file or a URL")
     (description
      "The LWP::MediaTypes module provides functions for handling media (also
@@ -3224,7 +3226,7 @@ exists it is used instead.")
     (synopsis "HTTPS support for LWP::UserAgent")
     (description "The LWP::Protocol::https module provides support for using
 https schemed URLs with LWP.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-lwp-useragent-determined
   (package
@@ -3247,7 +3249,7 @@ https schemed URLs with LWP.")
 except that when you use it to get a web page but run into a
 possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds
 and retry a few times.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-net-amazon-s3
   (package
@@ -3290,7 +3292,7 @@ and retry a few times.")
     (home-page "https://metacpan.org/release/Net-Amazon-S3")
     (synopsis "Perl interface to Amazon S3")
     (description "This module provides a Perlish interface to Amazon S3.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-net-http
   (package
@@ -3308,7 +3310,7 @@ and retry a few times.")
     (propagated-inputs
      `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
        ("perl-uri" ,perl-uri)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl low-level HTTP connection (client)")
     (description
      "The Net::HTTP class is a low-level HTTP client.  An instance of the
@@ -3342,7 +3344,7 @@ children (Net::Server::PreForkSimple), or as a managed preforking server which
 maintains the number of children based on server load (Net::Server::PreFork).
 In all but the inetd type, the server provides the ability to connect to one
 or to multiple server ports.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-net-smtp-ssl
   (package
@@ -3362,7 +3364,7 @@ or to multiple server ports.")
     (home-page "https://metacpan.org/release/Net-SMTP-SSL")
     (synopsis "SSL support for Net::SMTP")
     (description "SSL support for Net::SMTP.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack
   (package
@@ -3400,7 +3402,7 @@ or to multiple server ports.")
 contains middleware components, a reference server, and utilities for Web
 application frameworks.  Plack is like Ruby's Rack or Python's Paste for
 WSGI.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-middleware-deflater
   (package
@@ -3429,7 +3431,7 @@ in gzip or deflate, based on \"Accept-Encoding\" HTTP request header.  It
 would save the bandwidth a little bit but should increase the Plack server
 load, so ideally you should handle this on the frontend reverse proxy
 servers.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-middleware-fixmissingbodyinredirect
   (package
@@ -3454,7 +3456,7 @@ servers.")
     (synopsis "Plack::Middleware which sets body for redirect response")
     (description "This module sets the body in redirect response, if it's not
 already set.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-middleware-methodoverride
   (package
@@ -3479,7 +3481,7 @@ already set.")
 something else: by adding either a header named X-HTTP-Method-Override to the
 request, or a query parameter named x-tunneled-method to the URI, the client
 can say what method it actually meant.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-middleware-removeredundantbody
   (package
@@ -3501,7 +3503,7 @@ can say what method it actually meant.")
     (synopsis "Plack::Middleware which removes body for HTTP response")
     (description "This module removes the body in an HTTP response if it's not
 required.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-middleware-reverseproxy
   (package
@@ -3525,7 +3527,7 @@ required.")
     (description "Plack::Middleware::ReverseProxy resets some HTTP headers,
 which are changed by reverse-proxy.  You can specify the reverse proxy address
 and stop fake requests using @code{enable_if} directive in your app.psgi.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-plack-test-externalserver
   (package
@@ -3546,7 +3548,7 @@ and stop fake requests using @code{enable_if} directive in your app.psgi.")
     (description "This module allows your to run your Plack::Test tests
 against an external server instead of just against a local application through
 either mocked HTTP or a locally spawned server.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-test-tcp
   (package
@@ -3566,7 +3568,7 @@ either mocked HTTP or a locally spawned server.")
     (home-page "https://metacpan.org/release/Test-TCP")
     (synopsis "Testing TCP programs")
     (description "Test::TCP is test utilities for TCP/IP programs.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-test-www-mechanize
   (package
@@ -3592,7 +3594,7 @@ either mocked HTTP or a locally spawned server.")
     (synopsis "Testing-specific WWW::Mechanize subclass")
     (description "Test::WWW::Mechanize is a subclass of the Perl module
 WWW::Mechanize that incorporates features for web application testing.")
-    (license l:artistic2.0)))
+    (license license:artistic2.0)))
 
 (define-public perl-test-www-mechanize-catalyst
   (package
@@ -3627,7 +3629,7 @@ WWW::Mechanize that incorporates features for web application testing.")
     (description "The Test::WWW::Mechanize::Catalyst module meshes the
 Test::WWW:Mechanize module and the Catalyst web application framework to allow
 testing of Catalyst applications without needing to start up a web server.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-test-www-mechanize-psgi
   (package
@@ -3654,7 +3656,7 @@ from web application framework code.  Test::WWW::Mechanize is a subclass of
 WWW::Mechanize that incorporates features for web application testing.  The
 Test::WWW::Mechanize::PSGI module meshes the two to allow easy testing of PSGI
 applications.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-uri
   (package
@@ -3671,7 +3673,7 @@ applications.")
     (native-inputs
      ;; For tests.
      `(("perl-test-needs" ,perl-test-needs)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
     (description
      "The URI module implements the URI class.  Objects of this class
@@ -3702,7 +3704,7 @@ and updated by RFC 2732.")
     (description "@code{URI::Fetch} is a smart client for fetching HTTP pages,
 notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-
 and time-saving way.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-uri-find
   (package
@@ -3727,7 +3729,7 @@ and time-saving way.")
 considers a URI) in plain text.  It only finds URIs which include a
 scheme (http:// or the like), for something a bit less strict, consider
 URI::Find::Schemeless.  For a command-line interface, urifind is provided.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-uri-ws
   (package
@@ -3748,7 +3750,7 @@ URI::Find::Schemeless.  For a command-line interface, urifind is provided.")
     (synopsis "WebSocket support for URI package")
     (description "With this module, the URI package provides the same set of
 methods for WebSocket URIs as it does for HTTP URIs.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-uri-template
   (package
@@ -3773,7 +3775,7 @@ methods for WebSocket URIs as it does for HTTP URIs.")
     (synopsis "Object for handling URI templates")
     (description "This perl module provides a wrapper around URI templates as described in
 RFC 6570.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-www-curl
   (package
@@ -3807,7 +3809,7 @@ RFC 6570.")
     (description
      "This is a Perl extension interface for the libcurl file downloading
 library.")
-    (license l:perl-license)
+    (license license:perl-license)
     (home-page "https://metacpan.org/release/WWW-Curl")))
 
 (define-public perl-www-mechanize
@@ -3841,7 +3843,7 @@ library.")
     (synopsis "Web browsing in a Perl object")
     (description "WWW::Mechanize is a Perl module for stateful programmatic
 web browsing, used for automating interaction with websites.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-www-opensearch
   (package
@@ -3879,7 +3881,7 @@ web browsing, used for automating interaction with websites.")
     (description
      "@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,
 http://opensearch.a9.com} compatible search engines.")
-    (license l:perl-license)))
+    (license license:perl-license)))
 
 (define-public perl-www-robotrules
   (package
@@ -3896,7 +3898,7 @@ http://opensearch.a9.com} compatible search engines.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-uri" ,perl-uri)))
-    (license l:perl-license)
+    (license license:perl-license)
     (synopsis "Perl database of robots.txt-derived permissions")
     (description
      "The WWW::RobotRules module parses /robots.txt files as specified in
@@ -3926,8 +3928,8 @@ their web site.")
     (description
      "Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,
 CDF, Atom 0.3, and Atom 1.0 feeds.")
-    (license (list l:bsd-2 ; source code
-                   l:freebsd-doc)))) ; documentation
+    (license (list license:bsd-2 ; source code
+                   license:freebsd-doc)))) ; documentation
 
 (define-public python2-feedparser
   (package-with-python2 python-feedparser))
@@ -3957,7 +3959,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
     (description
      "Gumbo is an implementation of the HTML5 parsing algorithm implemented as
 a pure C99 library.")
-    (license l:asl2.0)))
+    (license license:asl2.0)))
 
 (define-public uwsgi
   (package
@@ -4031,20 +4033,26 @@ embedded_plugins =
      "uWSGI presents a complete stack for networked/clustered web applications,
 implementing message/object passing, caching, RPC and process management.
 It uses the uwsgi protocol for all the networking/interprocess communications.")
-    (license l:gpl2+))) ; with linking exception
+    (license license:gpl2+))) ; with linking exception
 
 (define-public jq
   (package
     (name "jq")
     (version "1.6")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/stedolan/jq"
-                                  "/releases/download/jq-" version
-                                  "/jq-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1a76f46a652i2g333kfvrl6mp2w7whf6h1yly519izg4y967h9cn"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/stedolan/jq"
+                           "/releases/download/jq-" version
+                           "/jq-" version ".tar.gz"))
+       (sha256
+        (base32 "0wmapfskhzfwranf6515nzmm84r7kwljgfs7dg6bjgxakbicis2x"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove bundled onigurama.
+           (delete-file-recursively "modules")
+           #t))))
     (inputs
      `(("oniguruma" ,oniguruma)))
     (native-inputs
@@ -4061,7 +4069,7 @@ grep and friends let you play with text.  It is written in portable C.  jq can
 mangle the data format that you have into the one that you want with very
 little effort, and the program to do so is often shorter and simpler than
 you'd expect.")
-    (license (list l:expat l:cc-by3.0))))
+    (license (list license:expat license:cc-by3.0))))
 
 (define-public uhttpmock
   (package
@@ -4090,7 +4098,7 @@ you'd expect.")
      "Uhttpmock is a project for mocking web service APIs which use HTTP or
 HTTPS.  It provides a library, libuhttpmock, which implements recording and
 playback of HTTP request/response traces.")
-    (license l:lgpl2.1+)))
+    (license license:lgpl2.1+)))
 
 (define-public woof
   (package
@@ -4126,7 +4134,7 @@ playback of HTTP request/response traces.")
     (description "Woof (Web Offer One File) is a small simple web server that
 can easily be invoked on a single file.  Your partner can access the file with
 tools they trust (e.g. wget).")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define netsurf-buildsystem
   (package
@@ -4153,7 +4161,7 @@ tools they trust (e.g. wget).")
     (description
      "This package provides the shared build system for Netsurf project
 libraries.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define netsurf-buildsystem-arguments
   `(#:make-flags `("COMPONENT_TYPE=lib-shared"
@@ -4190,7 +4198,7 @@ libraries.")
     (description
      "LibParserUtils is a library for building efficient parsers, written in
 C.  It is developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public hubbub
   (package
@@ -4221,7 +4229,7 @@ C.  It is developed as part of the NetSurf project.")
      "Hubbub is an HTML5 compliant parsing library, written in C, which can
 parse both valid and invalid web content.  It is developed as part of the
 NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public ikiwiki
   (package
@@ -4304,7 +4312,7 @@ NetSurf project.")
      "Ikiwiki is a wiki compiler, capable of generating a static set of web
 pages, but also incorporating dynamic features like a web based editor and
 commenting.")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public libwapcaplet
   (package
@@ -4330,7 +4338,7 @@ commenting.")
      "LibWapcaplet provides a reference counted string internment system
 designed to store small strings and allow rapid comparison of them.  It is
 developed as part of the Netsurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libcss
   (package
@@ -4358,7 +4366,7 @@ developed as part of the Netsurf project.")
     (description
      "LibCSS is a CSS (Cascading Style Sheet) parser and selection engine,
 written in C.  It is developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libdom
   (package
@@ -4394,7 +4402,7 @@ written in C.  It is developed as part of the NetSurf project.")
     (description
      "LibDOM is an implementation of the W3C DOM, written in C.  It is
 developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libsvgtiny
   (package
@@ -4425,7 +4433,7 @@ developed as part of the NetSurf project.")
 which can be rendered easily, as defined in
 @url{http://www.w3.org/TR/SVGMobile/}.  It is developed as part of the NetSurf
 project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libnsbmp
   (package
@@ -4448,7 +4456,7 @@ project.")
     (description
      "Libnsbmp is a decoding library for BMP and ICO image file formats,
 written in C.  It is developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libnsgif
   (package
@@ -4471,7 +4479,7 @@ written in C.  It is developed as part of the NetSurf project.")
     (description
      "Libnsgif is a decoding library for the GIF image file format, written in
 C.  It is developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libnsutils
   (package
@@ -4494,7 +4502,7 @@ C.  It is developed as part of the NetSurf project.")
     (description
      "Libnsutils provides a small number of useful utility routines.  It is
 developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public libnspsl
   (package
@@ -4517,7 +4525,7 @@ developed as part of the NetSurf project.")
     (description
      "Libnspsl is a library to generate a static code representation of the
 Public Suffix List.  It is developed as part of the NetSurf project.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public nsgenbind
   (package
@@ -4545,7 +4553,7 @@ Public Suffix List.  It is developed as part of the NetSurf project.")
     (description
      "@code{nsgenbind} is a tool to generate JavaScript to DOM bindings from
 w3c webidl files and a binding configuration file.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public netsurf
   (package
@@ -4660,7 +4668,7 @@ w3c webidl files and a binding configuration file.")
      "NetSurf is a lightweight web browser that has its own layout and
 rendering engine entirely written from scratch.  It is small and capable of
 handling many of the web standards in use today.")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public surfraw
   (package
@@ -4703,7 +4711,7 @@ handling many of the web standards in use today.")
 provides a unix command line interface to a variety of popular www search engines
 and similar services.")
     (home-page "https://surfraw.alioth.debian.org/")
-    (license l:public-domain)))
+    (license license:public-domain)))
 
 (define-public darkhttpd
   (package
@@ -4735,7 +4743,7 @@ and similar services.")
 standalone and does not need inetd or ucspi-tcp.  It does not need any
 config files---you only have to specify the www root.")
     (home-page "https://unix4lyfe.org/darkhttpd/")
-    (license l:isc)))
+    (license license:isc)))
 
 (define-public goaccess
   (package
@@ -4768,7 +4776,7 @@ config files---you only have to specify the www root.")
 runs in a terminal or through your browser.  It provides fast and valuable
 HTTP statistics for system administrators that require a visual server report
 on the fly.")
-    (license l:x11)))
+    (license license:x11)))
 
 (define-public httptunnel
   (package
@@ -4806,19 +4814,19 @@ tunnelled through HTTP (HyperText Transfer Protocol) requests.  This can be
 useful for users behind restrictive firewalls.  As long as Web traffic is
 allowed, even through a HTTP-only proxy, httptunnel can be combined with other
 tools like SSH (Secure Shell) to reach the outside world.")
-    (license l:gpl2+)))
+    (license license:gpl2+)))
 
 (define-public stunnel
   (package
   (name "stunnel")
-  (version "5.53")
+  (version "5.54")
   (source
     (origin
       (method url-fetch)
       (uri (string-append "https://www.stunnel.org/downloads/stunnel-"
                           version ".tar.gz"))
       (sha256
-       (base32 "119560alb8k0qz2zkjb2i80ikmn76fa6dg681fvrw9hlxsb9hhw0"))))
+       (base32 "00krr0h3vsyi93mqhrbgfgn8v47l4l3hzdg1ccfnpd3lqak8i1ay"))))
   (build-system gnu-build-system)
   (native-inputs
    ;; For tests.
@@ -4853,7 +4861,7 @@ functionality to existing clients and servers without any changes in the
 programs' code.  Its architecture is optimized for security, portability, and
 scalability (including load-balancing), making it suitable for large
 deployments.")
-  (license l:gpl2+)))
+  (license license:gpl2+)))
 
 (define-public varnish
   (package
@@ -4923,10 +4931,10 @@ deployments.")
 reverse proxy and load balancer.  You install it in front of any server that
 speaks HTTP and configure it to cache the contents through an extensive
 configuration language.")
-    (license (list l:bsd-2           ;main distribution
-                   l:zlib            ;lib/libvgz/*
-                   l:public-domain   ;bin/varnishncsa/as64.c, include/miniobj.h
-                   l:bsd-3))))       ;include/vqueue.h, lib/libvarnishcompat/daemon.c
+    (license (list license:bsd-2           ;main distribution
+                   license:zlib            ;lib/libvgz/*
+                   license:public-domain   ;bin/varnishncsa/as64.c, include/miniobj.h
+                   license:bsd-3))))       ;include/vqueue.h, lib/libvarnishcompat/daemon.c
 
 (define-public varnish-modules
   (package
@@ -4952,7 +4960,7 @@ configuration language.")
      "This package provides a collection of modules (@dfn{vmods}) for the Varnish
 cache server, extending the @dfn{Varnish Configuration Language} (VCL) with
 additional capabilities.")
-    (license l:bsd-2)))
+    (license license:bsd-2)))
 
 (define-public xinetd
   (package
@@ -4982,7 +4990,7 @@ listens for incoming requests over a network and launches the appropriate
 service for that request.  Requests are made using port numbers as identifiers
 and xinetd usually launches another daemon to handle the request.  It can be
 used to start services with both privileged and non-privileged port numbers.")
-    (license (l:fsf-free "file://COPYRIGHT"))))
+    (license (license:fsf-free "file://COPYRIGHT"))))
 
 (define-public tidy-html
   (package
@@ -5030,7 +5038,7 @@ legacy code to modern standards.
 Tidy also provides @code{libtidy}, a C static and dynamic library that
 developers can integrate into their applications to make use of the
 functions of Tidy.")
-    (license l:bsd-3)))
+    (license license:bsd-3)))
 
 (define-public hiawatha
   (package
@@ -5091,7 +5099,7 @@ functions of Tidy.")
      "Hiawatha has been written with security in mind.
 Features include the ability to stop SQL injections, XSS and CSRF attacks and
 exploit attempts.")
-    (license l:gpl2)))
+    (license license:gpl2)))
 
 (define-public python-httpbin
   (package
@@ -5117,7 +5125,7 @@ exploit attempts.")
 @code{RequestBin} is fantastic for testing POST requests, but doesn't let you control the
 response.  This exists to cover all kinds of HTTP scenarios.  All endpoint responses are
 JSON-encoded.")
-    (license l:isc)))
+    (license license:isc)))
 
 (define-public python2-httpbin
   (package-with-python2 python-httpbin))
@@ -5146,7 +5154,7 @@ JSON-encoded.")
      "@code{Pytest-httpbin} creates a @code{pytest} fixture that is dependency-injected
 into your tests.  It automatically starts up a HTTP server in a separate thread running
 @code{httpbin} and provides your test with the URL in the fixture.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public python2-pytest-httpbin
   (package-with-python2 python-pytest-httpbin))
@@ -5181,7 +5189,7 @@ high-performance HTTP applications.  It does not make any syscalls nor
 allocations, it does not buffer data, it can be interrupted at anytime.
 Depending on your architecture, it only requires about 40 bytes of data per
 message stream (in a web server that is per connection).")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public python-httpretty
   (package
@@ -5211,56 +5219,7 @@ message stream (in a web server that is per connection).")
     (synopsis "HTTP client mock for Python")
     (description "@code{httpretty} is a helper for faking web requests,
 inspired by Ruby's @code{fakeweb}.")
-    (license l:expat)))
-
-(define-public python2-httpretty
-  (package
-    (name "python2-httpretty")
-    (version "0.8.14")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (pypi-uri "httpretty" version))
-       (sha256
-        (base32
-         "0vlp5qkyw3pxwwsg7xmdcfh1csvypvaz4m6abida8s4xmjxpdhc3"))))
-    (build-system python-build-system)
-    (native-inputs
-     `(("python-sphinx-rtd-theme" ,python2-sphinx-rtd-theme)
-       ("python-sphinx" ,python2-sphinx)
-       ("python-coverage" ,python2-coverage)
-       ("python-tornado" ,python2-tornado)
-       ("python-urllib3" ,python2-urllib3)
-       ("python-sure" ,python2-sure)
-       ("python-steadymark" ,python2-steadymark)
-       ("python-requests" ,python2-requests)
-       ("python-rednose" ,python2-rednose)
-       ("python-nose-randomly" ,python2-nose-randomly)
-       ("python-misaka" ,python2-misaka)
-       ("python-pytest-httpbin" ,python2-pytest-httpbin)
-       ("python-nose" ,python2-nose)))
-    (arguments
-     `(#:tests? #f
-       ;; Requires mock>=1.3.0 which requires a more up-to-date
-       ;; python-pbr. After updating these trying to build the
-       ;; package leads to failures in python-flake8 and other
-       ;; packages. The cascade of updates and failures this
-       ;; leads to, seems to not be worth having the test run.
-       #:python ,python-2
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'build 'patch-test-requirements
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Update requirements from dependecy==version
-             ;; to dependency>=version
-             (substitute* "development.txt"
-               (("==") ">="))
-             #t)))))
-    (home-page "http://github.com/gabrielfalcao/httpretty")
-    (synopsis "HTTP client mock for Python")
-    (description "@code{httpretty} is a helper for faking web requests,
-inspired by Ruby's @code{fakeweb}.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public jo
   (package
@@ -5280,8 +5239,8 @@ inspired by Ruby's @code{fakeweb}.")
     (description "jo is a command-line utility to create JSON objects or
 arrays.  It creates a JSON string on stdout from words provided as
 command-line arguments or read from stdin.")
-    (license (list l:gpl2+
-                   l:expat)))) ; json.c, json.h
+    (license (list license:gpl2+
+                   license:expat)))) ; json.c, json.h
 
 (define-public python-internetarchive
   (package
@@ -5328,10 +5287,10 @@ command-line arguments or read from stdin.")
     (synopsis "Command-line interface to archive.org")
     (description "@code{ia} is a command-line tool for using
 @url{archive.org} from the command-line.  It also emplements the
-internetarchive python module for programatic access to archive.org.")
+internetarchive python module for programmatic access to archive.org.")
     (properties
      `((python2-variant . ,(delay python2-internetarchive))))
-    (license l:agpl3+)))
+    (license license:agpl3+)))
 
 (define-public python2-internetarchive
   (package-with-python2
@@ -5385,7 +5344,7 @@ internetarchive python module for programatic access to archive.org.")
       (synopsis "Search code snippets on @url{https://commandlinefu.com}")
       (description "@code{clf} is a command line tool for searching code
 snippets on @url{https://commandlinefu.com}.")
-      (license l:expat))))
+      (license license:expat))))
 
 (define-public python2-clf
   (package-with-python2 python-clf))
@@ -5421,8 +5380,8 @@ snippets on @url{https://commandlinefu.com}.")
     (description "rss-bridge generates Atom feeds for social networking
 websites lacking feeds.  Supported websites include Facebook, Twitter,
 Instagram and YouTube.")
-    (license (list l:public-domain
-                   l:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php
+    (license (list license:public-domain
+                   license:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php
 
 (define-public linkchecker
   (package
@@ -5478,11 +5437,11 @@ links in websites.  It is recursive and multithreaded providing output in
 colored or normal text, HTML, SQL, CSV, XML or as a sitemap graph.  It
 supports checking HTTP/1.1, HTTPS, FTP, mailto, news, nntp, telnet and local
 file links.")
-    (license (list l:gpl2+
-                   l:bsd-2              ; linkcheck/better_exchook2.py
-                   l:bsd-3              ; linkcheck/colorama.py
-                   l:psfl               ; linkcheck/gzip2.py
-                   l:expat))))          ; linkcheck/mem.py
+    (license (list license:gpl2+
+                   license:bsd-2              ; linkcheck/better_exchook2.py
+                   license:bsd-3              ; linkcheck/colorama.py
+                   license:psfl               ; linkcheck/gzip2.py
+                   license:expat))))          ; linkcheck/mem.py
 
 (define-public cadaver
   (package
@@ -5514,7 +5473,7 @@ file links.")
      "Cadaver is a command-line WebDAV client for Unix. It supports
 file upload, download, on-screen display, namespace operations (move/copy),
 collection creation and deletion, and locking operations.")
-    (license l:gpl2)))
+    (license license:gpl2)))
 
 (define-public python-py-ubjson
   (package
@@ -5533,7 +5492,7 @@ collection creation and deletion, and locking operations.")
     (description
      "Py-ubjson is a Python module providing an Universal Binary JSON
 encoder/decoder based on the draft-12 specification for UBJSON.")
-    (license l:asl2.0)))
+    (license license:asl2.0)))
 
 (define-public java-tomcat
   (package
@@ -5598,7 +5557,7 @@ WebSocket")
     (description "Apache Tomcat is a free implementation of the Java
 Servlet, JavaServer Pages, Java Expression Language and Java WebSocket
 technologies.")
-    (license l:asl2.0)))
+    (license license:asl2.0)))
 
 (define-public java-eclipse-jetty-test-helper
   (package
@@ -5647,10 +5606,10 @@ technologies.")
        ("hamcrest" ,java-hamcrest-all)))
     (home-page "https://www.eclipse.org/jetty/")
     (synopsis "Helper classes for jetty tests")
-    (description "This packages contains helper classes for testing the Jetty
+    (description "This package contains helper classes for testing the Jetty
 Web Server.")
     ;; This program is licensed under both epl and asl.
-    (license (list l:epl1.0 l:asl2.0))))
+    (license (list license:epl1.0 license:asl2.0))))
 
 (define-public java-eclipse-jetty-perf-helper
   (package
@@ -5713,7 +5672,7 @@ Web Server.")
     (description "The Jetty Web Server provides an HTTP server and Servlet
 container capable of serving static and dynamic content either from a standalone
 or embedded instantiation.  This package provides utility classes.")
-    (license (list l:epl1.0 l:asl2.0))))
+    (license (list license:epl1.0 license:asl2.0))))
 
 ;; This version is required by maven-wagon
 (define-public java-eclipse-jetty-util-9.2
@@ -6205,7 +6164,7 @@ container.")))
     (description "Jsoup is a Java library for working with real-world HTML.  It
 provides a very convenient API for extracting and manipulating data, using the
 best of DOM, CSS, and jQuery-like methods.")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public tidyp
   (package
@@ -6231,7 +6190,7 @@ libtidyp is the library on which the program is based.  It can be used by any
 other program that can interface to it.  The Perl module @code{HTML::Tidy} is
 based on this library, allowing Perl programmers to easily validate HTML.")
     ;; See htmldoc/license.html
-    (license l:bsd-3)))
+    (license license:bsd-3)))
 
 (define-public perl-html-tidy
   (package
@@ -6269,7 +6228,7 @@ based on this library, allowing Perl programmers to easily validate HTML.")
     (description "@code{HTML::Tidy} is an HTML checker in a handy dandy
 object.  It's meant as a replacement for @code{HTML::Lint}, which is written
 in Perl but is not nearly as capable as @code{HTML::Tidy}.")
-    (license l:artistic2.0)))
+    (license license:artistic2.0)))
 
 (define-public geomyidae
   (package
@@ -6305,7 +6264,7 @@ features include:
 @item search support in CGI files;
 @item logging with multiple log levels.
 @end enumerate\n")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public cat-avatar-generator
   (package
@@ -6348,8 +6307,8 @@ die('You need to set the CACHE_DIR variable first.');"))
 to generate random avatars, or defined avatar from a \"seed\".  This is a
 derivation by David Revoy from the original MonsterID by Andreas Gohr.")
     ;; expat for the code, CC-BY 4.0 for the artwork
-    (license (list l:expat
-                   l:cc-by4.0))))
+    (license (list license:expat
+                   license:cc-by4.0))))
 
 (define-public nghttp2
   (package
@@ -6422,7 +6381,7 @@ serves files from a local directory.
 @item @command{nghttpx}, a fast, multi-threaded HTTP/2 reverse proxy that can be
 deployed in front of existing web servers that don't support HTTP/2.
 Both @command{nghttpd} and @command{nghttpx} can fall back to HTTP/1.1 for
-backwards compatibilty with clients that don't speak HTTP/2.
+backwards compatibility with clients that don't speak HTTP/2.
 @item @command{h2load} for benchmarking (only!) your own HTTP/2 servers.
 @item HTTP/2 uses a header compression method called @dfn{HPACK}.
 nghttp2 provides a HPACK encoder and decoder as part of its public API.
@@ -6430,7 +6389,7 @@ nghttp2 provides a HPACK encoder and decoder as part of its public API.
 compressed JSON header blocks.
 @item @command{inflatehd} converts such compressed headers back to JSON pairs.
 @end itemize\n")
-    (license l:expat)))
+    (license license:expat)))
 
 (define-public hpcguix-web
   (let ((commit "53e09ea59ec0380b41a4cbda32df8bdb9a10004d")
@@ -6512,7 +6471,7 @@ compressed JSON header blocks.
       (description "Hpcguix-web provides a web interface to the list of packages
 provided by Guix.  The list of packages is searchable and provides
 instructions on how to use Guix in a shared HPC environment.")
-      (license l:agpl3+))))
+      (license license:agpl3+))))
 
 (define-public httrack
   (package
@@ -6541,4 +6500,4 @@ site from link to link, as if you were viewing it online.  HTTrack can also
 update an existing mirrored site, and resume interrupted downloads.
 
 HTTrack is fully configurable, and has an integrated help system.")
-    (license l:gpl3+)))
+    (license license:gpl3+)))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index ceff9c18b8..4b807cc09f 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -59,16 +59,15 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.24.1")
+    (version "2.24.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
-
-              (patches (search-patches "webkitgtk-sse2.patch"))
+              (patches (search-patches "webkitgtk-sans-gstreamer-gl.patch"))
               (sha256
                (base32
-                "0v9riwrmwi9wxbb8hlvcbyyxa9zxhcdk6s1xcspalk6asam8xjsk"))))
+                "071jnjvjq6wsxx1jh4ql3j53h1nhphs5ga67fa5i9xjvs3qb3701"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (arguments
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index 4f8671ad6e..4940156db5 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,24 +89,42 @@ in downloaded documents to relative links.")
           "1hh9svyypqcvdg5mjxyyfzpdzhylhf7s7xq5dzglnm4injx3i3ak"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     '(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1))
+       #:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (delete 'build)
-         (add-before 'install 'use-inputs
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((wget (assoc-ref inputs "wget")))
-               (substitute* "wgetpaste"
-                 (("(LC_ALL=C) wget" _ prefix)
-                  (format "~a ~a/bin/wget" prefix wget)))
-               #t)))
+         (add-after 'unpack 'remove-dead-paste-site
+           ;; This phase is adaped from the following patch:
+           ;; https://gitweb.gentoo.org/repo/gentoo.git/tree/app-text/wgetpaste/files/wgetpaste-remove-dead.patch
+           (lambda _
+             (substitute* "wgetpaste"
+               ((" poundpython\"") "\"")
+               (("-poundpython") "-dpaste"))
+             #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin"))
                     (zsh (string-append out "/share/zsh/site-functions")))
                (install-file "wgetpaste" bin)
-               (install-file "_wgetpaste" zsh)))))
+               (install-file "_wgetpaste" zsh)
+               #t)))
+         (add-after 'install 'wrap-program
+           ;; /bin/wgetpaste prides itself on relying only on the following
+           ;; inputs, and doesn't need to execute arbitrary commands, so
+           ;; override PATH completely to detect any new dependencies early.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/wgetpaste")
+                 `("PATH" ":" =
+                   ,(delete-duplicates
+                     (map (lambda (command) (dirname (which command)))
+                          (list "bash" "mktemp" "sed" "sort" "tee" "tr"
+                                "wget")))))
+               #t))))
        #:tests? #f))                    ; no test target
     (inputs
      `(("wget" ,wget)))
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index f0843edc99..59716928f5 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -72,7 +72,7 @@
 (define-public wine
   (package
     (name "wine")
-    (version "4.0")
+    (version "4.0.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dl.winehq.org/wine/source/"
@@ -80,7 +80,7 @@
                                   "/wine-" version ".tar.xz"))
               (sha256
                (base32
-                "0k8d90mgjzv8vjspmnxzr3i5mbccxnbr9hf03q1bpf5jjppcsdk7"))))
+                "0j29df0px6dzin4j0cbxgza4msvf9spmwranv25krq1g9kq959nk"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
@@ -310,7 +310,7 @@ integrate Windows applications into your desktop.")
 (define-public wine-staging-patchset-data
   (package
     (name "wine-staging-patchset-data")
-    (version "4.7")
+    (version "4.8")
     (source
      (origin
        (method git-fetch)
@@ -320,7 +320,7 @@ integrate Windows applications into your desktop.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1sgyq57dyzchwnvkgx96bcx5rv821s0vidzdyz7x5711j7xmiv70"))))
+         "0npm44zdys78qbqqyvjczqqjdgacpsfds3jxyy1y4yj2xjqzagsq"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("bash" ,bash)
@@ -366,7 +366,7 @@ integrate Windows applications into your desktop.")
               (file-name (string-append name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1c5swx6jj0hz9w2jgyl30pdjcq9n62qp1rmqyq1d4q2a6n291jiv"))))
+                "0dd1vw3bq47ypdpflgmmbi68pjw5z3wz26kfwvnkxqbp28fapfa8"))))
     (inputs `(("autoconf" ,autoconf) ; for autoreconf
               ("faudio" ,faudio)
               ("ffmpeg" ,ffmpeg)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index ddc6905c82..01c30c8198 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -412,7 +412,7 @@ subscribe to events.")
        "This utility for the i3 window manager allows you to quickly switch to
 and locate windows on all your workspaces, using an interactive dmenu
 prompt.")
-      (license (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))
+      (license license:wtfpl2))))
 
 (define-public i3lock-color
   (package
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index c30e711946..d59041f639 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -379,7 +379,7 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.97")
+    (version "2.4.98")
     (source
       (origin
         (method url-fetch)
@@ -389,7 +389,7 @@ rasterisation.")
                ".tar.bz2"))
         (sha256
          (base32
-          "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p"))
+          "150qdzsm2nx6dfacc75rx53anzsc6m31nhxidf5xxax3mk6fvq4b"))
         (patches (search-patches "libdrm-symbol-check.patch"))))
     (build-system meson-build-system)
     (arguments
@@ -677,7 +677,7 @@ do visual scraping to find things on the screen.  The control interface
 allows mouse movement, clicking, button up/down, key up/down, etc, and
 uses the XTest extension so you don't have the annoying problems that
 xse has when apps ignore sent events.  The visgrep program can find
-images inside of images and reports the coordinates, allowing progams
+images inside of images and reports the coordinates, allowing programs
 to find buttons, etc, on the screen to click on.")
     (home-page "https://www.hoopajoo.net/projects/xautomation.html")
     (license license:gpl2+)))
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index cc79fb4851..c3ddf9f866 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -188,15 +188,15 @@ to share commonly used Xfce widgets among the Xfce applications.")
 (define-public exo
   (package
     (name "exo")
-    (version "0.12.4")
+    (version "0.12.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
-                                  name "/" (version-major+minor version) "/"
-                                  name "-" version ".tar.bz2"))
+                                  "exo/" (version-major+minor version) "/"
+                                  "exo-" version ".tar.bz2"))
               (sha256
                (base32
-                "1bsh43m6dh83vj9qi1vs0425m2d5yfqjyihr7zjjqmyvdf0n1bxh"))))
+                "1s23prcgall6r5dpn0qlrdq3zj13p95a5s0l2vflgrka8gb39x78"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -224,8 +224,8 @@ development.")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
-                                  name "/" (version-major+minor version) "/"
-                                  name "-" version ".tar.bz2"))
+                                  "garcon/" (version-major+minor version) "/"
+                                  "garcon-" version ".tar.bz2"))
               (sha256
                (base32
                 "0z64g6f2vwfjzqsrsn05nbcbs8l6y4cfdgxk4k2la3giixj0jzx8"))))
@@ -250,15 +250,15 @@ merging features essential for loading menus modified with menu editors.")
 (define-public tumbler
   (package
     (name "tumbler")
-    (version "0.2.3")
+    (version "0.2.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.xfce.org/src/xfce/"
-                                  name "/" (version-major+minor version) "/"
-                                  name "-" version ".tar.bz2"))
+                                  "tumbler/" (version-major+minor version) "/"
+                                  "tumbler-" version ".tar.bz2"))
               (sha256
                (base32
-                "0h3x325dbz0lnb7b3zzbfrva3v0rn99v03zj9cza7ysr2nyy28nh"))))
+                "19mnwmcxdhqfqkd9433z8h2y8w49vlc7jw5p5h8j54wz7zhrgx0g"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -596,15 +596,15 @@ like appearance, display, keyboard and mouse settings.")
 (define-public thunar
   (package
     (name "thunar")
-    (version "1.8.4")
+    (version "1.8.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://archive.xfce.org/src/xfce/"
-                                  name "/" (version-major+minor version) "/"
+                                  "thunar/" (version-major+minor version) "/"
                                   "Thunar-" version ".tar.bz2"))
               (sha256
                (base32
-                "1c4kg8w77nwi75b4ashy2m1y39icv951h63qsr1gdj6yipd53gy2"))))
+                "0apg70dwkh8q89ybzhj4q2gp4yxiybwxfzpbvx0nj0rxis1gprf0"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 15502bd0e9..8f900cf90d 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2015, 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -334,14 +334,14 @@ ogginfo, to obtain information (tags, bitrate, length, etc.) about
 (define opus
   (package
     (name "opus")
-    (version "1.3")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.mozilla.org/pub/opus/opus-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0l651n19h0vhc0sn6w2c95hgqks1i8m4b3j04ncaznzjznp6jgag"))))
+                "17gz8kxs4i7icsc1gj713gadiapyklynlwqlf0ai98dj4lg8xdb5"))))
     (build-system gnu-build-system)
     (synopsis "Versatile audio codec")
     (description
@@ -474,15 +474,15 @@ things in between.")
 (define-public libshout
   (package
     (name "libshout")
-    (version "2.4.1")
+    (version "2.4.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://downloads.xiph.org/releases/libshout/"
-                    name "-" version ".tar.gz"))
+                    "libshout-" version ".tar.gz"))
               (sha256
                (base32
-                "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k"))))
+                "0qgwarqp2p6jy3zadds6dzj8z1jfb2mbwc3lsdlidf527h0a86ym"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 71aa7116c8..32bbec2181 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -678,14 +678,14 @@ This module provide functions which simplify writing tests for
 (define-public perl-xml-compile
   (package
     (name "perl-xml-compile")
-    (version "1.61")
+    (version "1.62")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/"
                                   "XML-Compile-" version ".tar.gz"))
               (sha256
                (base32
-                "13dvsaj8simivj867rkjlf7hhvvcwlahnhk70zf8cq2xbg8wmf7x"))))
+                "0a75gr4qcjj8ybzljacbbkdxprbqpypz49bc0jb7cfamx1hp7p2w"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-carp" ,perl-carp)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 8fdb6c368c..ed718c5539 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1724,7 +1724,7 @@ of user actions in the X Window System.")
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg RenderProto protocol headers")
     (description
-     "Rendering Extension defines a protcol for a digital image composition
+     "Rendering Extension defines a protocol for a digital image composition
 as the foundation of a new rendering model within the X Window System.")
     (license license:x11)
     (properties `((superseded . ,xorgproto)))))
@@ -2507,7 +2507,7 @@ provide all features that libinput supports it does little beyond.")
     (synopsis "Joystick input driver for X server")
     (description
      "xf86-input-joystick is a joystick input driver for the Xorg X server.
-It is used to cotrol the pointer with a joystick device.")
+It is used to control the pointer with a joystick device.")
     (license license:x11)))
 
 
@@ -3500,14 +3500,7 @@ X server.")
           (base32
            "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"))
         (patches
-         (list (origin
-                 (method url-fetch)
-                 (uri "https://cgit.freedesktop.org/xorg/driver/\
-xf86-video-voodoo/patch/?id=9172ae566a0e85313fc80ab62b4455393eefe593")
-                 (sha256
-                  (base32
-                   "0rndmxf5b8j3hjnhrwrnzsq5024fli134fj1mprhkcrvax2zq8db"))
-                 (file-name "xf86-video-voodoo-pcitag.patch"))))))
+         (search-patches "xf86-video-voodoo-pcitag.patch"))))
     (build-system gnu-build-system)
     (inputs `(("xorgproto" ,xorgproto)
               ("xorg-server" ,xorg-server)))
@@ -6350,7 +6343,7 @@ window name or id, forcing toggle, increase or decrease opacity.")
        ("automake" ,automake)))
     (synopsis "Resize fonts in the BDF format")
     (description
-     "This packages provides @command{bdfresize}, a command to magnify or
+     "This package provides @command{bdfresize}, a command to magnify or
 reduce fonts in the Glyph Bitmap Distribution Format (BDF).  It produces BDF
 output.")
     (home-page "https://tracker.debian.org/pkg/bdfresize")
diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm
new file mode 100644
index 0000000000..43d1747332
--- /dev/null
+++ b/gnu/packages/zwave.scm
@@ -0,0 +1,84 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages zwave)
+  #:use-module (guix packages)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml))
+
+(define-public open-zwave
+  (package
+    (name "open-zwave")
+    (version "1.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/OpenZWave/open-zwave/")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xgs4mmr0480c269wx9xkk67ikjzxkh8xcssrdx0f5xcl1lyd333"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Set RUNPATH on the 'MinOZW' executable.
+                  (substitute* "cpp/examples/MinOZW/Makefile"
+                    (("\\$\\(LDFLAGS\\)")
+                     "$(LDFLAGS) -Wl,-rpath=$(PREFIX)/lib"))
+
+                  ;; Delete the bundled TinyXML.
+                  (delete-file-recursively "cpp/tinyxml")
+                  (substitute* "cpp/build/Makefile"
+                    (("LIBS \\+= -ludev")
+                     "LIBS += -ludev -ltinyxml "))
+                  #t))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'configure))            ;no 'configure' script
+
+       #:make-flags (list "BUILD=debug"
+                          (string-append "PREFIX="
+                                         (assoc-ref %outputs "out"))
+                          (string-append "pkgconfigdir="
+                                         (assoc-ref %outputs "out")
+                                         "/lib/pkgconfig"))
+
+       ;; "make check" and "make fulltest" are only concerned with checking
+       ;; the device XML database and it's not entirely clear what to get from
+       ;; them.
+       #:tests? #f))
+    (native-inputs `(("which" ,which)
+                     ("perl" ,perl)               ;for tests
+                     ("perl-xml-simple" ,perl-xml-simple)))
+    (inputs `(("tinyxml" ,tinyxml)
+              ("eudev" ,eudev)))
+    (home-page "http://www.openzwave.net/")
+    (synopsis "Access Z-Wave devices from C++ programs")
+    (description
+     "OpenZWave (or OZW) is a C++ library that interfaces with selected Z-Wave
+PC controllers.  It allows developers to create applications that manipulate
+and respond to devices on a Z-Wave network, without requiring in-depth
+knowledge of the Z-Wave protocol.")
+    (license license:lgpl3+)))
diff --git a/gnu/services.scm b/gnu/services.scm
index f151bbaa9d..7de78105ff 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -649,7 +649,8 @@ as Wifi cards.")))
                 (extend append)
                 (description
                  "Register garbage-collector roots---i.e., store items that
-will not be reclaimed by the garbage collector.")))
+will not be reclaimed by the garbage collector.")
+                (default-value '())))
 
 
 ;;;
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 952f6f9ab2..f709ca5519 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -830,6 +830,7 @@ Return a service that sets up Unicode support in @var{tty} and loads
   "Return the list of PAM service needed for CONF."
   ;; Let 'login' be known to PAM.
   (list (unix-pam-service "login"
+                          #:login-uid? #t
                           #:allow-empty-passwords?
                           (login-configuration-allow-empty-passwords? config)
                           #:motd
@@ -1293,8 +1294,8 @@ the tty to run, among other things."
                (lambda args
                  ;; There's a race with the SIGCHLD handler, which could
                  ;; call 'waitpid' before 'close-pipe' above does.  If we
-                 ;; get ECHILD, that means we lost the race, but that's
-                 ;; fine.
+                 ;; get ECHILD, that means we lost the race; in that case, we
+                 ;; cannot tell what the exit code was (FIXME).
                  (or (= ECHILD (system-error-errno args))
                      (apply throw args)))))
             (line
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index f31dbc112e..652f7b1b02 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -84,6 +84,7 @@
             udisks-service
             udisks-service-type
 
+            colord-service-type
             colord-service
 
             geoclue-application
@@ -93,6 +94,9 @@
             geoclue-service
             geoclue-service-type
 
+            bluetooth-service-type
+            bluetooth-configuration
+            bluetooth-configuration?
             bluetooth-service
 
             elogind-configuration
@@ -452,7 +456,9 @@ site} for more information."
                                `(("bluetooth"
                                   ,(bluetooth-directory config)))))
           (service-extension shepherd-root-service-type
-                             (compose list bluetooth-shepherd-service))))))
+                             (compose list bluetooth-shepherd-service))))
+   (description "Run the @command{bluetoothd} daemon, which manages all the
+Bluetooth devices and provides a number of D-Bus interfaces.")))
 
 (define* (bluetooth-service #:key (bluez bluez) (auto-enable? #f))
   "Return a service that runs the @command{bluetoothd} daemon, which manages
@@ -506,7 +512,11 @@ Users need to be in the @code{lp} group to access the D-Bus service.
                        (service-extension udev-service-type list)
 
                        ;; It provides polkit "actions".
-                       (service-extension polkit-service-type list)))))
+                       (service-extension polkit-service-type list)))
+                (description
+                 "Run @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.")))
 
 (define* (colord-service #:key (colord colord))
   "Return a service that runs @command{colord}, a system service with a D-Bus
@@ -1050,9 +1060,15 @@ dispatches events from it.")))
          ;; them.
          (simple-service 'mtp udev-service-type (list libmtp))
 
-         ;; The D-Bus clique.
+         ;; NetworkManager and its applet.
          (service network-manager-service-type)
          (service wpa-supplicant-service-type)    ;needed by NetworkManager
+         (simple-service 'network-manager-applet
+                         profile-service-type
+                         (list network-manager-applet))
+         (service modem-manager-service-type)
+
+         ;; The D-Bus clique.
          (service avahi-service-type)
          (udisks-service)
          (service upower-service-type)
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm
index 8b5edf5cb0..94a04c8996 100644
--- a/gnu/services/docker.scm
+++ b/gnu/services/docker.scm
@@ -31,13 +31,25 @@
   #:export (docker-configuration
             docker-service-type))
 
+;;; We're not using serialize-configuration, but we must define this because
+;;; the define-configuration macro validates it exists.
+(define (serialize-boolean field-name val)
+  "")
+
 (define-configuration docker-configuration
   (docker
    (package docker)
    "Docker daemon package.")
   (containerd
    (package containerd)
-   "containerd package."))
+   "containerd package.")
+  (proxy
+   (package docker-libnetwork-cmd-proxy)
+   "The proxy package to support inter-container and outside-container
+loop-back communications.")
+  (enable-proxy?
+   (boolean #t)
+   "Enable or disable the user-land proxy (enabled by default)."))
 
 (define %docker-accounts
   (list (user-group (name "docker") (system? #t))))
@@ -66,7 +78,9 @@
            (stop #~(make-kill-destructor)))))
 
 (define (docker-shepherd-service config)
-  (let* ((docker (docker-configuration-docker config)))
+  (let* ((docker (docker-configuration-docker config))
+         (enable-proxy? (docker-configuration-enable-proxy? config))
+         (proxy (docker-configuration-proxy config)))
     (shepherd-service
            (documentation "Docker daemon.")
            (provision '(dockerd))
@@ -83,7 +97,10 @@
                           udev))
            (start #~(make-forkexec-constructor
                      (list (string-append #$docker "/bin/dockerd")
-                           "-p" "/var/run/docker.pid")
+                           "-p" "/var/run/docker.pid"
+                           (if #$enable-proxy? "--userland-proxy" "")
+                           "--userland-proxy-path" (string-append #$proxy
+                                                                  "/bin/proxy"))
                      #:pid-file "/var/run/docker.pid"
                      #:log-file "/var/log/docker.log"))
            (stop #~(make-kill-destructor)))))
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 0dabfed4cb..216b2c80b0 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -806,8 +806,8 @@ standard facilities are supported.")
    "Log unsuccessful authentication attempts and the reasons why they
 failed.")
 
-  (auth-verbose-passwords?
-   (boolean #f)
+  (auth-verbose-passwords
+   (string "no")
    "In case of password mismatches, log the attempted password.  Valid
 values are no, plain and sha1.  sha1 can be useful for detecting brute
 force password attempts vs.  user simply trying the same password over
diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm
index 1b232b6cba..fd84589c19 100644
--- a/gnu/services/mcron.scm
+++ b/gnu/services/mcron.scm
@@ -121,7 +121,9 @@ files."
                         (cons* "GUILE_AUTO_COMPILE=0"
                                "PATH=/run/current-system/profile/bin"
                                (remove (cut string-prefix? "PATH=" <>)
-                                       (environ)))))
+                                       (environ)))
+
+                        #:log-file "/var/log/mcron.log"))
               (stop #~(make-kill-destructor))
 
               (actions
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index e1b1d9b236..7276f7056d 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
-;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
 ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -102,7 +102,7 @@
   (service-type
    (name 'darkstat)
    (description
-    "Run @command{darkstat} to serve network traffic statictics reports over
+    "Run @command{darkstat} to serve network traffic statistics reports over
 HTTP.")
    (extensions
     (list (service-extension account-service-type
@@ -141,7 +141,8 @@ prometheus.")
    (extensions
     (list (service-extension
            shepherd-root-service-type
-           (compose list prometheus-node-exporter-shepherd-service))))))
+           (compose list prometheus-node-exporter-shepherd-service))))
+   (default-value (prometheus-node-exporter-configuration))))
 
 
 ;;;
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 03b2c6e1ec..082a85f63d 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -190,7 +190,9 @@ fe80::1%lo0 apps.facebook.com\n")
                  ;; interfaces are typically down at this point.  Thus we perform
                  ;; our own interface discovery here.
                  (define valid?
-                   (negate loopback-network-interface?))
+                   (lambda (interface)
+                     (and (arp-network-interface? interface)
+                          (not (loopback-network-interface? interface)))))
                  (define ifaces
                    (filter valid? (all-network-interface-names)))
 
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 25db783420..d026c3115e 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -182,6 +182,7 @@
   "Return a list of <pam-services> for lshd with CONFIG."
   (list (unix-pam-service
          "lshd"
+         #:login-uid? #t
          #:allow-empty-passwords?
          (lsh-configuration-allow-empty-passwords? config))))
 
@@ -506,6 +507,7 @@ of user-name/file-like tuples."
   "Return a list of <pam-services> for sshd with CONFIG."
   (list (unix-pam-service
          "sshd"
+         #:login-uid? #t
          #:allow-empty-passwords?
          (openssh-configuration-allow-empty-passwords? config))))
 
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index e332b93096..9d53f9358d 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -157,7 +157,7 @@
           (service-extension activation-service-type
                              git-daemon-activation)))
    (description
-    "Expose Git respositories over the insecure @code{git://} TCP-based
+    "Expose Git repositories over the insecure @code{git://} TCP-based
 protocol.")
    (default-value (git-daemon-configuration))))
 
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 44dcec4ec9..0a38b4013c 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -83,6 +83,8 @@
             slim-configuration-shepherd
             slim-configuration-auto-login-session
             slim-configuration-xorg
+            slim-configuration-display
+            slim-configuration-vt
             slim-configuration-sessreg
 
             slim-service-type
@@ -488,6 +490,10 @@ desktop session from the system or user profile will be used."
                       (default #f))
   (xorg-configuration slim-configuration-xorg
                       (default (xorg-configuration)))
+  (display slim-configuration-display
+           (default ":0"))
+  (vt slim-configuration-vt
+      (default "vt7"))
   (sessreg slim-configuration-sessreg
            (default sessreg)))
 
@@ -495,24 +501,31 @@ desktop session from the system or user profile will be used."
   "Return a PAM service for @command{slim}."
   (list (unix-pam-service
          "slim"
+         #:login-uid? #t
          #:allow-empty-passwords?
          (slim-configuration-allow-empty-passwords? config))))
 
 (define (slim-shepherd-service config)
-  (define slim.cfg
-    (let ((xinitrc (xinitrc #:fallback-session
-                            (slim-configuration-auto-login-session config)))
-          (xauth   (slim-configuration-xauth config))
-          (startx  (xorg-start-command (slim-configuration-xorg config)))
-          (shepherd   (slim-configuration-shepherd config))
-          (theme-name (slim-configuration-theme-name config))
-          (sessreg (slim-configuration-sessreg config)))
+  (let* ((xinitrc (xinitrc #:fallback-session
+                           (slim-configuration-auto-login-session config)))
+         (xauth   (slim-configuration-xauth config))
+         (startx  (xorg-start-command (slim-configuration-xorg config)))
+         (display (slim-configuration-display config))
+         (vt (slim-configuration-vt config))
+         (shepherd   (slim-configuration-shepherd config))
+         (theme-name (slim-configuration-theme-name config))
+         (sessreg (slim-configuration-sessreg config))
+         (lockfile (string-append "/var/run/slim-" vt ".lock")))
+    (define slim.cfg
       (mixed-text-file "slim.cfg"  "
 default_path /run/current-system/profile/bin
 default_xserver " startx "
-xserver_arguments :0 vt7
+display_name " display "
+xserver_arguments " vt "
 xauth_path " xauth "/bin/xauth
-authfile /var/run/slim.auth
+authfile /var/run/slim-" vt ".auth
+lockfile " lockfile "
+logfile /var/log/slim-" vt ".log
 
 # The login command.  '%session' is replaced by the chosen session name, one
 # of the names specified in the 'sessions' setting: 'wmaker', 'xfce', etc.
@@ -530,32 +543,39 @@ reboot_cmd " shepherd "/sbin/reboot\n"
     "")
 (if theme-name
     (string-append "current_theme " theme-name "\n")
-    ""))))
-
-  (define theme
-    (slim-configuration-theme config))
-
-  (list (shepherd-service
-         (documentation "Xorg display server")
-         (provision '(xorg-server))
-         (requirement '(user-processes host-name udev))
-         (start
-          #~(lambda ()
-              ;; A stale lock file can prevent SLiM from starting, so remove it to
-              ;; be on the safe side.
-              (false-if-exception (delete-file "/var/run/slim.lock"))
-
-              (fork+exec-command
-               (list (string-append #$(slim-configuration-slim config)
-                                    "/bin/slim")
-                     "-nodaemon")
-               #:environment-variables
-               (list (string-append "SLIM_CFGFILE=" #$slim.cfg)
-                     #$@(if theme
-                            (list #~(string-append "SLIM_THEMESDIR=" #$theme))
-                            #~())))))
-         (stop #~(make-kill-destructor))
-         (respawn? #t))))
+    "")))
+
+    (define theme
+      (slim-configuration-theme config))
+
+    (list (shepherd-service
+           (documentation "Xorg display server")
+           (provision (append
+                       ;; For compatibility, also provide 'xorg-server'.
+                       (if (string=? vt "vt7")
+                           '(xorg-server)
+                           '())
+
+                       (list (symbol-append 'xorg-server-
+                                            (string->symbol vt)))))
+           (requirement '(user-processes host-name udev))
+           (start
+            #~(lambda ()
+                ;; A stale lock file can prevent SLiM from starting, so remove it to
+                ;; be on the safe side.
+                (false-if-exception (delete-file lockfile))
+
+                (fork+exec-command
+                 (list (string-append #$(slim-configuration-slim config)
+                                      "/bin/slim")
+                       "-nodaemon")
+                 #:environment-variables
+                 (list (string-append "SLIM_CFGFILE=" #$slim.cfg)
+                       #$@(if theme
+                              (list #~(string-append "SLIM_THEMESDIR=" #$theme))
+                              #~())))))
+           (stop #~(make-kill-destructor))
+           (respawn? #t)))))
 
 (define slim-service-type
   (service-type (name 'slim)
@@ -754,14 +774,38 @@ the GNOME desktop environment.")
          (shell (file-append shadow "/sbin/nologin")))))
 
 (define dbus-daemon-wrapper
-  (program-file "gdm-dbus-wrapper"
-                #~(begin
-                    (setenv "XDG_CONFIG_DIRS"
-                            "/run/current-system/profile/etc/xdg")
-                    (setenv "XDG_DATA_DIRS"
-                            "/run/current-system/profile/share")
-                    (apply execl (string-append #$dbus "/bin/dbus-daemon")
-                           (program-arguments)))))
+  (program-file
+   "gdm-dbus-wrapper"
+   #~(begin
+       (use-modules (srfi srfi-26))
+
+       (define system-profile
+         "/run/current-system/profile")
+
+       (define user-profile
+         (and=> (getpw (getuid))
+                (lambda (pw)
+                  (string-append (passwd:dir pw) "/.guix-profile"))))
+
+       ;; If we are able to find the user's profile, we can add it to
+       ;; the search paths set below.  We need to do this so that D-Bus
+       ;; can start services installed by the user.  This allows
+       ;; applications that require session D-Bus services (e.g,
+       ;; 'evolution') to work even if those services are only available
+       ;; in the user's profile.  See <https://bugs.gnu.org/35267>.
+       (define profiles
+         (if user-profile
+             (list user-profile system-profile)
+             (list system-profile)))
+
+       (setenv "XDG_CONFIG_DIRS"
+               (string-join (map (cut string-append <> "/etc/xdg") profiles)
+                            ":"))
+       (setenv "XDG_DATA_DIRS"
+               (string-join (map (cut string-append <> "/share") profiles)
+                            ":"))
+       (apply execl (string-append #$dbus "/bin/dbus-daemon")
+              (program-arguments)))))
 
 (define-record-type* <gdm-configuration>
   gdm-configuration make-gdm-configuration
@@ -811,7 +855,8 @@ the GNOME desktop environment.")
   "Return a PAM service for @command{gdm}."
   (list
    (pam-service
-    (inherit (unix-pam-service "gdm-autologin"))
+    (inherit (unix-pam-service "gdm-autologin"
+                               #:login-uid? #t))
     (auth (list (pam-entry
                  (control "[success=ok default=1]")
                  (module (file-append (gdm-configuration-gdm config)
@@ -825,6 +870,7 @@ the GNOME desktop environment.")
                  (control "required")
                  (module "pam_permit.so")))))
    (unix-pam-service "gdm-password"
+                     #:login-uid? #t
                      #:allow-empty-passwords?
                      (gdm-configuration-allow-empty-passwords? config))))
 
diff --git a/gnu/system.scm b/gnu/system.scm
index 0489b9720d..01be1243fe 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -72,6 +72,7 @@
             operating-system-bootloader
             operating-system-services
             operating-system-essential-services
+            operating-system-default-essential-services
             operating-system-user-services
             operating-system-packages
             operating-system-host-name
@@ -108,6 +109,7 @@
             operating-system-boot-script
 
             system-linux-image-file-name
+            operating-system-with-gc-roots
 
             boot-parameters
             boot-parameters?
@@ -213,7 +215,8 @@
 
   (essential-services operating-system-essential-services ; list of services
                       (thunked)
-                      (default (essential-services this-operating-system)))
+                      (default (operating-system-default-essential-services
+                                this-operating-system)))
   (services operating-system-user-services        ; list of services
             (default %base-services))
 
@@ -463,7 +466,7 @@ value of the SYSTEM-SERVICE-TYPE service."
                 ("initrd" ,initrd)
                 ("locale" ,locale))))))   ;used by libc
 
-(define* (essential-services os)
+(define (operating-system-default-essential-services os)
   "Return the list of essential services for OS.  These are special services
 that implement part of what's declared in OS are responsible for low-level
 bookkeeping."
@@ -517,6 +520,17 @@ bookkeeping."
    (append (operating-system-user-services os)
            (operating-system-essential-services os))))
 
+(define (operating-system-with-gc-roots os roots)
+  "Return a variant of OS where ROOTS are registered as GC roots."
+  (operating-system
+    (inherit os)
+
+    ;; We use this procedure for the installation OS, which already defines GC
+    ;; roots.  Add ROOTS to those.
+    (services (cons (simple-service 'extra-root
+                                    gc-root-service-type roots)
+                    (operating-system-user-services os)))))
+
 
 ;;;
 ;;; /etc.
diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl
index a140082c0b..7d984155bc 100644
--- a/gnu/system/examples/vm-image.tmpl
+++ b/gnu/system/examples/vm-image.tmpl
@@ -4,9 +4,10 @@
 ;;   guix system reconfigure /etc/config.scm
 ;;
 
-(use-modules (gnu) (srfi srfi-1))
+(use-modules (gnu) (guix) (srfi srfi-1))
 (use-service-modules desktop networking ssh xorg)
-(use-package-modules bootloaders certs fonts nvi wget xorg)
+(use-package-modules bootloaders certs fonts nvi
+                     package-management wget xorg)
 
 (define vm-image-motd (plain-file "motd" "
 \x1b[1;37mThis is the GNU system.  Welcome!\x1b[0m
@@ -34,6 +35,9 @@ accounts.\x1b[0m
   (locale "en_US.utf8")
   (keyboard-layout (keyboard-layout "us" "altgr-intl"))
 
+  ;; Label for the GRUB boot menu.
+  (label (string-append "GNU Guix " (package-version guix)))
+
   (firmware '())
 
   ;; Below we assume /dev/vda is the VM's hard disk.
@@ -88,14 +92,18 @@ root ALL=(ALL) ALL
                  ;; Use the DHCP client service rather than NetworkManager.
                  (service dhcp-client-service-type))
 
-           ;; Remove GDM, NetworkManager, and wpa-supplicant, which don't make
-           ;; sense in a VM.
+           ;; Remove GDM, ModemManager, NetworkManager, and wpa-supplicant,
+           ;; which don't make sense in a VM.
            (remove (lambda (service)
                      (let ((type (service-kind service)))
-                       (memq type (list gdm-service-type
-                                        wpa-supplicant-service-type
-                                        cups-pk-helper-service-type
-                                        network-manager-service-type))))
+                       (or (memq type
+                                 (list gdm-service-type
+                                       wpa-supplicant-service-type
+                                       cups-pk-helper-service-type
+                                       network-manager-service-type
+                                       modem-manager-service-type))
+                           (eq? 'network-manager-applet
+                                (service-type-name type)))))
                    (modify-services %desktop-services
                      (login-service-type config =>
                                          (login-configuration
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 45c6051732..453b0bdd6d 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -85,7 +85,8 @@
   '(("de" . "Systeminstallation")
     ("en" . "System Installation")
     ("es" . "Instalación del sistema")
-    ("fr" . "Installation du système")))
+    ("fr" . "Installation du système")
+    ("ru" . "Установка системы")))
 
 (define (log-to-info tty user)
   "Return a script that spawns the Info reader on the right section of the
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index 149c3d08a3..16eee7a3cd 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,7 +36,7 @@
             containerized-operating-system
             container-script))
 
-(define (container-essential-services os)
+(define* (container-essential-services os #:key shared-network?)
   "Return a list of essential services corresponding to OS, a
 non-containerized OS.  This procedure essentially strips essential services
 from OS that are needed on the bare metal and not in a container."
@@ -45,18 +46,32 @@ from OS that are needed on the bare metal and not in a container."
                     (list (service-kind %linux-bare-metal-service)
                           firmware-service-type
                           system-service-type)))
-            (operating-system-essential-services os)))
+            (operating-system-default-essential-services os)))
 
   (cons (service system-service-type
                  (let ((locale (operating-system-locale-directory os)))
                    (with-monad %store-monad
                      (return `(("locale" ,locale))))))
-        base))
+        ;; If network is to be shared with the host, remove network
+        ;; configuration files from etc-service.
+        (if shared-network?
+            (modify-services base
+              (etc-service-type
+               files => (remove
+                         (match-lambda
+                           ((filename _)
+                            (member filename
+                                    (map basename %network-configuration-files))))
+                         files)))
+            base)))
 
-(define (containerized-operating-system os mappings)
+(define* (containerized-operating-system os mappings
+                                         #:key
+                                         shared-network?
+                                         (extra-file-systems '()))
   "Return an operating system based on OS for use in a Linux container
 environment.  MAPPINGS is a list of <file-system-mapping> to realize in the
-containerized OS."
+containerized OS.  EXTRA-FILE-SYSTEMS is a list of file systems to add to OS."
   (define user-file-systems
     (remove (lambda (fs)
               (let ((target (file-system-mount-point fs))
@@ -65,8 +80,8 @@ containerized OS."
                     (string=? target "/")
                     (and (string? source)
                          (string-prefix? "/dev/" source))
-                    (string-prefix? "/dev" target)
-                    (string-prefix? "/sys" target))))
+                    (string-prefix? "/dev/" target)
+                    (string-prefix? "/sys/" target))))
             (operating-system-file-systems os)))
 
   (define (mapping->fs fs)
@@ -76,28 +91,63 @@ containerized OS."
   (define useless-services
     ;; Services that make no sense in a container.  Those that attempt to
     ;; access /dev/tty[0-9] in particular cannot work in a container.
-    (list console-font-service-type
-          mingetty-service-type
-          agetty-service-type))
+    (append (list console-font-service-type
+                  mingetty-service-type
+                  agetty-service-type)
+            ;; Remove nscd service if network is shared with the host.
+            (if shared-network?
+                (list nscd-service-type)
+                (list))))
 
   (operating-system
     (inherit os)
     (swap-devices '()) ; disable swap
-    (essential-services (container-essential-services os))
+    (essential-services (container-essential-services
+                         this-operating-system
+                         #:shared-network? shared-network?))
     (services (remove (lambda (service)
                         (memq (service-kind service)
                               useless-services))
                       (operating-system-user-services os)))
-    (file-systems (append (map mapping->fs (cons %store-mapping mappings))
-                          %container-file-systems
-                          user-file-systems))))
+    (file-systems (append (map mapping->fs mappings)
+                          extra-file-systems
+                          user-file-systems
 
-(define* (container-script os #:key (mappings '()))
+                          ;; Provide a dummy root file system so we can create
+                          ;; a 'boot-parameters' file.
+                          (list (file-system
+                                  (mount-point "/")
+                                  (device "nothing")
+                                  (type "dummy")))))))
+
+(define* (container-script os #:key (mappings '()) shared-network?)
   "Return a derivation of a script that runs OS as a Linux container.
 MAPPINGS is a list of <file-system> objects that specify the files/directories
 that will be shared with the host system."
-  (let* ((os           (containerized-operating-system os mappings))
-         (file-systems (filter file-system-needed-for-boot?
+  (define network-mappings
+    ;; Files to map if network is to be shared with the host
+    (append %network-file-mappings
+            (let ((nscd-run-directory "/var/run/nscd"))
+              (if (file-exists? nscd-run-directory)
+                  (list (file-system-mapping
+                         (source nscd-run-directory)
+                         (target nscd-run-directory)))
+                  '()))))
+
+  (define (mountable-file-system? file-system)
+    ;; Return #t if FILE-SYSTEM should be mounted in the container.
+    (and (not (string=? "/" (file-system-mount-point file-system)))
+         (file-system-needed-for-boot? file-system)))
+
+  (let* ((os           (containerized-operating-system
+                        os
+                        (cons %store-mapping
+                              (if shared-network?
+                                  (append network-mappings mappings)
+                                  mappings))
+                        #:shared-network? shared-network?
+                        #:extra-file-systems %container-file-systems))
+         (file-systems (filter mountable-file-system?
                                (operating-system-file-systems os)))
          (specs        (map file-system->spec file-systems)))
 
@@ -121,6 +171,9 @@ that will be shared with the host system."
               ;; users and groups, which is sufficient for most cases.
               ;;
               ;; See: http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html#--private-users=
-              #:host-uids 65536))))
+              #:host-uids 65536
+              #:namespaces (if #$shared-network?
+                               (delq 'net %namespaces)
+                               %namespaces)))))
 
     (gexp->script "run-container" script)))
diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm
index 75417f6698..533a45e149 100644
--- a/gnu/system/locale.scm
+++ b/gnu/system/locale.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -20,6 +20,7 @@
 (define-module (gnu system locale)
   #:use-module (guix gexp)
   #:use-module (guix store)
+  #:use-module (guix modules)
   #:use-module (guix records)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -37,7 +38,9 @@
             locale-directory
 
             %default-locale-libcs
-            %default-locale-definitions))
+            %default-locale-definitions
+
+            glibc-supported-locales))
 
 ;;; Commentary:
 ;;;
@@ -202,4 +205,69 @@ data format changes between libc versions."
                         "vi_VN"
                         "zh_CN"))))
 
+
+;;;
+;;; Locales supported by glibc.
+;;;
+
+(define* (glibc-supported-locales #:optional (glibc glibc))
+  "Return a file-like object that contains a list of locale name/encoding
+pairs such as (\"oc_FR.UTF-8\" . \"UTF-8\").  Each pair corresponds to a
+locale supported by GLIBC."
+  (define build
+    (with-imported-modules (source-module-closure
+                            '((guix build gnu-build-system)))
+      #~(begin
+          (use-modules (guix build gnu-build-system)
+                       (srfi srfi-1)
+                       (ice-9 rdelim)
+                       (ice-9 match)
+                       (ice-9 regex)
+                       (ice-9 pretty-print))
+
+          (define unpack
+            (assq-ref %standard-phases 'unpack))
+
+          (define locale-rx
+            ;; Regexp matching a locale line in 'localedata/SUPPORTED'.
+            (make-regexp
+             "^[[:space:]]*([[:graph:]]+)/([[:graph:]]+)[[:space:]]*\\\\$"))
+
+          (define (read-supported-locales port)
+            ;; Read the 'localedata/SUPPORTED' file from PORT.  That file is
+            ;; actually a makefile snippet, with one locale per line, and a
+            ;; header that can be discarded.
+            (let loop ((locales '()))
+              (define line
+                (read-line port))
+
+              (cond ((eof-object? line)
+                     (reverse locales))
+                    ((string-prefix? "#" (string-trim line)) ;comment
+                     (loop locales))
+                    ((string-contains line "=")  ;makefile variable assignment
+                     (loop locales))
+                    (else
+                     (match (regexp-exec locale-rx line)
+                       (#f
+                        (loop locales))
+                       (m
+                        (loop (alist-cons (match:substring m 1)
+                                          (match:substring m 2)
+                                          locales))))))))
+
+          (setenv "PATH"
+                  (string-append #+(file-append tar "/bin") ":"
+                                 #+(file-append xz "/bin") ":"
+                                 #+(file-append gzip "/bin")))
+          (unpack #:source #+(package-source glibc))
+
+          (let ((locales (call-with-input-file "localedata/SUPPORTED"
+                           read-supported-locales)))
+            (call-with-output-file #$output
+              (lambda (port)
+                (pretty-print locales port)))))))
+
+  (computed-file "glibc-supported-locales.scm" build))
+
 ;;; locale.scm ends here
diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm
index 13f76a50ed..85f75517b1 100644
--- a/gnu/system/pam.scm
+++ b/gnu/system/pam.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -207,40 +207,47 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
         (env  (pam-entry ; to honor /etc/environment.
                (control "required")
                (module "pam_env.so"))))
-    (lambda* (name #:key allow-empty-passwords? (allow-root? #f) motd)
+    (lambda* (name #:key allow-empty-passwords? (allow-root? #f) motd
+                   login-uid?)
       "Return a standard Unix-style PAM service for NAME.  When
 ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords.  When ALLOW-ROOT? is
 true, allow root to run the command without authentication.  When MOTD is
-true, it should be a file-like object used as the message-of-the-day."
+true, it should be a file-like object used as the message-of-the-day.
+When LOGIN-UID? is true, require the 'pam_loginuid' module; that module sets
+/proc/self/loginuid, which the libc 'getlogin' function relies on."
       ;; See <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-example.html>.
-      (let ((name* name))
-        (pam-service
-         (name name*)
-         (account (list unix))
-         (auth (append (if allow-root?
-                           (list (pam-entry
-                                  (control "sufficient")
-                                  (module "pam_rootok.so")))
-                           '())
-                       (list (if allow-empty-passwords?
-                                 (pam-entry
-                                  (control "required")
-                                  (module "pam_unix.so")
-                                  (arguments '("nullok")))
-                                 unix))))
-         (password (list (pam-entry
-                          (control "required")
-                          (module "pam_unix.so")
-                          ;; Store SHA-512 encrypted passwords in /etc/shadow.
-                          (arguments '("sha512" "shadow")))))
-         (session (if motd
-                      (list env unix
-                            (pam-entry
-                             (control "optional")
-                             (module "pam_motd.so")
-                             (arguments
-                              (list #~(string-append "motd=" #$motd)))))
-                      (list env unix))))))))
+      (pam-service
+       (name name)
+       (account (list unix))
+       (auth (append (if allow-root?
+                         (list (pam-entry
+                                (control "sufficient")
+                                (module "pam_rootok.so")))
+                         '())
+                     (list (if allow-empty-passwords?
+                               (pam-entry
+                                (control "required")
+                                (module "pam_unix.so")
+                                (arguments '("nullok")))
+                               unix))))
+       (password (list (pam-entry
+                        (control "required")
+                        (module "pam_unix.so")
+                        ;; Store SHA-512 encrypted passwords in /etc/shadow.
+                        (arguments '("sha512" "shadow")))))
+       (session `(,@(if motd
+                        (list (pam-entry
+                               (control "optional")
+                               (module "pam_motd.so")
+                               (arguments
+                                (list #~(string-append "motd=" #$motd)))))
+                        '())
+                  ,@(if login-uid?
+                        (list (pam-entry       ;to fill in /proc/self/loginuid
+                               (control "required")
+                               (module "pam_loginuid.so")))
+                        '())
+                  ,env ,unix))))))
 
 (define (rootok-pam-service command)
   "Return a PAM service for COMMAND such that 'root' does not need to
diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm
index f13960c3e9..e7a3a0439d 100644
--- a/gnu/system/uuid.scm
+++ b/gnu/system/uuid.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -175,7 +175,7 @@ ISO9660 UUID representation."
   "Convert FAT32/FAT16 UUID, a 4-byte bytevector, to its string representation."
   (let ((high  (bytevector-uint-ref uuid 0 %fat-endianness 2))
         (low (bytevector-uint-ref uuid 2 %fat-endianness 2)))
-    (format #f "~:@(~x-~x~)" low high)))
+    (format #f "~:@(~4,'0x-~4,'0x~)" low high)))
 
 (define %fat-uuid-rx
   (make-regexp "^([[:xdigit:]]{4})-([[:xdigit:]]{4})$"))
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 92b03b01ad..0d4ed63eec 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -64,6 +64,7 @@
   #:use-module (gnu system file-systems)
   #:use-module (gnu system)
   #:use-module (gnu services)
+  #:use-module (gnu services base)
   #:use-module (gnu system uuid)
 
   #:use-module (srfi srfi-1)
@@ -249,6 +250,12 @@ made available under the /xchg CIFS share."
                       #:guile-for-build guile-for-build
                       #:references-graphs references-graphs)))
 
+(define (has-guix-service-type? os)
+  "Return true if OS contains a service of the type GUIX-SERVICE-TYPE."
+  (not (not (find (lambda (service)
+                     (eq? (service-kind service) guix-service-type))
+                   (operating-system-services os)))))
+
 (define* (iso9660-image #:key
                         (name "iso9660-image")
                         file-system-label
@@ -258,8 +265,9 @@ made available under the /xchg CIFS share."
                         os
                         bootcfg-drv
                         bootloader
-                        register-closures?
-                        (inputs '()))
+                        (register-closures? (has-guix-service-type? os))
+                        (inputs '())
+                        (grub-mkrescue-environment '()))
   "Return a bootable, stand-alone iso9660 image.
 
 INPUTS is a list of inputs (as for packages)."
@@ -283,6 +291,11 @@ INPUTS is a list of inputs (as for packages)."
 
            (sql-schema #$schema)
 
+           ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
+           (setenv "GUIX_LOCPATH"
+                   #+(file-append glibc-utf8-locales "/lib/locale"))
+           (setlocale LC_ALL "en_US.utf8")
+
            (let ((inputs
                   '#$(append (list qemu parted e2fsprogs dosfstools xorriso)
                              (map canonical-package
@@ -301,7 +314,9 @@ INPUTS is a list of inputs (as for packages)."
                           inputs)))
 
              (set-path-environment-variable "PATH" '("bin" "sbin") inputs)
-             (make-iso9660-image #$(bootloader-package bootloader)
+             (make-iso9660-image #$xorriso
+                                 '#$grub-mkrescue-environment
+                                 #$(bootloader-package bootloader)
                                  #$bootcfg-drv
                                  #$os
                                  "/xchg/guixsd.iso"
@@ -338,7 +353,7 @@ INPUTS is a list of inputs (as for packages)."
                      os
                      bootcfg-drv
                      bootloader
-                     (register-closures? #t)
+                     (register-closures? (has-guix-service-type? os))
                      (inputs '())
                      copy-inputs?)
   "Return a bootable, stand-alone QEMU image of type DISK-IMAGE-FORMAT (e.g.,
@@ -354,7 +369,9 @@ file (GRUB-CONFIGURATION must be the name of a file in the VM.)
 INPUTS is a list of inputs (as for packages).  When COPY-INPUTS? is true, copy
 all of INPUTS into the image being built.  When REGISTER-CLOSURES? is true,
 register INPUTS in the store database of the image so that Guix can be used in
-the image."
+the image.  By default, REGISTER-CLOSURES? is set to true only if a service of
+type GUIX-SERVICE-TYPE is present in the services definition of the operating
+system."
   (define schema
     (and register-closures?
          (local-file (search-path %load-path
@@ -379,6 +396,11 @@ the image."
 
            (sql-schema #$schema)
 
+           ;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
+           (setenv "GUIX_LOCPATH"
+                   #+(file-append glibc-utf8-locales "/lib/locale"))
+           (setlocale LC_ALL "en_US.utf8")
+
            (let ((inputs
                   '#$(append (list qemu parted e2fsprogs dosfstools)
                              (map canonical-package
@@ -463,21 +485,32 @@ the image."
 
 (define* (system-docker-image os
                               #:key
-                              (name "guixsd-docker-image")
-                              register-closures?)
+                              (name "guix-docker-image")
+                              (register-closures? (has-guix-service-type? os)))
   "Build a docker image.  OS is the desired <operating-system>.  NAME is the
-base name to use for the output file.  When REGISTER-CLOSURES? is not #f,
-register the closure of OS with Guix in the resulting Docker image.  This only
-makes sense when you want to build a Guix System Docker image that has Guix
-installed inside of it.  If you don't need Guix (e.g., your Docker
-image just contains a web server that is started by the Shepherd), then you
-should set REGISTER-CLOSURES? to #f."
+base name to use for the output file.  When REGISTER-CLOSURES? is true,
+register the closure of OS with Guix in the resulting Docker image.  By
+default, REGISTER-CLOSURES? is set to true only if a service of type
+GUIX-SERVICE-TYPE is present in the services definition of the operating
+system."
   (define schema
     (and register-closures?
          (local-file (search-path %load-path
                                   "guix/store/schema.sql"))))
 
-  (let ((os    (containerized-operating-system os '()))
+  (define boot-program
+    ;; Program that runs the boot script of OS, which in turn starts shepherd.
+    (program-file "boot-program"
+                  #~(let ((system (cadr (command-line))))
+                      (setenv "GUIX_NEW_SYSTEM" system)
+                      (execl #$(file-append guile-2.2 "/bin/guile")
+                             "guile" "--no-auto-compile"
+                             (string-append system "/boot")))))
+
+
+  (let ((os    (operating-system-with-gc-roots
+                (containerized-operating-system os '())
+                (list boot-program)))
         (name  (string-append name ".tar.gz"))
         (graph "system-graph"))
     (define build
@@ -528,9 +561,11 @@ should set REGISTER-CLOSURES? to #f."
                                  (string-append "/xchg/" #$graph)
                                read-reference-graph)))
                  #$os
+                 #:entry-point '(#$boot-program #$os)
                  #:compressor '(#+(file-append gzip "/bin/gzip") "-9n")
                  #:creation-time (make-time time-utc 0 1)
                  #:transformations `((,root-directory -> ""))))))))
+
     (expression->derivation-in-linux-vm
      name build
      #:make-disk-image? #f
@@ -668,12 +703,13 @@ to USB sticks meant to be read-only."
                        #:file-system-label root-label
                        #:file-system-uuid uuid
                        #:os os
-                       #:register-closures? #t
                        #:bootcfg-drv bootcfg
                        #:bootloader (bootloader-configuration-bootloader
                                      (operating-system-bootloader os))
                        #:inputs `(("system" ,os)
-                                  ("bootcfg" ,bootcfg)))
+                                  ("bootcfg" ,bootcfg))
+                       #:grub-mkrescue-environment
+                       '(("MKRESCUE_SED_MODE" . "mbr_hfs")))
         (qemu-image #:name name
                     #:os os
                     #:bootcfg-drv bootcfg
@@ -685,7 +721,6 @@ to USB sticks meant to be read-only."
                     #:file-system-label root-label
                     #:file-system-uuid uuid
                     #:copy-inputs? #t
-                    #:register-closures? #t
                     #:inputs `(("system" ,os)
                                ("bootcfg" ,bootcfg))))))
 
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index f9390ee8e4..247f237622 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -307,6 +307,20 @@ info --version")
               (wait-for-file "/root/logged-in" marionette
                              #:read 'get-string-all)))
 
+          (test-equal "getlogin on tty1"
+            "\"root\""
+            (begin
+              ;; Assume we logged in in the previous test and type.
+              (marionette-type "guile -c '(write (getlogin))' > /root/login-id.tmp\n"
+                               marionette)
+              (marionette-type "mv /root/login-id{.tmp,}\n"
+                               marionette)
+
+              ;; It can take a while before the shell commands are executed.
+              (marionette-eval '(use-modules (rnrs io ports)) marionette)
+              (wait-for-file "/root/login-id" marionette
+                             #:read 'get-string-all)))
+
           ;; There should be one utmpx entry for the user logged in on tty1.
           (test-equal "utmpx entry"
             '(("root" "tty1" #f))
@@ -368,6 +382,9 @@ info --version")
                                                     result)
                              marionette))
 
+          ;; FIXME: The 'invalidate' action can't reliably obtain the exit
+          ;; code of 'nscd' so skip this test.
+          (test-skip 1)
           (test-equal "nscd invalidate action, wrong table"
             '(#f)                                 ;one value, #f
             (marionette-eval '(with-shepherd-action 'nscd ('invalidate "xyz")
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index 25e172efae..3cd3a27884 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (gnu services desktop)
   #:use-module (gnu packages bootstrap) ; %bootstrap-guile
   #:use-module (gnu packages docker)
+  #:use-module (gnu packages guile)
   #:use-module (guix gexp)
   #:use-module (guix grafts)
   #:use-module (guix monads)
@@ -38,7 +40,8 @@
   #:use-module (guix tests)
   #:use-module (guix build-system trivial)
   #:use-module ((guix licenses) #:prefix license:)
-  #:export (%test-docker))
+  #:export (%test-docker
+            %test-docker-system))
 
 (define %docker-os
   (simple-operating-system
@@ -166,3 +169,116 @@ standard output device and then enters a new line.")
    (name "docker")
    (description "Test Docker container of Guix.")
    (value (build-tarball&run-docker-test))))
+
+
+(define (run-docker-system-test tarball)
+  "Load DOCKER-TARBALL as Docker image and run it in a Docker container,
+inside %DOCKER-OS."
+  (define os
+    (marionette-operating-system
+     %docker-os
+     #:imported-modules '((gnu services herd)
+                          (guix combinators))))
+
+  (define vm
+    (virtual-machine
+     (operating-system os)
+     ;; FIXME: Because we're using the volatile-root setup where the root file
+     ;; system is a tmpfs overlaid over a small root file system, 'docker
+     ;; load' must be able to store the whole image into memory, hence the
+     ;; huge memory requirements.  We should avoid the volatile-root setup
+     ;; instead.
+     (memory-size 3000)
+     (port-forwardings '())))
+
+  (define test
+    (with-imported-modules '((gnu build marionette)
+                             (guix build utils))
+      #~(begin
+          (use-modules (srfi srfi-11) (srfi srfi-64)
+                       (gnu build marionette)
+                       (guix build utils))
+
+          (define marionette
+            (make-marionette (list #$vm)))
+
+          (mkdir #$output)
+          (chdir #$output)
+
+          (test-begin "docker")
+
+          (test-assert "service running"
+            (marionette-eval
+             '(begin
+                (use-modules (gnu services herd))
+                (match (start-service 'dockerd)
+                  (#f #f)
+                  (('service response-parts ...)
+                   (match (assq-ref response-parts 'running)
+                     ((pid) (number? pid))))))
+             marionette))
+
+          (test-assert "load system image and run it"
+            (marionette-eval
+             `(begin
+                (define (slurp command . args)
+                  ;; Return the output from COMMAND.
+                  (let* ((port (apply open-pipe* OPEN_READ command args))
+                         (output (read-line port))
+                         (status (close-pipe port)))
+                    output))
+
+                (define (docker-cli command . args)
+                  ;; Run the given Docker COMMAND.
+                  (apply invoke #$(file-append docker-cli "/bin/docker")
+                         command args))
+
+                (define (wait-for-container-file container file)
+                  ;; Wait for FILE to show up in CONTAINER.
+                  (docker-cli "exec" container
+                              #$(file-append guile-2.2 "/bin/guile")
+                              "-c"
+                              (object->string
+                               `(let loop ((n 15))
+                                  (when (zero? n)
+                                    (error "file didn't show up" ,file))
+                                  (unless (file-exists? ,file)
+                                    (sleep 1)
+                                    (loop (- n 1)))))))
+
+                (let* ((line (slurp #$(file-append docker-cli "/bin/docker")
+                                    "load" "-i" #$tarball))
+                       (repository&tag (string-drop line
+                                                    (string-length
+                                                     "Loaded image: ")))
+                       (container (slurp
+                                   #$(file-append docker-cli "/bin/docker")
+                                   "create" repository&tag)))
+                  (docker-cli "start" container)
+
+                  ;; Wait for shepherd to be ready.
+                  (wait-for-container-file container
+                                           "/var/run/shepherd/socket")
+
+                  (docker-cli "exec" container
+                              "/run/current-system/profile/bin/herd"
+                              "status")
+                  (slurp #$(file-append docker-cli "/bin/docker")
+                         "exec" container
+                         "/run/current-system/profile/bin/herd"
+                         "status" "guix-daemon")))
+             marionette))
+
+          (test-end)
+          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+  (gexp->derivation "docker-system-test" test))
+
+(define %test-docker-system
+  (system-test
+   (name "docker-system")
+   (description "Run a system image as produced by @command{guix system
+docker-image} inside Docker.")
+   (value (with-monad %store-monad
+            (>>= (system-docker-image (simple-operating-system))
+                 run-docker-system-test)))))
diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm
index 430a102378..7b5ee18505 100644
--- a/gnu/tests/install.scm
+++ b/gnu/tests/install.scm
@@ -123,17 +123,6 @@
                                     (inherit config)
                                     (guix (current-guix))))))))
 
-(define (operating-system-with-gc-roots os roots)
-  "Return a variant of OS where ROOTS are registered as GC roots."
-  (operating-system
-    (inherit os)
-
-    ;; We use this procedure for the installation OS, which already defines GC
-    ;; roots.  Add ROOTS to those.
-    (services (cons (simple-service 'extra-root
-                                    gc-root-service-type roots)
-                    (operating-system-user-services os)))))
-
 
 (define MiB (expt 2 20))
 
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index e5cd439cdf..a74227ea4a 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
@@ -31,7 +31,8 @@
   #:export (%test-openssh
             %test-dropbear))
 
-(define* (run-ssh-test name ssh-service pid-file #:key (sftp? #f))
+(define* (run-ssh-test name ssh-service pid-file
+                       #:key (sftp? #f) (test-getlogin? #t))
   "Run a test of an OS running SSH-SERVICE, which writes its PID to PID-FILE.
 SSH-SERVICE must be configured to listen on port 22 and to allow for root and
 empty-password logins.
@@ -54,10 +55,12 @@ When SFTP? is true, run an SFTP server test."
             (use-modules (gnu build marionette)
                          (srfi srfi-26)
                          (srfi srfi-64)
+                         (ice-9 textual-ports)
                          (ice-9 match)
                          (ssh session)
                          (ssh auth)
                          (ssh channel)
+                         (ssh popen)
                          (ssh sftp))
 
             (define marionette
@@ -147,6 +150,20 @@ root with an empty password."
                    (and (zero? (channel-get-exit-status channel))
                         (wait-for-file "/root/witness" marionette))))))
 
+            ;; Check whether the 'getlogin' procedure returns the right thing.
+            (unless #$test-getlogin?
+              (test-skip 1))
+            (test-equal "getlogin"
+              '(0 "root")
+              (call-with-connected-session/auth
+               (lambda (session)
+                 (let* ((pipe   (open-remote-input-pipe
+                                 session
+                                 "guile -c '(display (getlogin))'"))
+                        (output (get-string-all pipe))
+                        (status (channel-get-exit-status pipe)))
+                   (list status output)))))
+
             ;; Connect to the guest over SFTP.  Make sure we can write and
             ;; read a file there.
             (unless #$sftp?
@@ -217,4 +234,9 @@ root with an empty password."
                                  (dropbear-configuration
                                   (root-login? #t)
                                   (allow-empty-passwords? #t)))
-                        "/var/run/dropbear.pid"))))
+                        "/var/run/dropbear.pid"
+
+                        ;; XXX: Our Dropbear is not built with PAM support.
+                        ;; Even when it is, it seems to ignore the PAM
+                        ;; 'session' requirements.
+                        #:test-getlogin? #f))))